[mapguide-commits] r9972 - in trunk/MgDev: . Common/Foundation

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Oct 10 02:50:28 PDT 2022


Author: jng
Date: 2022-10-10 02:50:27 -0700 (Mon, 10 Oct 2022)
New Revision: 9972

Added:
   trunk/MgDev/Bindings/
Modified:
   trunk/MgDev/
   trunk/MgDev/Common/Foundation/Foundation.h
Log:
Merged revision(s) 9757-9770 from sandbox/jng/vanilla_swig:
Add current vanilla SWIG binding source from GitHub
........
- Remove VC11 solution/project configs
- Fix up include/linker settings for .net/Java glue projects
- Add MapGuideDotNetApi to bindings solution
- Unloaded PhpApi from bindings solution. We'll re-activate this when we're ready to integrate PHP7 into this source tree. Right now, we're just dealing with .net/Java.
- Patch up Foundation.h to stub some ACE types in a SWIG codegen context so we don't have to leak out ACE headers
........
Build the java sources and jar file as a post-build of JavaApi.vcxproj
........
Fix pathing in jar generation
........
IMake update to support a custom prefix for the properties file (needed for the split layout)
........
First step in attempting to split up the .net binding. Add MgFoundation glue and .net wrapper.

Also remove the MgObjectFactory as it is now auto-generated as part of the main PINVOKE module.
........
Next step in attempting to split up the .net binding. Add MgGeometry glue and .net wrapper.
........
Next step in attempting to split up the .net binding. Add MgPlatformBase glue and .net wrapper.
........
Next step in attempting to split up the .net binding. Add MgMapGuideCommon glue and .net wrapper.
........
Complete the .net binding split. Add combined MgHttpHandler/MgWebSupport/MgWebApp glue and .net wrapper.
........
Unify output path for .net projects
........
Update glue library pre-build events to make sure to copy all direct dll dependencies to their respective nuget native library staging areas
........
Add TODO checklist based on the open GitHub issue list with extra items to verify
........
- Fix missing .net properties for Geometry and PlatformBase wrappers
- Add MapGuideApi.MgInitializeWebTier entry point to OSGeo.MapGuide.Web (it simply forwards to the same method on the IM class)
- Update .net test suites to consume the produced nuget packages
- Fix up exception handling to match the new flattened exception model
........


Index: trunk/MgDev
===================================================================
--- trunk/MgDev	2022-10-10 09:40:18 UTC (rev 9971)
+++ trunk/MgDev	2022-10-10 09:50:27 UTC (rev 9972)

Property changes on: trunk/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
## -41,5 +41,6 ##
 /sandbox/jng/utfgrid:9179-9212
 /sandbox/jng/v30:8212-8227
 /sandbox/jng/v4:9511-9519
+/sandbox/jng/vanilla_swig:9757-9770
 /sandbox/jng/wfs_hits:9569-9577
 /sandbox/rfc94:5099-5163
\ No newline at end of property
Modified: trunk/MgDev/Common/Foundation/Foundation.h
===================================================================
--- trunk/MgDev/Common/Foundation/Foundation.h	2022-10-10 09:40:18 UTC (rev 9971)
+++ trunk/MgDev/Common/Foundation/Foundation.h	2022-10-10 09:50:27 UTC (rev 9972)
@@ -45,14 +45,15 @@
 // ignore warnings about using deprecated methods
 #pragma warning(disable: 4996)
 
-// Unfortunately, we must leak this header out in a SWIG generation context as ACE_Recursive_Thread_Mutex 
-// is a private and public member of several classes thare are exported out to the public MapGuide API 
-// surface area (MgGuardDisposable/MgSiteManager)
+#ifdef SWIG_PUBLIC_API
+// ACE_Recursive_Thread_Mutex and ACE_thread_t are currently exposed as private members of several 
+// classes thare are exported out to the public MapGuide API surface area (MgGuardDisposable/MgSiteManager)
 //
-// Every other ACE type/header however are internal implementation details that can be safely walled-off 
-// with SWIG_PUBLIC_API or forward-declared away to reduce the ACE header surface area to this one single 
-// header below
-#include "ace/Recursive_Thread_Mutex.h"
+// Private members do not (at least for us) factor into the SWIG code generation context, so for the
+// purpose of SWIG codegen, we can just stub these missing types
+typedef int ACE_thread_t;
+class ACE_Recursive_Thread_Mutex { };
+#endif
 
 #ifndef SWIG_PUBLIC_API
 #include "ace/Init_ACE.h"



More information about the mapguide-commits mailing list