[mapguide-commits] r8842 - in sandbox/jng/aspnet50/Web/src: MapGuideApi MapGuideDotNetCoreApi

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Nov 23 04:13:54 PST 2015


Author: jng
Date: 2015-11-23 04:13:54 -0800 (Mon, 23 Nov 2015)
New Revision: 8842

Modified:
   sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/DotNetCoreApi.vcxproj
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i
Log:
Add theoretical SWIG typemaps for .net Core.

Modified: sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml	2015-11-21 13:59:22 UTC (rev 8841)
+++ sandbox/jng/aspnet50/Web/src/MapGuideApi/MapGuideApiGen.xml	2015-11-23 12:13:54 UTC (rev 8842)
@@ -36,7 +36,11 @@
 #if defined(PHP) || defined(JAVA)
 typedef std::wstring STRINGPARAM;
 #else
+  #if defined(DOTNETCORE) && !defined(_WIN32)
+typedef std::wstring STRINGPARAM; 
+  #else
 typedef wchar_t* STRINGPARAM;
+  #endif
 #endif
 </CppInline>
 

Modified: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/DotNetCoreApi.vcxproj
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/DotNetCoreApi.vcxproj	2015-11-21 13:59:22 UTC (rev 8841)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/DotNetCoreApi.vcxproj	2015-11-23 12:13:54 UTC (rev 8842)
@@ -98,7 +98,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\Constants.xml C# ./Constants.cs
 copy .\dotnetcore.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\MapGuideApiGen.xml C#
-..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -dllname MapGuideDotNetCoreUnmanagedApid -namespace OSGeo.MapGuide -proxydir .\Custom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
+..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -DDOTNETCORE -DWIN32 -dllname MapGuideDotNetCoreUnmanagedApid -namespace OSGeo.MapGuide -proxydir .\Custom -baseexception MgException -clsidcode getclassid.code -clsiddata m_cls_id -catchallcode catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
 del /Q MapGuideDotNetCoreUnmanagedApi.cs
 </Command>
     </PreBuildEvent>
@@ -134,7 +134,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\Constants.xml C# ./Constants.cs
 copy .\dotnetcore.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\MapGuideApiGen.xml C#
-..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -dllname MapGuideDotNetCoreUnmanagedApid -namespace OSGeo.MapGuide -proxydir .\Custom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
+..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -DDOTNETCORE -DWIN32 -dllname MapGuideDotNetCoreUnmanagedApid -namespace OSGeo.MapGuide -proxydir .\Custom -baseexception MgException -clsidcode getclassid.code -clsiddata m_cls_id -catchallcode catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
 del /Q MapGuideDotNetCoreUnmanagedApi.cs
 </Command>
     </PreBuildEvent>
@@ -170,7 +170,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\Constants.xml C# ./Constants.cs
 copy .\dotnetcore.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\MapGuideApiGen.xml C#
-..\..\..\Oem\SwigEx\Win32\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()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
+..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -DDOTNETCORE -DWIN32 -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()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
 del /Q MapGuideDotNetCoreUnmanagedApi.cs
 </Command>
     </PreBuildEvent>
@@ -207,7 +207,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\Constants.xml C# ./Constants.cs
 copy .\dotnetcore.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe ..\MapGuideApi\MapGuideApiGen.xml C#
-..\..\..\Oem\SwigEx\Win32\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()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
+..\..\..\Oem\SwigEx\Win32\swig -c++ -csharp -DDOTNETCORE -DWIN32 -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()%3b" -nodefault -noconstants -module MapGuideDotNetCoreUnmanagedApi -o MgApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideApi.i
 del /Q MapGuideDotNetCoreUnmanagedApi.cs
 </Command>
     </PreBuildEvent>

Modified: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i	2015-11-21 13:59:22 UTC (rev 8841)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/dotnetcore.i	2015-11-23 12:13:54 UTC (rev 8842)
@@ -23,7 +23,21 @@
 //
 %typemap(in) STRINGPARAM
 {
+#if defined(DOTNETCORE)
+#if defined(WIN32)
+    //out typemap - WIN32 (DOTNETCORE)
     $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();
+#endif
+#else
+    $1 = (STRINGPARAM) $input;
+#endif
 }
 
 ///////////////////////////////////////////////////////////
@@ -32,8 +46,22 @@
 //
 %typemap(out) STRING
 {
+#if defined(DOTNETCORE)
+#if defined(WIN32)
+    //out typemap - WIN32 (DOTNETCORE)
     $result = SWIG_csharp_string_callback((int)(result.length()+1)*sizeof(wchar_t));
     wcscpy((wchar_t*)$result, result.c_str());
+#else
+    //out typemap - LINUX (DOTNETCORE)
+    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());
+#endif
+#else
+    $result = SWIG_csharp_string_callback((int)(result.length()+1)*sizeof(wchar_t));
+    wcscpy((wchar_t*)$result, result.c_str());
+#endif
 }
 
 ///////////////////////////////////////////////////////////



More information about the mapguide-commits mailing list