Author: mla...@jb... Date: 2006-01-18 07:48:28 -0500 (Wed, 18 Jan 2006) New Revision: 2132 Added: trunk/labs/jbosswebnp/src/windows/generators/generators.sln trunk/labs/jbosswebnp/src/windows/generators/j2m/ trunk/labs/jbosswebnp/src/windows/generators/j2m/Properties/ trunk/labs/jbosswebnp/src/windows/generators/j2m/Properties/AssemblyInfo.cs trunk/labs/jbosswebnp/src/windows/generators/j2m/jboss.ico trunk/labs/jbosswebnp/src/windows/generators/j2n/ trunk/labs/jbosswebnp/src/windows/generators/j2n/Properties/ trunk/labs/jbosswebnp/src/windows/generators/j2n/Properties/AssemblyInfo.cs trunk/labs/jbosswebnp/src/windows/generators/j2n/jboss.ico trunk/labs/jbosswebnp/src/windows/generators/m2m/ trunk/labs/jbosswebnp/src/windows/generators/m2m/Properties/ trunk/labs/jbosswebnp/src/windows/generators/m2m/Properties/AssemblyInfo.cs trunk/labs/jbosswebnp/src/windows/generators/m2m/jboss.ico trunk/labs/jbosswebnp/src/windows/generators/m2n/ trunk/labs/jbosswebnp/src/windows/generators/m2n/Properties/ trunk/labs/jbosswebnp/src/windows/generators/m2n/Properties/AssemblyInfo.cs trunk/labs/jbosswebnp/src/windows/generators/m2n/jboss.ico trunk/labs/jbosswebnp/src/windows/native/JMI/ trunk/labs/jbosswebnp/src/windows/native/JMI/README trunk/labs/jbosswebnp/src/windows/native/JNI/ trunk/labs/jbosswebnp/src/windows/native/JNI/README trunk/labs/jbosswebnp/src/windows/native/JNI/core/ trunk/labs/jbosswebnp/src/windows/native/JNI/core/Makefile trunk/labs/jbosswebnp/src/windows/native/JNI/core/README trunk/labs/jbosswebnp/src/windows/native/JNI/core/core.rc trunk/labs/jbosswebnp/src/windows/native/JNI/core/include/ trunk/labs/jbosswebnp/src/windows/native/JNI/core/include/jbcorapi.h trunk/labs/jbosswebnp/src/windows/native/JNI/core/private.h trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/Makefile trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/README trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/include/ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/include/private.h trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/mscorlib.rc trunk/labs/jbosswebnp/src/windows/native/JNI/rt/ trunk/labs/jbosswebnp/src/windows/native/JNI/rt/Makefile trunk/labs/jbosswebnp/src/windows/native/JNI/rt/README trunk/labs/jbosswebnp/src/windows/native/JNI/rt/include/ trunk/labs/jbosswebnp/src/windows/native/JNI/rt/include/private.h trunk/labs/jbosswebnp/src/windows/native/JNI/rt/rt.rc trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/ trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/Makefile trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/README trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/include/ trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/include/private.h trunk/labs/jbosswebnp/src/windows/native/JNI/servlet/servlet.rc trunk/labs/jbosswebnp/src/windows/native/JPI/ trunk/labs/jbosswebnp/src/windows/native/JPI/README trunk/labs/jbosswebnp/src/windows/native/JPI/core/ trunk/labs/jbosswebnp/src/windows/native/JPI/core/Makefile trunk/labs/jbosswebnp/src/windows/native/JPI/core/core.rc trunk/labs/jbosswebnp/src/windows/native/JPI/core/include/ trunk/labs/jbosswebnp/src/windows/native/JPI/core/include/private.h trunk/labs/jbosswebnp/src/windows/native/JPI/mscorlib/ trunk/labs/jbosswebnp/src/windows/native/JPI/mscorlib/Makefile trunk/labs/jbosswebnp/src/windows/native/JPI/mscorlib/include/ trunk/labs/jbosswebnp/src/windows/native/JPI/mscorlib/include/private.h trunk/labs/jbosswebnp/src/windows/native/JPI/mscorlib/mscorlib.rc Modified: trunk/labs/jbosswebnp/src/windows/native/build/baseaddr.ref Log: Added: trunk/labs/jbosswebnp/src/windows/generators/generators.sln =================================================================== --- trunk/labs/jbosswebnp/src/windows/generators/generators.sln 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/generators/generators.sln 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "J2N", "j2n\J2N.csproj", "{64B47C30-115C-4CC7-B2C0-93D46BFFDB92}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "M2J", "m2j\M2J.csproj", "{EA58D39B-D2CF-4362-B1E3-60E7F16AA8DE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "M2N", "m2n\M2N.csproj", "{8DDC4A93-B907-45BE-BDB7-840A0819DA8A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "M2M", "m2m\M2M.csproj", "{3D9FB9FE-3814-4BE2-A852-08D9A4B901FD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "J2M", "j2m\J2M.csproj", "{B7CC5ECB-8382-4A6F-9951-F088B1DB96EE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64B47C30-115C-4CC7-B2C0-93D46BFFDB92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64B47C30-115C-4CC7-B2C0-93D46BFFDB92}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64B47C30-115C-4CC7-B2C0-93D46BFFDB92}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64B47C30-115C-4CC7-B2C0-93D46BFFDB92}.Release|Any CPU.Build.0 = Release|Any CPU + {EA58D39B-D2CF-4362-B1E3-60E7F16AA8DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA58D39B-D2CF-4362-B1E3-60E7F16AA8DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA58D39B-D2CF-4362-B1E3-60E7F16AA8DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA58D39B-D2CF-4362-B1E3-60E7F16AA8DE}.Release|Any CPU.Build.0 = Release|Any CPU + {8DDC4A93-B907-45BE-BDB7-840A0819DA8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DDC4A93-B907-45BE-BDB7-840A0819DA8A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DDC4A93-B907-45BE-BDB7-840A0819DA8A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DDC4A93-B907-45BE-BDB7-840A0819DA8A}.Release|Any CPU.Build.0 = Release|Any CPU + {3D9FB9FE-3814-4BE2-A852-08D9A4B901FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D9FB9FE-3814-4BE2-A852-08D9A4B901FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D9FB9FE-3814-4BE2-A852-08D9A4B901FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D9FB9FE-3814-4BE2-A852-08D9A4B901FD}.Release|Any CPU.Build.0 = Release|Any CPU + {B7CC5ECB-8382-4A6F-9951-F088B1DB96EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B7CC5ECB-8382-4A6F-9951-F088B1DB96EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B7CC5ECB-8382-4A6F-9951-F088B1DB96EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B7CC5ECB-8382-4A6F-9951-F088B1DB96EE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: trunk/labs/jbosswebnp/src/windows/generators/j2m/Properties/AssemblyInfo.cs =================================================================== --- trunk/labs/jbosswebnp/src/windows/generators/j2m/Properties/AssemblyInfo.cs 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/generators/j2m/Properties/AssemblyInfo.cs 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Java2Managed")] +[assembly: AssemblyDescription("Java To Managed Generator")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("JBoss Inc.")] +[assembly: AssemblyProduct("Java2Managed")] +[assembly: AssemblyCopyright("Copyright © JBoss Inc. 2006")] +[assembly: AssemblyTrademark("TM JBoss Inc.")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9bfa5166-0f6e-417e-82c5-ec33d6eb514a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Added: trunk/labs/jbosswebnp/src/windows/generators/j2m/jboss.ico =================================================================== (Binary files differ) Property changes on: trunk/labs/jbosswebnp/src/windows/generators/j2m/jboss.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/labs/jbosswebnp/src/windows/generators/j2n/Properties/AssemblyInfo.cs =================================================================== --- trunk/labs/jbosswebnp/src/windows/generators/j2n/Properties/AssemblyInfo.cs 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/generators/j2n/Properties/AssemblyInfo.cs 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Java2Native")] +[assembly: AssemblyDescription("Java To Native Generator")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("JBoss Inc.")] +[assembly: AssemblyProduct("Java2Native")] +[assembly: AssemblyCopyright("Copyright © JBoss Inc. 2006")] +[assembly: AssemblyTrademark("TM JBoss Inc.")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("2d87da10-227c-48c6-bc1a-1b1d5b0c4f50")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Added: trunk/labs/jbosswebnp/src/windows/generators/j2n/jboss.ico =================================================================== (Binary files differ) Property changes on: trunk/labs/jbosswebnp/src/windows/generators/j2n/jboss.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/labs/jbosswebnp/src/windows/generators/m2m/Properties/AssemblyInfo.cs =================================================================== --- trunk/labs/jbosswebnp/src/windows/generators/m2m/Properties/AssemblyInfo.cs 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/generators/m2m/Properties/AssemblyInfo.cs 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Managed2Managed")] +[assembly: AssemblyDescription("Managed To Managed Generator")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("JBoss Inc.")] +[assembly: AssemblyProduct("Managed2Managed")] +[assembly: AssemblyCopyright("Copyright © JBoss Inc. 2006")] +[assembly: AssemblyTrademark("TM JBoss Inc.")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bc8c3f5d-9dd6-4f84-802b-a0ab11b42e2b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Added: trunk/labs/jbosswebnp/src/windows/generators/m2m/jboss.ico =================================================================== (Binary files differ) Property changes on: trunk/labs/jbosswebnp/src/windows/generators/m2m/jboss.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/labs/jbosswebnp/src/windows/generators/m2n/Properties/AssemblyInfo.cs =================================================================== --- trunk/labs/jbosswebnp/src/windows/generators/m2n/Properties/AssemblyInfo.cs 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/generators/m2n/Properties/AssemblyInfo.cs 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("M2N")] +[assembly: AssemblyDescription("Managed To Native Code Generator")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("JBoss Inc.")] +[assembly: AssemblyProduct("M2N")] +[assembly: AssemblyCopyright("Copyright © JBoss Inc. 2006")] +[assembly: AssemblyTrademark("TM JBoss Inc.")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("077fd499-d50e-4f70-b84e-5c35bf8f2158")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Added: trunk/labs/jbosswebnp/src/windows/generators/m2n/jboss.ico =================================================================== (Binary files differ) Property changes on: trunk/labs/jbosswebnp/src/windows/generators/m2n/jboss.ico ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/labs/jbosswebnp/src/windows/native/JMI/README =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JMI/README 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JMI/README 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1 @@ +JBoss Managed Implementation (JMI) classes. Added: trunk/labs/jbosswebnp/src/windows/native/JNI/README =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/README 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/README 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1 @@ +JBoss Native Interface (JNI) classes. Added: trunk/labs/jbosswebnp/src/windows/native/JNI/core/Makefile =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/core/Makefile 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/core/Makefile 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,66 @@ +# JBoss, the OpenSource J2EE webOS +# +# Distributable under LGPL license. +# See terms of license at gnu.org. +# +# ==================================================================== +# +# NMAKEmakefile JBoss .NET Proxy Core Library makefile. +# +# ==================================================================== +# + +CFLAGS = /DJBOSS_CORE_EXPORTS $(CFLAGS) /EHsc +TARGET = DLL +PROJECT = core +PPREFIX = JNI +EXTRA_LIBS = mscoree.lib +EXTRA_LFLAGS = /BASE:0x50000000,0x00020000 +!IF !DEFINED(SRCDIR) || "$(SRCDIR)" == "" +SRCDIR = . +!ENDIF + +!include <../../build/NMAKEcommon.inc> + +INCLUDES = /I $(SRCDIR)/include +PDBFLAGS = /Fd$(BUILDIR)\$(PPREFIX).$(PROJECT)-src + +OBJECTS = \ + $(BUILDIR)\Debug.obj \ + $(BUILDIR)\Init.obj \ + $(BUILDIR)\Utils.obj \ + $(BUILDIR)\jni.Object.obj \ + $(BUILDIR)\proxy.Object.obj \ + $(BUILDIR)\jni.Vm.obj + +DEPENDS = \ + $(SRCDIR)\include\*.h \ + $(SRCDIR)\*.h + + +BUILDLIB = $(BUILDIR)\$(PPREFIX).$(PROJECT).dll +BUILDPDB = $(BUILDIR)\$(PPREFIX).$(PROJECT).pdb +BUILDRES = $(BUILDIR)\$(PPREFIX).$(PROJECT).res +BUILDMAN = $(BUILDLIB).manifest + +all : $(BUILDIR) $(BUILDLIB) + +$(BUILDIR): + $(MAKETARGET) + +{$(SRCDIR)}.cpp{$(BUILDIR)}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +$(OBJECTS): $(DEPENDS) + +$(BUILDRES): $(PROJECT).rc + $(RC) $(RCFLAGS) /i "$(SRCDIR)/include" /fo $(BUILDRES) $(PROJECT).rc + +$(BUILDLIB): $(BUILDIR) $(OBJECTS) $(BUILDRES) + $(LINK) $(LFLAGS) /pdb:$(BUILDPDB) /out:$(BUILDLIB) @<< + $(OBJECTS) $(BUILDRES) $(LIBS) +<< + $(MT) -nologo -manifest $(BUILDMAN) -outputresource:$(BUILDLIB);2 + +clean: + @$(CLEANTARGET) Added: trunk/labs/jbosswebnp/src/windows/native/JNI/core/README =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/core/README 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/core/README 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1 @@ +Java Core Proxy classes. Added: trunk/labs/jbosswebnp/src/windows/native/JNI/core/core.rc =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/core/core.rc 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/core/core.rc 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,46 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#include <windows.h> +#include "../../build/resource.h" + +1000 ICON "../../build/jboss.ico" + +1 VERSIONINFO + FILEVERSION CSV_VERISON + PRODUCTVERSION CSV_VERISON + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS DLL_FILEFLAGS + FILEOS VOS_NT + FILETYPE VFT_DLL + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", STR_LICENSE "\0" + VALUE "CompanyName", STR_COMPANY "\0" + VALUE "FileDescription", "JBoss .NET Proxy Core Library\0" + VALUE "FileVersion", STR_VERISON "\0" + VALUE "InternalName", "JNI.core" + VALUE "LegalCopyright", STR_COPYRIGHT "\0" + VALUE "LegalTrademarks", STR_TRADEMARK "\0" + VALUE "OriginalFilename", "JNI.core.dll" + VALUE "ProductName", STR_PRODUCT "\0" + VALUE "ProductVersion", STR_VERISON "\0" +#if PRIVATE_BUILD + VALUE "PrivateBuild", STR_PRIVATE "\0" + VALUE "SpecialBuild", STR_SPECIAL "\0" +#endif + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END Added: trunk/labs/jbosswebnp/src/windows/native/JNI/core/include/jbcorapi.h =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/core/include/jbcorapi.h 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/core/include/jbcorapi.h 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,181 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#ifndef JBCORAPI_H +#define JBCORAPI_H + +#ifdef __cplusplus_cli +#pragma unmanaged +#endif + +#ifdef __cplusplus +#define JBEXTERN_C extern "C" +#else +#define JBEXTERN_C extern +#endif + + +#ifdef JBOSS_CORE_EXPORTS +#define JBCORE_CLASS __declspec(dllexport) +#define JBCORE_API JBEXTERN_C __declspec(dllexport) +#else +#define JBCORE_CLASS __declspec(dllimport) +#define JBCORE_API JBEXTERN_C __declspec(dllimport) +#endif + +#ifdef JBOSS_MODULE_EXPORTS +#define JBCORM_DATA(type) JBEXTERN_C type __declspec(dllexport) +#else +#define JBCORM_DATA(type) JBEXTERN_C type __declspec(dllexport) +#endif + +#define JBCORCALL __stdcall + + +#if defined(WIN32) + +#ifndef _WINDOWS_ +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#ifndef _WIN32_WINNT +/* Restrict the server to a subset of Windows 2000 header files by default + */ +#define _WIN32_WINNT 0x0500 +#endif +#endif +#include <windows.h> +#include <strsafe.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#else +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#endif + +#include <jni.h> + +// Add missing JNI stuff +struct _jfieldID {}; +typedef struct _jfieldID *jfieldID; + +struct _jmethodID {}; +typedef struct _jmethodID *jmethodID; + +// Undefine min and max C macros. +#undef min +#undef max + +typedef struct JAVA_P_ID { + jclass c; + jmethodID i; + const char *n; + const char *s; +} JAVA_P_ID; + +typedef struct JJ_MODULE { + const char *name; + void (*I)(JNIEnv *); + void (*D)(JNIEnv *); +} JJ_MODULE; + +#define JNICALLARGS JNIEnv *JENV, jobject JOBJ +#define JJ_MODULE_SYM "jniRuntimeModule" + +JBCORE_API void JBCORCALL LinkToCore(const char *, const wchar_t *); +JBCORE_API int JBCORCALL AddClassToGlobalRefCache(jclass); +JBCORE_API int JBCORCALL ProxyMutexLock(void); +JBCORE_API int JBCORCALL ProxyMutexUnlock(void); +JBCORE_API void JBCORCALL ProxyThreadLock(void); +JBCORE_API void JBCORCALL ProxyThreadUnlock(void); +JBCORE_API void JBCORCALL DebugPrintf(const char *, int, const char *, + const char *, ...); + +#ifdef _DEBUG +#define DBTRACEN NULL,NULL,NULL +#define DBTRACEF __FILE__,__LINE__,__FUNCTION__ +#define DBPRINTF0(v1) DebugPrintf(DBTRACEN, v1) +#define DBPRINTF1(v1, v2) DebugPrintf(DBTRACEN, v1, v2) +#define DBPRINTF2(v1, v2, v3) DebugPrintf(DBTRACEN, v1, v2, v3) +#define DBPRINTF3(v1, v2, v3, v4) DebugPrintf(DBTRACEN, v1, v2, v3, v4) + +#define DBTRACE0(v1) DebugPrintf(DBTRACEF, v1) +#define DBTRACE1(v1, v2) DebugPrintf(DBTRACEF, v1, v2) +#define DBTRACE2(v1, v2, v3) DebugPrintf(DBTRACEF, v1, v2, v3) +#define DBTRACE3(v1, v2, v3, v4) DebugPrintf(DBTRACEF, v1, v2, v3, v4) +#else +#define DBPRINTF0(v1) (void(0)) +#define DBPRINTF1(v1, v2) (void(0)) +#define DBPRINTF2(v1, v2, v3) (void(0)) +#define DBPRINTF3(v1, v2, v3, v4) (void(0)) +#define DBTRACE0(v1) (void(0)) +#define DBTRACE1(v1, v2) (void(0)) +#define DBTRACE2(v1, v2, v3) (void(0)) +#define DBTRACE3(v1, v2, v3, v4) (void(0)) +#endif + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef void *(__stdcall *CLRObjectFinalizeCallback)(JNIEnv *, jlong, jshort); + +#ifdef __cplusplus +} +#endif + +/* + * Object flags + */ +#define JBO_UNKNOWN 0 +#define JBO_DEFAULT 0x0001 +#define JBO_REFGLOB 0x0010 +#define JBO_REFWEAK 0x0020 +#define JBO_DELETED 0xdead +/* 64 bit (jlong) invalid Object HANDLE */ +#define JBH_INVALID (-1i64) +#define JBH_UNKNOWN 0i64 + +#define IS_JBO_INVALID(F) ((F) == JBO_UNKNOWN || (F) == JBO_DELETED) +#define IS_JBO_VALID(F) ((F) != JBO_UNKNOWN && (F) != JBO_DELETED) +#define IS_JBH_INVALID(H) ((H) == JBH_UNKNOWN || (H) == JBH_INVALID) +#define IS_JBH_VALID(H) ((H) != JBH_UNKNOWN && (H) != JBH_INVALID) + +/* + * Helper macros + */ +#define T4W(V) LPCWSTR(cw##V) +#define T4C(V) cc##V +#define J2B(V) ((V) ? true : false) +#define B2J(V) ((V) ? JNI_TRUE : JNI_FALSE) + + +#define J_ALLOC_WSTRING(V) \ + const jchar *cw##V = V ? JENV->GetStringChars(V, 0) : NULL +#define J_ALLOC_CSTRING(V) \ + const char *cc##V = V ? JENV->GetStringUTFChars(V, 0) : NULL + +#define J_WCSLEN(V) wcslen((LPCWSTR)cw##V) +#define J_STRLEN(V) strlen(cc##V) +#define J_WCSIZE(V) ((wcslen((LPCWSTR)cw##V) + 1) * 2) +#define J_STRSIZ(V) (strlen(cc##V) + 1) + +#define NZ_T4W(V) (cw##V != NULL && *cw##V != L'\0') +#define NZ_T4C(V) (cc##V != NULL && *cc##V != '\0') +#define NN_T4W(V) cw##V != NULL +#define NN_T4C(V) cc##V != NULL + +#define J_FREE_WSTRING(V) \ + if (cw##V) JENV->ReleaseStringChars(V, cw##V) + +#define J_FREE_CSTRING(V) \ + if (cc##V) JENV->ReleaseStringUTFChars(V, cc##V) + +#endif // JBCORAPI_H Added: trunk/labs/jbosswebnp/src/windows/native/JNI/core/private.h =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/core/private.h 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/core/private.h 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,170 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#ifndef PRIVATE_H +#define PRIVATE_H + +typedef struct JAVA_C_ID { + jclass i; + const char *n; +} JAVA_C_ID; + +typedef struct JAVA_M_ID { + jmethodID i; + const char *n; + const char *s; +} JAVA_M_ID; + +typedef struct JAVA_F_ID { + jfieldID i; + const char *n; + const char *s; +} JAVA_F_ID; + +#define J_CHECK_JENV() \ + if (JENV == NULL) { \ + JENV = Vm::GetJNIEnv(); \ + if (JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_IENV() \ + if (_JENV == NULL) { \ + _JENV = Vm::GetJNIEnv(); \ + if (_JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_LOAD_CTOR(I) \ + do { \ + _c##I##.i = JENV->GetMethodID(_clazz.i, _c##I##.n, _c##I##.s); \ + if (JENV->ExceptionCheck() || _c##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading ctor %s", _c##I##.n); \ + } \ + } while (0) + +#define J_LOAD_IMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = JENV->GetMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading method %s", _m##I##.n); \ + } \ + } else (void)(0) + +#define J_LOAD_SMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = JENV->GetStaticMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading static method %s", _m##I##.n); \ + } \ + } else (void)(0) + +#define J_LOAD_IFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = JENV->GetFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading field %s", _f##I##.n); \ + } \ + } else (void)(0) + +#define J_LOAD_SFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = JENV->GetStaticFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading static field %s", _f##I##.n); \ + } \ + } else (void)(0) + +#define J_CHECK_IMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = _JENV->GetMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (_JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + _JENV->ExceptionClear(); \ + DBTRACE1("Error loading method %s", _m##I##.n); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_SMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = JENV->GetStaticMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading static method %s", _m##I##.n); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_IFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = _JENV->GetFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (_JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + _JENV->ExceptionClear(); \ + DBTRACE1("Error loading field %s", _f##I##.n); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_SFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = _JENV->GetStaticFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (_JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + _JENV->ExceptionClear(); \ + DBTRACE1("Error loading static field %s", _f##I##.n); \ + goto failed; \ + } \ + } else (void)(0) + +#if 0 +#define J_LOAD_CLASS() \ + if (JENV->EnsureLocalCapacity(3) < 0) { \ + if (_clazz.c == NULL) { \ + dll_lock(); \ + if (_clazz.c == NULL) { \ + jobject c = reinterpret_cast<jobject>(JENV->FindClass(_clazz.n)); \ + if (JENV->ExceptionCheck() || c == NULL) { \ + DBTRACE1("Error loading class %s", _clazz.n); \ + goto failed; \ + } \ + _clazz.c = reinterpret_cast<jclass>(JENV->NewGlobalRef(c)); \ + if (JENV->ExceptionCheck()) { \ + DBTRACE1("Error referencing class %s", _clazz.n); \ + goto failed; \ + } \ + JENV->DeleteLocalRef(c); \ + _clazz.i = JENV->GetMethodID(_clazz.c, "<init>", "(JJ)V"); \ + if (JENV->ExceptionCheck()) { \ + DBTRACE1("Error loading ctor for %s", _clazz.n); \ + JENV->DeleteGlobalRef(_clazz.c); \ + _clazz.c = NULL; \ + goto failed; \ + } \ + ::AddClassToCache(_clazz.n, _clazz.c); \ + } \ + failed: \ + dll_unlock(); \ + } \ + } else (void)(0) + +#endif + +#define JPROXY_NAME L"JNI.core.dll" +#define JPROXY_MUTEX L"JBOSSCOREMUTEX" + +/* Private Thread locking/unlocking helper functions */ +void DestroyGlobalRefCache(JNIEnv *); + +#endif // PRIVATE_H Added: trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/Makefile =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/Makefile 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/Makefile 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,268 @@ +# JBoss, the OpenSource J2EE webOS +# +# Distributable under LGPL license. +# See terms of license at gnu.org. +# +# ==================================================================== +# +# NMAKEmakefile JBoss .NET Core Proxy Library makefile. +# +# ==================================================================== +# + +CFLAGS = /DMSCORLIB_EXPORTS /DJBOSS_MODULE_EXPORTS $(CFLAGS) +TARGET = DLL +PROJECT = mscorlib +PPREFIX = JNI +EXTRA_LFLAGS = /BASE:@../../build/baseaddr.ref,$(PPREFIX).$(PROJECT) +JNI_CORE_LIB = JNI.core.lib + +!IF !DEFINED(SRCDIR) || "$(SRCDIR)" == "" +SRCDIR = . +!ENDIF + +!include <../../build/NMAKEcommon.inc> + +INCLUDES = /I $(SRCDIR) /I $(SRCDIR)/include /I $(SRCDIR)/proxy +PDBFLAGS = /Fd$(BUILDIR)\$(PPREFIX).$(PROJECT)-src + +!IFNDEF WITH_JNI_CORE +WITH_JNI_CORE = ../core +!ENDIF + +INCLUDES = $(INCLUDES) /I "$(WITH_JNI_CORE)/include" +LDIRS = /libpath:"$(WITH_JNI_CORE)/$(BUILDIR)" + +LFLAGS = $(LFLAGS) $(JNI_CORE_LIB) + +!include <mscorlib.inc> + +OBJECTS = \ + $(BUILDIR)\Init.obj \ + $(BUILDIR)\Utils.obj \ + $(MSCORLIB_OBJECTS) + +DEPENDS = \ + $(SRCDIR)\include\*.h \ + $(SRCDIR)\*.h + + +BUILDLIB = $(BUILDIR)\$(PPREFIX).$(PROJECT).dll +BUILDPDB = $(BUILDIR)\$(PPREFIX).$(PROJECT).pdb +BUILDRES = $(BUILDIR)\$(PPREFIX).$(PROJECT).res +BUILDMAN = $(BUILDLIB).manifest + +all : $(BUILDIR) $(BUILDLIB) $(BUILDMAN) + +$(BUILDIR) : + @$(MAKETARGET) + @$(MKDIR) $(BUILDIR)\proxy + @$(MKDIR) $(BUILDIR)\proxy\System + @$(MKDIR) $(BUILDIR)\proxy\System\Collections + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Serialization + @$(MKDIR) $(BUILDIR)\proxy\System\Text + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\InteropServices + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Hosting + @$(MKDIR) $(BUILDIR)\proxy\System\Security + @$(MKDIR) $(BUILDIR)\proxy\System\Deployment + @$(MKDIR) $(BUILDIR)\proxy\System\Deployment\Internal + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\ConstrainedExecution + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\CompilerServices + @$(MKDIR) $(BUILDIR)\proxy\System\Reflection + @$(MKDIR) $(BUILDIR)\proxy\System\Threading + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting + @$(MKDIR) $(BUILDIR)\proxy\System\Collections\Generic + @$(MKDIR) $(BUILDIR)\proxy\System\Diagnostics + @$(MKDIR) $(BUILDIR)\proxy\System\Diagnostics\CodeAnalysis + @$(MKDIR) $(BUILDIR)\proxy\System\Diagnostics\SymbolStore + @$(MKDIR) $(BUILDIR)\proxy\System\Globalization + @$(MKDIR) $(BUILDIR)\proxy\System\Resources + @$(MKDIR) $(BUILDIR)\proxy\Microsoft + @$(MKDIR) $(BUILDIR)\proxy\Microsoft\Win32 + @$(MKDIR) $(BUILDIR)\proxy\Microsoft\Win32\SafeHandles + @$(MKDIR) $(BUILDIR)\proxy\System\Security\Policy + @$(MKDIR) $(BUILDIR)\proxy\System\Security\Principal + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\InteropServices\ComTypes + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\InteropServices\Expando + @$(MKDIR) $(BUILDIR)\proxy\System\IO + @$(MKDIR) $(BUILDIR)\proxy\System\Security\Permissions + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Contexts + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Activation + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Messaging + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Channels + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Lifetime + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Services + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Serialization\Formatters + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Proxies + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Metadata + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Remoting\Metadata\W3cXsd2001 + @$(MKDIR) $(BUILDIR)\proxy\System\IO\IsolatedStorage + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Serialization\Formatters\Binary + @$(MKDIR) $(BUILDIR)\proxy\System\Reflection\Emit + @$(MKDIR) $(BUILDIR)\proxy\System\Security\Cryptography + @$(MKDIR) $(BUILDIR)\proxy\System\Security\Cryptography\X509Certificates + @$(MKDIR) $(BUILDIR)\proxy\System\Security\AccessControl + @$(MKDIR) $(BUILDIR)\proxy\System\Runtime\Versioning + +{$(SRCDIR)}.cpp{$(BUILDIR)}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy}.cpp{$(BUILDIR)\proxy}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System}.cpp{$(BUILDIR)\proxy\System}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Collections}.cpp{$(BUILDIR)\proxy\System\Collections}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime}.cpp{$(BUILDIR)\proxy\System\Runtime}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Serialization}.cpp{$(BUILDIR)\proxy\System\Runtime\Serialization}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Text}.cpp{$(BUILDIR)\proxy\System\Text}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\InteropServices}.cpp{$(BUILDIR)\proxy\System\Runtime\InteropServices}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Hosting}.cpp{$(BUILDIR)\proxy\System\Runtime\Hosting}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security}.cpp{$(BUILDIR)\proxy\System\Security}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Deployment}.cpp{$(BUILDIR)\proxy\System\Deployment}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Deployment\Internal}.cpp{$(BUILDIR)\proxy\System\Deployment\Internal}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\ConstrainedExecution}.cpp{$(BUILDIR)\proxy\System\Runtime\ConstrainedExecution}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\CompilerServices}.cpp{$(BUILDIR)\proxy\System\Runtime\CompilerServices}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Reflection}.cpp{$(BUILDIR)\proxy\System\Reflection}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Threading}.cpp{$(BUILDIR)\proxy\System\Threading}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Collections\Generic}.cpp{$(BUILDIR)\proxy\System\Collections\Generic}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Diagnostics}.cpp{$(BUILDIR)\proxy\System\Diagnostics}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Diagnostics\CodeAnalysis}.cpp{$(BUILDIR)\proxy\System\Diagnostics\CodeAnalysis}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Diagnostics\SymbolStore}.cpp{$(BUILDIR)\proxy\System\Diagnostics\SymbolStore}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Globalization}.cpp{$(BUILDIR)\proxy\System\Globalization}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Resources}.cpp{$(BUILDIR)\proxy\System\Resources}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\Microsoft}.cpp{$(BUILDIR)\proxy\Microsoft}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\Microsoft\Win32}.cpp{$(BUILDIR)\proxy\Microsoft\Win32}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\Microsoft\Win32\SafeHandles}.cpp{$(BUILDIR)\proxy\Microsoft\Win32\SafeHandles}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\Policy}.cpp{$(BUILDIR)\proxy\System\Security\Policy}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\Principal}.cpp{$(BUILDIR)\proxy\System\Security\Principal}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\InteropServices\ComTypes}.cpp{$(BUILDIR)\proxy\System\Runtime\InteropServices\ComTypes}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\InteropServices\Expando}.cpp{$(BUILDIR)\proxy\System\Runtime\InteropServices\Expando}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\IO}.cpp{$(BUILDIR)\proxy\System\IO}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\Permissions}.cpp{$(BUILDIR)\proxy\System\Security\Permissions}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Contexts}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Contexts}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Activation}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Activation}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Messaging}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Messaging}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Channels}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Channels}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Lifetime}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Lifetime}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Services}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Services}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Serialization\Formatters}.cpp{$(BUILDIR)\proxy\System\Runtime\Serialization\Formatters}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Proxies}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Proxies}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Metadata}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Metadata}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Remoting\Metadata\W3cXsd2001}.cpp{$(BUILDIR)\proxy\System\Runtime\Remoting\Metadata\W3cXsd2001}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\IO\IsolatedStorage}.cpp{$(BUILDIR)\proxy\System\IO\IsolatedStorage}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Serialization\Formatters\Binary}.cpp{$(BUILDIR)\proxy\System\Runtime\Serialization\Formatters\Binary}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Reflection\Emit}.cpp{$(BUILDIR)\proxy\System\Reflection\Emit}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\Cryptography}.cpp{$(BUILDIR)\proxy\System\Security\Cryptography}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\Cryptography\X509Certificates}.cpp{$(BUILDIR)\proxy\System\Security\Cryptography\X509Certificates}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Security\AccessControl}.cpp{$(BUILDIR)\proxy\System\Security\AccessControl}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +{$(SRCDIR)\proxy\System\Runtime\Versioning}.cpp{$(BUILDIR)\proxy\System\Runtime\Versioning}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + + +$(OBJECTS): $(DEPENDS) + +$(BUILDRES): $(PROJECT).rc + $(RC) $(RCFLAGS) /i "$(SRCDIR)/include" /fo $(BUILDRES) $(PROJECT).rc + +$(BUILDLIB): $(BUILDIR) $(OBJECTS) $(BUILDRES) + $(LINK) $(LFLAGS) $(LDIRS) /pdb:$(BUILDPDB) /out:$(BUILDLIB) @<< + $(OBJECTS) $(BUILDRES) $(LIBS) +<< + $(MT) -nologo -manifest $(BUILDMAN) -outputresource:$(BUILDLIB);2 + +clean: + @$(CLEANTARGET) Added: trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/README =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/README 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/README 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1 @@ +.NET Core Proxy classes. Added: trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/include/private.h =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/include/private.h 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/include/private.h 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,103 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#ifndef PRIVATE_H +#define PRIVATE_H + +typedef struct JAVA_C_ID { + jclass i; + const char *n; +} JAVA_C_ID; + +typedef struct JAVA_M_ID { + jmethodID i; + const char *n; + const char *s; +} JAVA_M_ID; + +typedef struct JAVA_F_ID { + jfieldID i; + const char *n; + const char *s; +} JAVA_F_ID; + +#define J_LOAD_IFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = JENV->GetFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading field %s", _f##I##.n); \ + } \ + } else (void)(0) + +#define J_CHECK_IFIELD(I) \ + if (_f##I##.i == NULL) { \ + _f##I##.i = _JENV->GetFieldID(_clazz.i, _f##I##.n, _f##I##.s); \ + if (_JENV->ExceptionCheck() || _f##I##.i == NULL) { \ + _JENV->ExceptionClear(); \ + DBTRACE1("Error loading field %s", _f##I##.n); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_JENV() \ + if (JENV == NULL) { \ + JENV = jni::Vm::GetJNIEnv(); \ + if (JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_IENV() \ + if (_JENV == NULL) { \ + _JENV = jni::Vm::GetJNIEnv(); \ + if (_JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_LOAD_CLASS(N) \ + if (JENV->EnsureLocalCapacity(3) < 0) { \ + if (_clazz##N##.c == NULL) { \ + DllThreadLock(); \ + if (_clazz##N##.c == NULL) { \ + jobject c = reinterpret_cast<jobject>(JENV->FindClass(_clazz##N##.n)); \ + if (JENV->ExceptionCheck() || c == NULL) { \ + DBTRACE1("Error loading class %s", _clazz##N##.n); \ + goto load_failed; \ + } \ + _clazz##N##.c = reinterpret_cast<jclass>(JENV->NewGlobalRef(c)); \ + if (JENV->ExceptionCheck()) { \ + DBTRACE1("Error referencing class %s", _clazz##N##.n); \ + goto load_failed; \ + } \ + JENV->DeleteLocalRef(c); \ + _clazz##N##.i = JENV->GetMethodID(_clazz##N##.c, "<init>", _clazz##N##.s); \ + if (JENV->ExceptionCheck()) { \ + DBTRACE1("Error loading ctor for %s", _clazz##N##.n); \ + JENV->DeleteGlobalRef(_clazz##N##.c); \ + _clazz##N##.c = NULL; \ + goto load_failed; \ + } \ + AddClassToRefCache(_clazz##N##.c); \ + } \ + load_failed: \ + DllThreadUnlock(); \ + } \ + } else (void)(0) + +#define JPROXY_NAME L"JNI.mscorlib.dll" + +/* Private Thread locking/unlocking helper functions */ +void DestroyRefCache(JNIEnv *); +void AddClassToRefCache(jclass); +void DllThreadLock(void); +void DllThreadUnlock(void); + +#endif // PRIVATE_H Added: trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/mscorlib.rc =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/mscorlib.rc 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/mscorlib/mscorlib.rc 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,46 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#include <windows.h> +#include "../../build/resource.h" + +1000 ICON "../../build/jboss.ico" + +1 VERSIONINFO + FILEVERSION CSV_VERISON + PRODUCTVERSION CSV_VERISON + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS DLL_FILEFLAGS + FILEOS VOS_NT + FILETYPE VFT_DLL + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", STR_LICENSE "\0" + VALUE "CompanyName", STR_COMPANY "\0" + VALUE "FileDescription", "JBoss .NET Core Proxy Library\0" + VALUE "FileVersion", STR_VERISON "\0" + VALUE "InternalName", "JNI.mscorlib" + VALUE "LegalCopyright", STR_COPYRIGHT "\0" + VALUE "LegalTrademarks", STR_TRADEMARK "\0" + VALUE "OriginalFilename", "JNI.mscorlib.dll" + VALUE "ProductName", STR_PRODUCT "\0" + VALUE "ProductVersion", STR_VERISON "\0" +#if PRIVATE_BUILD + VALUE "PrivateBuild", STR_PRIVATE "\0" + VALUE "SpecialBuild", STR_SPECIAL "\0" +#endif + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END Added: trunk/labs/jbosswebnp/src/windows/native/JNI/rt/Makefile =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/rt/Makefile 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/rt/Makefile 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,74 @@ +# JBoss, the OpenSource J2EE webOS +# +# Distributable under LGPL license. +# See terms of license at gnu.org. +# +# ==================================================================== +# +# NMAKEmakefile JBoss Java Servlet Library makefile. +# +# ==================================================================== +# + +CFLAGS = /DJAVA_RT_EXPORTS /DJBOSS_MODULE_EXPORTS $(CFLAGS) +TARGET = DLL +PROJECT = rt +PPREFIX = JNI +EXTRA_LFLAGS = /BASE:@../../build/baseaddr.ref,$(PPREFIX).$(PROJECT) +JNI_CORE_LIB = JNI.core.lib + +!IF !DEFINED(SRCDIR) || "$(SRCDIR)" == "" +SRCDIR = . +!ENDIF + +!include <../../build/NMAKEcommon.inc> + +INCLUDES = /I $(SRCDIR)/include +PDBFLAGS = /Fd$(BUILDIR)\$(PPREFIX).$(PROJECT)-src + +!IFNDEF WITH_JNI_CORE +WITH_JNI_CORE = ../core +!ENDIF + +INCLUDES = $(INCLUDES) /I "$(WITH_JNI_CORE)/include" +LDIRS = /libpath:"$(WITH_JNI_CORE)/$(BUILDIR)" + +LFLAGS = $(LFLAGS) $(JNI_CORE_LIB) + +!include <java.rt.inc> + +OBJECTS = $(BUILDIR)\java.$(PROJECT).obj $(JAVA_RT_OBJECTS) + +DEPENDS = \ + $(SRCDIR)\include\*.h \ + $(SRCDIR)\*.h + + +BUILDLIB = $(BUILDIR)\$(PPREFIX).$(PROJECT).dll +BUILDPDB = $(BUILDIR)\$(PPREFIX).$(PROJECT).pdb +BUILDRES = $(BUILDIR)\$(PPREFIX).$(PROJECT).res +BUILDMAN = $(BUILDLIB).manifest + +all : $(BUILDIR) $(BUILDLIB) $(BUILDMAN) + + + +$(BUILDIR) : + $(MAKETARGET) + +{$(SRCDIR)}.cpp{$(BUILDIR)}.obj: + $(CC) $(CFLAGS) $(INCLUDES) $(JAVA_INCLUDES) /Fo$(@D)\ $(PDBFLAGS) $< + +$(OBJECTS): $(DEPENDS) + +$(BUILDRES): $(PROJECT).rc + $(RC) $(RCFLAGS) /i "$(SRCDIR)/include" /fo $(BUILDRES) $(PROJECT).rc + +$(BUILDLIB): $(BUILDIR) $(OBJECTS) $(BUILDRES) + $(LINK) $(LFLAGS) $(LDIRS) /pdb:$(BUILDPDB) /out:$(BUILDLIB) @<< + $(OBJECTS) $(BUILDRES) $(LIBS) +<< + $(MT) -nologo -manifest $(BUILDMAN) -outputresource:$(BUILDLIB);2 + +clean: + @$(CLEANTARGET) Added: trunk/labs/jbosswebnp/src/windows/native/JNI/rt/README =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/rt/README 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/rt/README 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1 @@ +Java Runtime Library Proxy classes. Added: trunk/labs/jbosswebnp/src/windows/native/JNI/rt/include/private.h =================================================================== --- trunk/labs/jbosswebnp/src/windows/native/JNI/rt/include/private.h 2006-01-18 11:33:40 UTC (rev 2131) +++ trunk/labs/jbosswebnp/src/windows/native/JNI/rt/include/private.h 2006-01-18 12:48:28 UTC (rev 2132) @@ -0,0 +1,152 @@ +/* + * JBoss, the OpenSource J2EE webOS + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +#ifndef PRIVATE_H +#define PRIVATE_H + +typedef struct JAVA_C_ID { + jclass i; + const char *n; +} JAVA_C_ID; + +typedef struct JAVA_M_ID { + jmethodID i; + const char *n; + const char *s; +} JAVA_M_ID; + +typedef struct JAVA_F_ID { + jfieldID i; + const char *n; + const char *s; +} JAVA_F_ID; + +#define J_CHECK_JENV() \ + if (JENV == NULL) { \ + JENV = Vm::GetJNIEnv(); \ + if (JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_CHECK_IENV() \ + if (_JENV == NULL) { \ + _JENV = Vm::GetJNIEnv(); \ + if (_JENV == NULL) { \ + DBTRACE0("Error getting JNIEnv"); \ + goto failed; \ + } \ + } else (void)(0) + +#define J_LOAD_CTOR(I) \ + do { \ + _c##I##.i = JENV->GetMethodID(_clazz.i, _c##I##.n, _c##I##.s); \ + if (JENV->ExceptionCheck() || _c##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading ctor %s", _c##I##.n); \ + } \ + } while (0) + +#define J_LOAD_IMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = JENV->GetMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading method %s", _m##I##.n); \ + } \ + } else (void)(0) + +#define J_LOAD_SMETHOD(I) \ + if (_m##I##.i == NULL) { \ + _m##I##.i = JENV->GetStaticMethodID(_clazz.i, _m##I##.n, _m##I##.s); \ + if (JENV->ExceptionCheck() || _m##I##.i == NULL) { \ + JENV->ExceptionClear(); \ + DBTRACE1("Error loading static method %s", _m##I##.n); \ + } \ + } else (void)(0) + +#define J_LOAD_IFIELD(I) \ + if (_f##I##.i == NULL) { \ + ... [truncated message content] |