[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