[mapguide-commits] r8843 - in sandbox/jng/aspnet50/Web/src: MapGuideApi MapGuideDotNetCoreApi
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Nov 23 04:49:59 PST 2015
Author: jng
Date: 2015-11-23 04:49:59 -0800 (Mon, 23 Nov 2015)
New Revision: 8843
Modified:
sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml
sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Makefile.am
sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i
Log:
Fix linux string marshaling for .net Core on Linux
Modified: sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml 2015-11-23 12:13:54 UTC (rev 8842)
+++ sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml 2015-11-23 12:49:59 UTC (rev 8843)
@@ -75,6 +75,11 @@
#elseif defined(JAVA)
typedef std::wstring STRINGPARAM;
typedef signed char BYTE; //mapped to byte in Java
+#elseif defined(DOTNETCORE)
+ typedef std::wstring STRINGPARAM;
+ typedef char* BYTE_ARRAY_IN;
+ typedef char* BYTE_ARRAY_OUT;
+ typedef unsigned char BYTE; //mapped to byte in C#
#else // .Net
typedef char* BYTE_ARRAY_IN;
typedef char* BYTE_ARRAY_OUT;
Modified: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Makefile.am
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Makefile.am 2015-11-23 12:13:54 UTC (rev 8842)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Makefile.am 2015-11-23 12:49:59 UTC (rev 8843)
@@ -28,7 +28,7 @@
nodist_libMapGuideDotNetCoreUnmanagedApi_la_SOURCES = MgApi_wrap.cpp
-AM_CXXFLAGS = @CXXFLAGS@ -fno-strict-aliasing -fno-var-tracking-assignments
+AM_CXXFLAGS = @CXXFLAGS@ -fno-strict-aliasing -fno-var-tracking-assignments -DDOTNETCORE
libMapGuideDotNetCoreUnmanagedApi_la_LIBADD = \
-lACE \
@@ -458,4 +458,4 @@
../../../BuildTools/WebTools/IMake/Linux/IMake ../MapGuideApi/MapGuideApiGen.xml C#
cp -f dotnetcore.i language.i
../../../BuildTools/WebTools/IMake/Linux/IMake ../MapGuideApi/Constants.xml C# ./Constants.cs
- ../../../Oem/SWIGEx/Linux/swig -c++ -csharp -dllname MapGuideDotNetCoreUnmanagedApi -namespace OSGeo.MapGuide -proxydir ./Custom -baseexception MgException -clsidcode getclassid.code -clsiddata m_cls_id -catchallcode catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise();" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ../../../Oem/SWIGEx/Lib MapGuideApi.i
+ ../../../Oem/SWIGEx/Linux/swig -c++ -csharp -DDOTNETCORE -dllname MapGuideDotNetCoreUnmanagedApi -namespace OSGeo.MapGuide -proxydir ./Custom -baseexception MgException -clsidcode getclassid.code -clsiddata m_cls_id -catchallcode catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise();" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ../../../Oem/SWIGEx/Lib MapGuideApi.i
Modified: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i 2015-11-23 12:13:54 UTC (rev 8842)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i 2015-11-23 12:49:59 UTC (rev 8843)
@@ -29,11 +29,7 @@
$1 = (STRINGPARAM) $input;
#else
//out typemap - LINUX (DOTNETCORE)
- size_t len = wcslen($input);
- xstring u16String = xstring((XMLCh*)$input, len);
- lstring u32String;
- UnicodeString::UTF16toUTF32(u16String.c_str(),u32String);
- $1 = (STRINGPARAM) u32String.c_str();
+ $1 = (STRINGPARAM) X2W((XMLCh*)$input);
#endif
#else
$1 = (STRINGPARAM) $input;
@@ -56,7 +52,8 @@
xstring u16String;
UnicodeString::UTF32toUTF16((const LCh*) result.c_str(), u16String);
$result = SWIG_csharp_string_callback((int)(u16String.length()+1)*sizeof(LCh));
- wcscpy((wchar_t*)$result, u16String.c_str());
+ //wcscpy((wchar_t*)$result, u16String.c_str());
+ XMLString::copyString((XMLCh*)$result, u16String.c_str());
#endif
#else
$result = SWIG_csharp_string_callback((int)(result.length()+1)*sizeof(wchar_t));
@@ -83,4 +80,4 @@
///////////////////////////////////////////////////////////
// Global functions
//
-void MgInitializeWebTier(STRINGPARAM configFile);
\ No newline at end of file
+void MgInitializeWebTier(STRINGPARAM configFile);
More information about the mapguide-commits
mailing list