[mapguide-commits] r9766 - in sandbox/jng/vanilla_swig/Bindings/src: Bindings Bindings/DotNet Bindings/DotNet/Web Managed/DotNet Managed/DotNet/OSGeo.MapGuide.Foundation/custom Managed/DotNet/OSGeo.MapGuide.MapGuideCommon Managed/DotNet/OSGeo.MapGuide.Web Managed/DotNet/OSGeo.MapGuide.Web/runtimes Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64 Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Nov 10 04:31:53 PST 2020


Author: jng
Date: 2020-11-10 04:31:52 -0800 (Tue, 10 Nov 2020)
New Revision: 9766

Added:
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/InitializeWebTier.i
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.rc
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebConstants.xml
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native/
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native/README.txt
Removed:
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/custom/AssemblyInfo.cs
Modified:
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/dotnetcore_split.i
   sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.MapGuideCommon/OSGeo.MapGuide.MapGuideCommon.csproj
Log:
Complete the .net binding split. Add combined MgHttpHandler/MgWebSupport/MgWebApp glue and .net wrapper.

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Bindings.sln	2020-11-10 12:31:52 UTC (rev 9766)
@@ -81,6 +81,21 @@
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F} = {42FC41FD-742B-4AED-816E-C211F1B07F3F}
 	EndProjectSection
 EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OSGeo.MapGuide.Web", "..\Managed\DotNet\OSGeo.MapGuide.Web\OSGeo.MapGuide.Web.csproj", "{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}"
+	ProjectSection(ProjectDependencies) = postProject
+		{C83BF842-ABB1-4870-8003-11EF860E6741} = {C83BF842-ABB1-4870-8003-11EF860E6741}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebApi", "DotNet\Web\WebApi.vcxproj", "{C83BF842-ABB1-4870-8003-11EF860E6741}"
+	ProjectSection(ProjectDependencies) = postProject
+		{3BAE3F0E-8F3F-404B-B29B-5881C16BD33B} = {3BAE3F0E-8F3F-404B-B29B-5881C16BD33B}
+		{B601F04C-0D42-4AFC-A092-B31185E2EA8C} = {B601F04C-0D42-4AFC-A092-B31185E2EA8C}
+		{B994F673-EB8E-4C65-8884-B56AB8783115} = {B994F673-EB8E-4C65-8884-B56AB8783115}
+		{4A3F2DA2-F53F-48EE-9505-8285F3E089D4} = {4A3F2DA2-F53F-48EE-9505-8285F3E089D4}
+		{73C62FF2-C188-4A61-929E-2F112D7E17AA} = {73C62FF2-C188-4A61-929E-2F112D7E17AA}
+		{42FC41FD-742B-4AED-816E-C211F1B07F3F} = {42FC41FD-742B-4AED-816E-C211F1B07F3F}
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -179,6 +194,20 @@
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|Any CPU.Build.0 = Release|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x64.ActiveCfg = Release|Any CPU
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058}.Release|x64.Build.0 = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Debug|x64.Build.0 = Debug|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x64.ActiveCfg = Release|Any CPU
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE}.Release|x64.Build.0 = Release|Any CPU
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|x64.ActiveCfg = Debug|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Debug|x64.Build.0 = Debug|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|Any CPU.ActiveCfg = Release|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|x64.ActiveCfg = Release|x64
+		{C83BF842-ABB1-4870-8003-11EF860E6741}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -198,6 +227,8 @@
 		{80D0D30B-A9E1-464B-93ED-0EFEAD4EE102} = {A9257857-9844-4CEA-AF02-A7D8AB8F46AB}
 		{42FC41FD-742B-4AED-816E-C211F1B07F3F} = {A9257857-9844-4CEA-AF02-A7D8AB8F46AB}
 		{B4C52243-CBA3-4FB7-BB22-4D44331D6058} = {A9257857-9844-4CEA-AF02-A7D8AB8F46AB}
+		{0B90819D-4066-4D6C-87E6-3BE4D8F595DE} = {A9257857-9844-4CEA-AF02-A7D8AB8F46AB}
+		{C83BF842-ABB1-4870-8003-11EF860E6741} = {A9257857-9844-4CEA-AF02-A7D8AB8F46AB}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {733BCCC2-0431-4AB7-ABB6-AAE81AB54C48}

Index: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web	2020-11-10 12:31:52 UTC (rev 9766)

Property changes on: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,7 ##
+lib
+obj
+language.i
+WebApi.i
+WebApi.vcxproj.user
+WebApi_Doc.i
+WebUnmanagedApi_wrap.cpp
Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/InitializeWebTier.i
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/InitializeWebTier.i	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/InitializeWebTier.i	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,21 @@
+//
+//  Copyright (C) 2004-2011 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+///////////////////////////////////////////////////////////
+// Global functions
+//
+void MgInitializeWebTier(STRINGPARAM configFile);

Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.rc
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.rc	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.rc	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,96 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winresrc.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+    "#include ""winresrc.h""\r\n"
+    "\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 3,0,0,0
+ PRODUCTVERSION 3,0,0,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "CompanyName", "Open Source Geospatial Foundation"
+            VALUE "FileDescription", "WebUnmanagedApi Dynamic Link Library"
+            VALUE "FileVersion", "4, 0, 0, 0"
+            VALUE "InternalName", "WebUnmanagedApi"
+            VALUE "LegalCopyright", "Copyright (C) 2006-2020 by Autodesk, Inc."
+            VALUE "OriginalFilename", "WebUnmanagedApi.dll"
+            VALUE "ProductName", "MapGuide Open Source"
+            VALUE "ProductVersion", "4, 0, 0, 0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C83BF842-ABB1-4870-8003-11EF860E6741}</ProjectGuid>
+    <RootNamespace>WebUnmanagedApi</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">bin\$(Configuration)64\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">obj\$(Configuration)64\WebUnmanagedApi\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\win-x64\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">obj\$(Configuration)64\WebUnmanagedApi\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WebUnmanagedApid</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WebUnmanagedApi</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <PreBuildEvent>
+      <Command>if exist "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\*.cs" del /Q "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\*.cs"
+if exist "$(ProjectDir)WebApi_Properties.i" del /Q "$(ProjectDir)WebApi_Properties.i"
+"..\..\..\IMake\Win32\IMake.exe" -p "$(ProjectDir)WebConstants.xml" -l C# -o "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\Constants.cs" -t
+copy "$(ProjectDir)..\dotnetcore_split.i" "$(ProjectDir)language.i"
+"..\..\..\IMake\Win32\IMake.exe" -p "$(ProjectDir)WebApiGen.xml" -l C# -x "WebApi"
+"..\..\..\Tools\swig\install\swig.exe" -c++ -csharp -DDOTNETCORE -DWIN32 -DSWIG_CSHARP_NO_EXCEPTION_HELPER -DSWIG_CSHARP_NO_STRING_HELPER -DSWIG_CSHARP_NO_WSTRING_HELPER -namespace OSGeo.MapGuide -nodefaultctor -nodefaultdtor -module WebUnmanagedApi -o "$(ProjectDir)WebUnmanagedApi_wrap.cpp" -outdir "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web" WebApi.i
+del /Q ..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\WebUnmanagedApi.cs
+</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\win-x64\native\WebUnmanagedApid.dll</OutputFile>
+      <AdditionalLibraryDirectories>$(MG_SDK_LIB64);$(MG_OEM_ACE_LIB_ROOT)\lib64\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\win-x64\native\WebUnmanagedApid.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>lib\$(Configuration)64\WebUnmanagedApid.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <PreBuildEvent>
+      <Command>if exist "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\*.cs" del /Q "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\*.cs"
+if exist "$(ProjectDir)WebApi_Properties.i" del /Q "$(ProjectDir)WebApi_Properties.i"
+"..\..\..\IMake\Win32\IMake.exe" -p "$(ProjectDir)WebConstants.xml" -l C# -o "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\Constants.cs" -t
+copy "$(ProjectDir)..\dotnetcore_split.i" "$(ProjectDir)language.i"
+"..\..\..\IMake\Win32\IMake.exe" -p "$(ProjectDir)WebApiGen.xml" -l C# -x "WebApi"
+"..\..\..\Tools\swig\install\swig.exe" -c++ -csharp -DDOTNETCORE -DWIN32 -DSWIG_CSHARP_NO_EXCEPTION_HELPER -DSWIG_CSHARP_NO_STRING_HELPER -DSWIG_CSHARP_NO_WSTRING_HELPER -namespace OSGeo.MapGuide -nodefaultctor -nodefaultdtor -module WebUnmanagedApi -o "$(ProjectDir)WebUnmanagedApi_wrap.cpp" -outdir "$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web" WebApi.i
+del /Q ..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\WebUnmanagedApi.cs
+</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Async</ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>MgFoundation.lib;HttpHandler.lib;WebApp.lib;WebSupport.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\win-x64\native\WebUnmanagedApi.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\..\..\..\Common\lib\Release64;..\..\..\..\..\Web\lib\Release64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(ProjectDir)..\..\..\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\win-x64\native\WebUnmanagedApi.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>lib\$(Configuration)64\WebUnmanagedApi.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="WebUnmanagedApi_wrap.cpp">
+      <PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</PreprocessToFile>
+      <PreprocessSuppressLineNumbers Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</PreprocessSuppressLineNumbers>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="WebApi.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <Xml Include="WebApiGen.xml" />
+    <Xml Include="WebConstants.xml" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file

Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Parameters>
+<!--
+   Module section.
+-->
+<Module name="MapGuideApi" />
+
+<!--
+   Custom file path.
+-->
+<CustomFile path="." />
+
+<!--
+   Target section.
+-->
+<Target path="./WebApi.i" />
+<DocTarget path="./WebApi_Doc.i" />
+
+<!--
+   C++ inline section.
+-->
+<CppInline>
+#ifdef _WIN32
+#pragma warning(disable: 4251)
+#endif
+
+#include <string>
+#include <map>
+#include <list>
+
+#include "MapGuideCommon.h"
+#include "WebApp.h"
+
+#ifdef _WIN32
+#include "WebSupport.h"
+#else
+#include "InitializeWebTier.cpp"
+#include "UnicodeString.h"
+#endif
+#include "HttpHandlerApiDllExport.h"
+#include "HttpHandler.h"
+
+#if defined(PHP) || defined(JAVA)
+typedef std::wstring STRINGPARAM;
+#else
+typedef wchar_t* STRINGPARAM;
+#endif
+</CppInline>
+
+<!--
+   Type replacements.
+-->
+<TypeReplacements>
+    <TypeReplacement oldtype="CREFSTRING" newtype="STRINGPARAM" />
+    <TypeReplacement oldtype="INT64" newtype="long long" />
+</TypeReplacements>
+
+<!--
+   Swig inline section.
+-->
+<SwigInline>
+  %include "WebApi_Doc.i" //doc fragments
+  %include "language.i"   //typemaps specific for each language
+  // IMPORTANT: Must %import dependencies *after* %include-ing language.i, otherwise
+  // SWIG runtime glue code for $LANGUAGE isn't generated
+  %import "../Foundation/FoundationApi.i"
+  %import "../Geometry/GeometryApi.i"
+  %import "../PlatformBase/PlatformBaseApi.i"
+  %import "../MapGuideCommon/MapGuideCommonApi.i"
+  
+  %include "InitializeWebTier.i"
+  %include "../../../../../Web/src/WebApp/WebAppClassId.h"
+  %include "../../../../../Web/src/HttpHandler/HttpHandlerClassId.h"
+
+#if defined(PHPSWIG)
+  // We force UTF-8 encoding for PHP
+  typedef char*         STRINGPARAM;
+  typedef char*         STRING;
+  typedef char*         BYTE_ARRAY_IN;
+  typedef char*         BYTE_ARRAY_OUT;
+  typedef unsigned char BYTE;
+#elseif defined(JAVA)
+  typedef std::wstring  STRINGPARAM;
+  typedef signed char   BYTE;  //mapped to byte in Java
+#else // .Net
+  typedef char*         BYTE_ARRAY_IN;
+  typedef char*         BYTE_ARRAY_OUT;
+  typedef unsigned char BYTE;    //mapped to byte in C#
+#endif
+
+  typedef int           STATUS;
+  typedef short         INT8;
+  typedef short         INT16;
+  typedef int           INT32;
+  typedef int           UINT32;
+
+</SwigInline>
+
+<!--
+   C++ Headers section.  If you add headers to this section then you
+   must also add them to Makefile.am in the JavaApi and PhpApi folders.
+-->
+<Headers>
+
+    <!-- WebApp classes -->
+
+    <Header path="../../../../../Web/src/WebApp/WebCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebUiTargetCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebWidget.h" />
+    <Header path="../../../../../Web/src/WebApp/WebWidgetCollection.h" />
+    <Header path="../../../../../Web/src/WebApp/WebUiPane.h" />
+    <Header path="../../../../../Web/src/WebApp/WebUiSizablePane.h" />
+
+    <Header path="../../../../../Web/src/WebApp/WebBufferCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebCommandCollection.h" />
+    <Header path="../../../../../Web/src/WebApp/WebCommandWidget.h" />
+    <Header path="../../../../../Web/src/WebApp/WebContextMenu.h" />
+    <Header path="../../../../../Web/src/WebApp/WebFlyoutWidget.h" />
+    <Header path="../../../../../Web/src/WebApp/WebGetPrintablePageCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebHelpCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebInformationPane.h" />
+    <Header path="../../../../../Web/src/WebApp/WebInvokeScriptCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebInvokeUrlCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebLayout.h" />
+    <Header path="../../../../../Web/src/WebApp/WebMeasureCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebPrintCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebSearchCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebSelectWithinCommand.h" />
+    <Header path="../../../../../Web/src/WebApp/WebSeparatorWidget.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTaskBar.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTaskBarWidget.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTaskPane.h" />
+    <Header path="../../../../../Web/src/WebApp/WebToolbar.h" />
+    <Header path="../../../../../Web/src/WebApp/WebViewOptionsCommand.h" />
+
+    <!-- HttpHandler classes -->
+
+    <Header path="../../../../../Web/src/HttpHandler/HttpHeader.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpPrimitiveValue.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpRequest.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpRequestMetadata.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpRequestParam.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpResponse.h" />
+    <Header path="../../../../../Web/src/HttpHandler/HttpResult.h" />
+
+</Headers>
+
+</Parameters>

Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebConstants.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebConstants.xml	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebConstants.xml	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Parameters>
+
+<!--
+   Type replacements.
+-->
+<PHPTypeReplacements>
+    <TypeReplacement oldtype="STRING" newtype="" />
+    <TypeReplacement oldtype="INT16" newtype="" />
+    <TypeReplacement oldtype="INT32" newtype="" />
+    <TypeReplacement oldtype="int" newtype="" />
+    <TypeReplacement oldtype="float" newtype="" />
+    <TypeReplacement oldtype="double" newtype="" />
+    <TypeReplacement oldtype="static" newtype="" />
+    <TypeReplacement oldtype="bool" newtype="" />
+</PHPTypeReplacements>
+<CSharpTypeReplacements>
+    <TypeReplacement oldtype="STRING" newtype="string" />
+    <TypeReplacement oldtype="INT16" newtype="short" />
+    <TypeReplacement oldtype="INT32" newtype="int" />
+    <TypeReplacement oldtype="int" newtype="int" />
+    <TypeReplacement oldtype="float" newtype="float" />
+    <TypeReplacement oldtype="double" newtype="double" />
+    <TypeReplacement oldtype="static" newtype="" />
+    <TypeReplacement oldtype="const" newtype="const" />
+</CSharpTypeReplacements>
+<JavaTypeReplacements>
+    <TypeReplacement oldtype="STRING" newtype="String" />
+    <TypeReplacement oldtype="INT16" newtype="short" />
+    <TypeReplacement oldtype="INT32" newtype="int" />
+    <TypeReplacement oldtype="int" newtype="int" />
+    <TypeReplacement oldtype="float" newtype="float" />
+    <TypeReplacement oldtype="double" newtype="double" />
+    <TypeReplacement oldtype="const" newtype="final" />
+    <TypeReplacement oldtype="bool" newtype="boolean" />
+</JavaTypeReplacements>
+
+<!--
+   Inline section.
+-->
+<Inline>
+//
+//  Copyright (C) 2004-2011 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+</Inline>
+
+<Namespace>OSGeo.MapGuide</Namespace>
+<Package>org.osgeo.mapguide</Package>
+
+<Classes>
+  <Class name="MgWebWidgetType" />
+  <Class name="MgWebTaskButtonType" />
+  <Class name="MgWebTargetType" />
+  <Class name="MgWebTargetViewerType" />
+  <Class name="MgWebActions" />
+</Classes>
+
+<!--
+   C++ Headers section.  If you add headers to this section then you
+   must also add them to Makefile.am in the JavaApi and PhpApi folders.
+-->
+<Headers>
+
+    <!-- API -->
+    <Header path="../../../../../Web/src/WebApp/WebActions.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTargetType.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTargetViewerType.h" />
+    <Header path="../../../../../Web/src/WebApp/WebTaskButtonType.h" />
+    <Header path="../../../../../Web/src/WebApp/WebWidgetType.h" />
+</Headers>
+
+</Parameters>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/dotnetcore_split.i
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/dotnetcore_split.i	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/dotnetcore_split.i	2020-11-10 12:31:52 UTC (rev 9766)
@@ -155,3 +155,17 @@
 %typemap(cstype) BYTE_ARRAY_IN "global::System.Byte[]"
 %typemap(imtype) BYTE_ARRAY_IN "global::System.Byte[]"
 %typemap(ctype)  BYTE_ARRAY_IN "unsigned char*"
+
+/**
+ * Special visibility override handling for split layout. Such classes are either
+ * derived in other assemblies or we need their generated getCPtr() method to be
+ * publicly accessible
+ */
+SWIG_CSBODY_PROXY(protected, public, MgDisposable)
+SWIG_CSBODY_PROXY(protected, public, MgGuardDisposable)
+SWIG_CSBODY_PROXY(internal, public, MgByteReader)
+SWIG_CSBODY_PROXY(protected, public, MgNamedSerializable)
+SWIG_CSBODY_PROXY(protected, public, MgSerializable)
+SWIG_CSBODY_PROXY(protected, public, MgCollection)
+SWIG_CSBODY_PROXY(protected, public, MgNullableProperty)
+SWIG_CSBODY_PROXY(protected, public, MgPropertyDefinition)
\ No newline at end of file

Deleted: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/custom/AssemblyInfo.cs
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/custom/AssemblyInfo.cs	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/custom/AssemblyInfo.cs	2020-11-10 12:31:52 UTC (rev 9766)
@@ -1,5 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("OSGeo.MapGuide.Geometry")]
-[assembly: InternalsVisibleTo("OSGeo.MapGuide.PlatformBase")]
-[assembly: InternalsVisibleTo("OSGeo.MapGuide.MapGuideCommon")]
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.MapGuideCommon/OSGeo.MapGuide.MapGuideCommon.csproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.MapGuideCommon/OSGeo.MapGuide.MapGuideCommon.csproj	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.MapGuideCommon/OSGeo.MapGuide.MapGuideCommon.csproj	2020-11-10 12:31:52 UTC (rev 9766)
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <PackageId>OSGeo.MapGuide.PlatformBase</PackageId>
+    <PackageId>OSGeo.MapGuide.MapGuideCommon</PackageId>
     <TargetFramework>netstandard2.0</TargetFramework>
     <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
     <PlatformTarget>AnyCPU</PlatformTarget>

Index: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web	2020-11-10 12:31:52 UTC (rev 9766)

Property changes on: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,3 ##
+obj
+bin
+*.cs
Added: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1,40 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <PackageId>OSGeo.MapGuide.Web</PackageId>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <Version>4.0.0.0</Version>
+    <PackageProjectUrl>https://mapguide.osgeo.org/</PackageProjectUrl>
+    <RepositoryUrl>https://mapguide.osgeo.org/</RepositoryUrl>
+    <PackageIconUrl>https://mapguide.osgeo.org/</PackageIconUrl>
+    <PackageTags>MapGuide GIS Geospatial Maps</PackageTags>
+    <Authors>OSGeo</Authors>
+    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
+    <PackageLicenseExpression></PackageLicenseExpression>
+    <PackageLicenseFile>License.txt</PackageLicenseFile>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="build/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="..\Common\MgClassMap.cs" Link="MgClassMap.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Include="..\..\..\..\..\License.txt">
+      <Pack>True</Pack>
+      <PackagePath></PackagePath>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\OSGeo.MapGuide.Foundation\OSGeo.MapGuide.Foundation.csproj" />
+    <ProjectReference Include="..\OSGeo.MapGuide.PlatformBase\OSGeo.MapGuide.PlatformBase.csproj" />
+  </ItemGroup>
+
+</Project>

Index: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native	2020-11-10 11:22:48 UTC (rev 9765)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native	2020-11-10 12:31:52 UTC (rev 9766)

Property changes on: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,2 ##
+*.dll
+*.pdb
Added: sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native/README.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native/README.txt	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/runtimes/win-x64/native/README.txt	2020-11-10 12:31:52 UTC (rev 9766)
@@ -0,0 +1 @@
+All ummanaged libraries being P/Invoked (including their dependencies) go here
\ No newline at end of file



More information about the mapguide-commits mailing list