[mapguide-commits] r9974 - in trunk/MgDev: . Portable Portable/DesktopUnmanagedApi/DotNet Portable/DesktopUnmanagedApi/DotNet/Partials Portable/DesktopUnmanagedApi/JavaApiEx Portable/DesktopUnmanagedApi/JavaApiEx/TestApps Portable/DesktopUnmanagedApi/MapGuideApi Portable/DotNetHarness Portable/Localization Portable/MapViewer/Properties Portable/MapViewer.Desktop Portable/MapViewer.Desktop/Properties Portable/MapViewerTest Portable/MgAppLayout Portable/MgPortable Portable/MgPortable/Log Portable/MgPortable/MapLayer Portable/MgPortable/Services Portable/MgPortable/Services/Drawing Portable/MgPortable/Services/Feature Portable/MgPortable/Services/Feature/Commands Portable/MgPortable/Services/Rendering Portable/MgPortable/Services/Resource Portable/MgPortable/Services/Stylization Portable/MgPortable/Services/Tile Portable/MgPortable/System Portable/Samples Portable/Samples/AdvancedSample Portable/Samples/AdvancedSample/Properties Portable/Samples/BasicSample Portable/Samples/FreeFormExample Portab le/Samples/SampleExtension Portable/UnitTest

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Oct 10 03:10:46 PDT 2022


Author: jng
Date: 2022-10-10 03:10:45 -0700 (Mon, 10 Oct 2022)
New Revision: 9974

Added:
   trunk/MgDev/Portable/
   trunk/MgDev/Portable/MgPortable/
   trunk/MgDev/Portable/MgPortable/MgPortable.h
   trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj
   trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj.filters
   trunk/MgDev/Portable/MgPortable/MgPortableBuild.cpp
   trunk/MgDev/Portable/Portable.sln
   trunk/MgDev/Portable/PortableDotNet.sln
Removed:
   trunk/MgDev/Desktop/
   trunk/MgDev/Portable/MgDesktop/
   trunk/MgDev/Portable/MgDesktopApi.sln
   trunk/MgDev/Portable/MgDesktopDotNet.sln
   trunk/MgDev/Portable/MgPortable/MgDesktop.h
   trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj
   trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj.filters
   trunk/MgDev/Portable/MgPortable/MgDesktopBuild.cpp
Modified:
   trunk/MgDev/
   trunk/MgDev/Portable/CMakeLists.txt
   trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/DesktopApi.vcxproj
   trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopApiGen.xml
   trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopConstants.xml
   trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/Partials/AssemblyInfo.cs
   trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/JavaApiEx.vcxproj
   trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/TestApps/Test.java
   trunk/MgDev/Portable/DesktopUnmanagedApi/MapGuideApi/MapGuideApiGen.xml
   trunk/MgDev/Portable/DotNetHarness/DotNetHarness.csproj
   trunk/MgDev/Portable/Localization/configuration.xml
   trunk/MgDev/Portable/MapViewer.Desktop/MapViewer.Desktop.csproj
   trunk/MgDev/Portable/MapViewer.Desktop/MgDesktopMapViewerProvider.cs
   trunk/MgDev/Portable/MapViewer.Desktop/Properties/AssemblyInfo.cs
   trunk/MgDev/Portable/MapViewer/Properties/AssemblyInfo.cs
   trunk/MgDev/Portable/MapViewerTest/CompactViewer.cs
   trunk/MgDev/Portable/MapViewerTest/Program.cs
   trunk/MgDev/Portable/MgAppLayout/Program.cs
   trunk/MgDev/Portable/MgPortable/CMakeLists.txt
   trunk/MgDev/Portable/MgPortable/Log/LogDetail.cpp
   trunk/MgDev/Portable/MgPortable/Log/LogDetail.h
   trunk/MgDev/Portable/MgPortable/Log/LogEntryData.cpp
   trunk/MgDev/Portable/MgPortable/Log/LogEntryData.h
   trunk/MgDev/Portable/MgPortable/Log/LogManager.cpp
   trunk/MgDev/Portable/MgPortable/Log/LogManager.h
   trunk/MgDev/Portable/MgPortable/Log/LogThread.cpp
   trunk/MgDev/Portable/MgPortable/Log/LogThread.h
   trunk/MgDev/Portable/MgPortable/MapLayer/Layer.cpp
   trunk/MgDev/Portable/MgPortable/MapLayer/Layer.h
   trunk/MgDev/Portable/MgPortable/MapLayer/Map.cpp
   trunk/MgDev/Portable/MgPortable/MapLayer/Map.h
   trunk/MgDev/Portable/MgPortable/MapLayer/Selection.cpp
   trunk/MgDev/Portable/MgPortable/MapLayer/Selection.h
   trunk/MgDev/Portable/MgPortable/Services/ByteSourceRasterStreamImpl.h
   trunk/MgDev/Portable/MgPortable/Services/DataReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/DataReader.h
   trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp
   trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h
   trunk/MgDev/Portable/MgPortable/Services/DrawingService.cpp
   trunk/MgDev/Portable/MgPortable/Services/DrawingService.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/DataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDefs.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/Matrix.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.cpp
   trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.h
   trunk/MgDev/Portable/MgPortable/Services/Feature/UniqueFunction.h
   trunk/MgDev/Portable/MgPortable/Services/FeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/FeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/FeatureService.cpp
   trunk/MgDev/Portable/MgPortable/Services/FeatureService.h
   trunk/MgDev/Portable/MgPortable/Services/ImageFormats.cpp
   trunk/MgDev/Portable/MgPortable/Services/ImageFormats.h
   trunk/MgDev/Portable/MgPortable/Services/MappingService.cpp
   trunk/MgDev/Portable/MgPortable/Services/MappingService.h
   trunk/MgDev/Portable/MgPortable/Services/ProfilingService.cpp
   trunk/MgDev/Portable/MgPortable/Services/ProfilingService.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingDefs.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgInputStream.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.h
   trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.cpp
   trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.h
   trunk/MgDev/Portable/MgPortable/Services/RenderingService.cpp
   trunk/MgDev/Portable/MgPortable/Services/RenderingService.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.h
   trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.h
   trunk/MgDev/Portable/MgPortable/Services/ResourceService.cpp
   trunk/MgDev/Portable/MgPortable/Services/ResourceService.h
   trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.h
   trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.cpp
   trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.h
   trunk/MgDev/Portable/MgPortable/Services/SqlReader.cpp
   trunk/MgDev/Portable/MgPortable/Services/SqlReader.h
   trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp
   trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h
   trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.cpp
   trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.h
   trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.cpp
   trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.h
   trunk/MgDev/Portable/MgPortable/Services/TileService.cpp
   trunk/MgDev/Portable/MgPortable/Services/TileService.h
   trunk/MgDev/Portable/MgPortable/Services/Transaction.cpp
   trunk/MgDev/Portable/MgPortable/Services/Transaction.h
   trunk/MgDev/Portable/MgPortable/System/ConfigProperties.cpp
   trunk/MgDev/Portable/MgPortable/System/ConfigProperties.h
   trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.cpp
   trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.h
   trunk/MgDev/Portable/MgPortable/System/Mutex.h
   trunk/MgDev/Portable/MgPortable/System/PlatformInit.cpp
   trunk/MgDev/Portable/MgPortable/System/PlatformInit.h
   trunk/MgDev/Portable/MgPortable/System/ThreadBase.cpp
   trunk/MgDev/Portable/MgPortable/System/ThreadBase.h
   trunk/MgDev/Portable/MgPortable/System/TimerUtil.cpp
   trunk/MgDev/Portable/MgPortable/System/TimerUtil.h
   trunk/MgDev/Portable/MgPortable/changelog.txt
   trunk/MgDev/Portable/Samples/AdvancedSample/MainForm.cs
   trunk/MgDev/Portable/Samples/AdvancedSample/Properties/AssemblyInfo.cs
   trunk/MgDev/Portable/Samples/BasicSample/MainForm.cs
   trunk/MgDev/Portable/Samples/FreeFormExample/MainForm.cs
   trunk/MgDev/Portable/Samples/SampleExtension/SamplesTaskPane.cs
   trunk/MgDev/Portable/Samples/samples_readme.txt
   trunk/MgDev/Portable/UnitTest/CMakeLists.txt
   trunk/MgDev/Portable/UnitTest/CppUnitExtensions.h
   trunk/MgDev/Portable/UnitTest/TestFeatureService.cpp
   trunk/MgDev/Portable/UnitTest/TestKmlService.cpp
   trunk/MgDev/Portable/UnitTest/TestLogManager.cpp
   trunk/MgDev/Portable/UnitTest/TestLogManagerThread.cpp
   trunk/MgDev/Portable/UnitTest/TestMappingService.cpp
   trunk/MgDev/Portable/UnitTest/TestPerformance.cpp
   trunk/MgDev/Portable/UnitTest/TestProfilingService.cpp
   trunk/MgDev/Portable/UnitTest/TestRenderingService.cpp
   trunk/MgDev/Portable/UnitTest/TestResourceService.cpp
   trunk/MgDev/Portable/UnitTest/TestServiceFactory.cpp
   trunk/MgDev/Portable/UnitTest/TestServiceFactory.h
   trunk/MgDev/Portable/UnitTest/TestTileService.cpp
   trunk/MgDev/Portable/UnitTest/UnitTest.vcxproj
   trunk/MgDev/Portable/UnitTest/main.cpp
Log:
Merged revision(s) 9812-9814 from sandbox/jng/vanilla_swig:
Rename Desktop to Portable
........
More Desktop -> Portable renaming
........
Mgd -> MgPortable renaming
........


Index: trunk/MgDev
===================================================================
--- trunk/MgDev	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev	2022-10-10 10:10:45 UTC (rev 9974)

Property changes on: trunk/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
## -41,6 +41,6 ##
 /sandbox/jng/utfgrid:9179-9212
 /sandbox/jng/v30:8212-8227
 /sandbox/jng/v4:9511-9519
-/sandbox/jng/vanilla_swig:9757-9811
+/sandbox/jng/vanilla_swig:9757-9814
 /sandbox/jng/wfs_hits:9569-9577
 /sandbox/rfc94:5099-5163
\ No newline at end of property
Index: trunk/MgDev/Portable
===================================================================
--- trunk/MgDev/Desktop	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable	2022-10-10 10:10:45 UTC (rev 9974)

Property changes on: trunk/MgDev/Portable
___________________________________________________________________
Added: bugtraq:number
## -0,0 +1 ##
+true
\ No newline at end of property
Added: svn:ignore
## -0,0 +1,13 ##
+bin
+lib
+obj
+MgDesktopApi.ncb
+MgDesktopApi.suo
+MgDesktopApi_VS2010.sdf
+MgDesktopApi_VS2010.suo
+MgDesktopDotNet_VS2010.suo
+MgDesktopDotNet.suo
+*.sdf
+*.suo
+.vs
+*.opendb
Added: svn:mergeinfo
## -0,0 +1,17 ##
+/branches/2.4/MgDev/Desktop:7152
+/branches/2.5/MgDev/Desktop:7511
+/branches/2.6/MgDev/Desktop:8276-8286,8314-8315
+/branches/3.0/MgDev/Desktop:8710
+/branches/3.1/MgDev/Desktop:9382
+/sandbox/jng/catch2/Desktop:9649-9676
+/sandbox/jng/clean_json/Desktop:8818-9180
+/sandbox/jng/cmake_v2/Desktop:9259-9317
+/sandbox/jng/convenience_apis/Desktop:8271-8363
+/sandbox/jng/createruntimemap/Desktop:7486-7555
+/sandbox/jng/dwftk/Desktop:8321-8324,8328-8329,8331,8352
+/sandbox/jng/flatten_exceptions/Desktop:9743-9755
+/sandbox/jng/geos34x/Desktop:8256-8259
+/sandbox/jng/msvc2019/Desktop:9884-9896
+/sandbox/jng/v30/Desktop:8215-8216,8218-8219
+/sandbox/jng/vanilla_swig/Desktop:9812-9814
+/sandbox/rfc94/Desktop:5099-5163
\ No newline at end of property
Modified: trunk/MgDev/Portable/CMakeLists.txt
===================================================================
--- trunk/MgDev/Desktop/CMakeLists.txt	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/CMakeLists.txt	2022-10-10 10:10:45 UTC (rev 9974)
@@ -11,5 +11,5 @@
 set(MG_COMPONENT "portable")
 set_install_subdir("portable/")
 
-add_subdirectory(MgDesktop)
+add_subdirectory(MgPortable)
 add_subdirectory(UnitTest)
\ No newline at end of file

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/DesktopApi.vcxproj
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/DotNet/DesktopApi.vcxproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/DesktopApi.vcxproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -81,12 +81,12 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe -p .\MapGuideDesktopConstants.xml -l C# -o ./MapGuideDesktopConstants.cs -t
 copy ..\dotnet.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe -p .\MapGuideDesktopApiGen.xml -l C#
-..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgDesktopApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
+..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgPortableApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
 </Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -96,7 +96,7 @@
       <ShowIncludes>false</ShowIncludes>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktopd.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortabled.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>..\..\bin\debug\MapGuideDesktopUnmanagedApi.dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\Lib\Debug;..\..\..\Common\lib\$(Configuration);..\..\..\Oem\FDO\Lib;..\..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -111,13 +111,13 @@
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe -p .\MapGuideDesktopConstants.xml -l C# -o ./MapGuideDesktopConstants.cs -t
 copy ..\dotnet.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win32\IMake.exe -p .\MapGuideDesktopApiGen.xml -l C#
-..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgDesktopApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
+..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgPortableApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
 </Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -126,7 +126,7 @@
       <ShowIncludes>false</ShowIncludes>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktop.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortable.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>..\..\bin\release\$(ProjectName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\Lib\release;..\..\..\Common\lib\$(Configuration);..\..\..\Oem\FDO\Lib;..\..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <DelayLoadDLLs>FDO.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
@@ -148,7 +148,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win64\IMake.exe -p .\MapGuideDesktopConstants.xml -l C# -o ./MapGuideDesktopConstants.cs -t
 copy ..\dotnet.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win64\IMake.exe -p .\MapGuideDesktopApiGen.xml -l C#
-..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgDesktopApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
+..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgPortableApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
 </Command>
     </PreBuildEvent>
     <Midl>
@@ -156,7 +156,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -166,7 +166,7 @@
       <ShowIncludes>false</ShowIncludes>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktopd.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortabled.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>..\..\bin\debug\MapGuideDesktopUnmanagedApi.dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\Lib\Debug64;..\..\..\Common\lib\$(Configuration)64;..\..\..\Oem\FDO\Lib64;..\..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -181,7 +181,7 @@
 ..\..\..\BuildTools\WebTools\IMake\Win64\IMake.exe -p .\MapGuideDesktopConstants.xml -l C# -o ./MapGuideDesktopConstants.cs -t
 copy ..\dotnet.i .\language.i
 ..\..\..\BuildTools\WebTools\IMake\Win64\IMake.exe -p .\MapGuideDesktopApiGen.xml -l C#
-..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgDesktopApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
+..\..\..\Oem\SWIGEx\Win32\swig -c++ -csharp -dllname MapGuideDesktopUnmanagedApi -namespace OSGeo.MapGuide -proxydir .\DesktopCustom -baseexception MgException -clsidcode ..\getclassid.code -clsiddata m_cls_id -catchallcode ..\catchall.code -dispose "((MgDisposable*)arg1)->Release()" -rethrow "e->Raise()%3b" -nodefault -noconstants -module MapGuideDesktopApi -o MgPortableApi_wrap.cpp -lib ..\..\..\Oem\SWIGEx\Lib MapGuideDesktopApi.i
 </Command>
     </PreBuildEvent>
     <Midl>
@@ -190,7 +190,7 @@
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\..\Common\MdfModel;..\..\..\Common\MdfParser;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;..\..\..\Oem\FDO\Inc;..\..\..\Oem\FDO\Inc\ExpressionEngine;..\..\..\Common\Renderers;..\..\..\Common\Stylization;..\..\..\Oem\DWFTK\develop\global\src;..\..\..\Oem\DWFTK\develop\global\src\dwf;..\..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -199,7 +199,7 @@
       <ShowIncludes>false</ShowIncludes>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktop.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortable.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>..\..\bin\release64\$(ProjectName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\Lib\Release64;..\..\..\Common\lib\$(Configuration)64;..\..\..\Oem\FDO\Lib64;..\..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <DelayLoadDLLs>FDO.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
@@ -222,7 +222,7 @@
     <None Include="MapGuideDesktopConstants.xml" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="MgDesktopApi_wrap.cpp" />
+    <ClCompile Include="MgPortableApi_wrap.cpp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopApiGen.xml
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/DotNet/MapGuideDesktopApiGen.xml	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopApiGen.xml	2022-10-10 10:10:45 UTC (rev 9974)
@@ -29,7 +29,7 @@
 
 #include "Foundation.h"
 #include "GeometryCommon.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #if defined(PHP) || defined(JAVA)
 typedef std::wstring STRINGPARAM;
@@ -54,7 +54,7 @@
     %import "../../../Web/src/DotNetUnmanagedApi/Geometry/GeometryApi.i"
     %import "../../../Web/src/DotNetUnmanagedApi/PlatformBase/PlatformBaseApi.i"
     %include "language.i"   //typemaps specific for each language
-    %include "../../MgDesktop/System/ClassId.h"
+    %include "../../MgPortable/System/ClassId.h"
 
     #if defined(PHPSWIG)
     // We force UTF-8 encoding for PHP
@@ -88,37 +88,37 @@
     
     <!-- MapGuideDesktop classes -->
 
-    <Header path="../../MgDesktop/Services/DataReader.h" />
-    <Header path="../../MgDesktop/Services/DrawingService.h" />
-    <Header path="../../MgDesktop/Services/FeatureReader.h" />
-    <Header path="../../MgDesktop/Services/FeatureService.h" />
-    <Header path="../../MgDesktop/Services/MappingService.h" />
-    <Header path="../../MgDesktop/Services/ProfilingService.h" />
-    <Header path="../../MgDesktop/Services/RenderingService.h" />
-    <Header path="../../MgDesktop/Services/ResourceService.h" />
-    <Header path="../../MgDesktop/Services/ScrollableFeatureReader.h" />
-    <Header path="../../MgDesktop/Services/ServiceFactory.h" />
-    <Header path="../../MgDesktop/Services/SqlReader.h" />
-    <Header path="../../MgDesktop/Services/TileService.h" />
-    <Header path="../../MgDesktop/Services/Transaction.h" />
+    <Header path="../../MgPortable/Services/DataReader.h" />
+    <Header path="../../MgPortable/Services/DrawingService.h" />
+    <Header path="../../MgPortable/Services/FeatureReader.h" />
+    <Header path="../../MgPortable/Services/FeatureService.h" />
+    <Header path="../../MgPortable/Services/MappingService.h" />
+    <Header path="../../MgPortable/Services/ProfilingService.h" />
+    <Header path="../../MgPortable/Services/RenderingService.h" />
+    <Header path="../../MgPortable/Services/ResourceService.h" />
+    <Header path="../../MgPortable/Services/ScrollableFeatureReader.h" />
+    <Header path="../../MgPortable/Services/ServiceFactory.h" />
+    <Header path="../../MgPortable/Services/SqlReader.h" />
+    <Header path="../../MgPortable/Services/TileService.h" />
+    <Header path="../../MgPortable/Services/Transaction.h" />
 
-    <Header path="../../MgDesktop/Services/Feature/RdbmsFeatureSourceParams.h" />
+    <Header path="../../MgPortable/Services/Feature/RdbmsFeatureSourceParams.h" />
 
-    <Header path="../../MgDesktop/Services/Rendering/DwfVersion.h" />
-    <Header path="../../MgDesktop/Services/Rendering/FeatureInformation.h" />
-    <Header path="../../MgDesktop/Services/Rendering/Layout.h" />
-    <Header path="../../MgDesktop/Services/Rendering/MapPlot.h" />
-    <Header path="../../MgDesktop/Services/Rendering/DwfVersion.h" />
-    <Header path="../../MgDesktop/Services/Rendering/MapPlotCollection.h" />
-    <Header path="../../MgDesktop/Services/Rendering/PlotSpecification.h" />
-    <Header path="../../MgDesktop/Services/Rendering/RenderingOptions.h" />
+    <Header path="../../MgPortable/Services/Rendering/DwfVersion.h" />
+    <Header path="../../MgPortable/Services/Rendering/FeatureInformation.h" />
+    <Header path="../../MgPortable/Services/Rendering/Layout.h" />
+    <Header path="../../MgPortable/Services/Rendering/MapPlot.h" />
+    <Header path="../../MgPortable/Services/Rendering/DwfVersion.h" />
+    <Header path="../../MgPortable/Services/Rendering/MapPlotCollection.h" />
+    <Header path="../../MgPortable/Services/Rendering/PlotSpecification.h" />
+    <Header path="../../MgPortable/Services/Rendering/RenderingOptions.h" />
 
-    <Header path="../../MgDesktop/System/PlatformInit.h" />
-    <Header path="../../MgDesktop/System/ExceptionCodes.h" />
+    <Header path="../../MgPortable/System/PlatformInit.h" />
+    <Header path="../../MgPortable/System/ExceptionCodes.h" />
 
-    <Header path="../../MgDesktop/MapLayer/Layer.h" />
-    <Header path="../../MgDesktop/MapLayer/Map.h" />
-    <Header path="../../MgDesktop/MapLayer/Selection.h" />
+    <Header path="../../MgPortable/MapLayer/Layer.h" />
+    <Header path="../../MgPortable/MapLayer/Map.h" />
+    <Header path="../../MgPortable/MapLayer/Selection.h" />
 
 </Headers>
 

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopConstants.xml
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/DotNet/MapGuideDesktopConstants.xml	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/MapGuideDesktopConstants.xml	2022-10-10 10:10:45 UTC (rev 9974)
@@ -85,10 +85,10 @@
    must also add them to Makefile.am in the JavaApi and PhpApi folders.
 -->
 <Headers>
-    <Header path="../../MgDesktop/Services/ImageFormats.h" />
-    <Header path="../../MgDesktop/Services/Rendering/MapPlotInstruction.h" />
-    <Header path="../../MgDesktop/Services/Rendering/UnitType.h" />
-    <Header path="../../MgDesktop/System/ExceptionCodes.h" />
+    <Header path="../../MgPortable/Services/ImageFormats.h" />
+    <Header path="../../MgPortable/Services/Rendering/MapPlotInstruction.h" />
+    <Header path="../../MgPortable/Services/Rendering/UnitType.h" />
+    <Header path="../../MgPortable/System/ExceptionCodes.h" />
 </Headers>
 
 </Parameters>

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/Partials/AssemblyInfo.cs
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/DotNet/Partials/AssemblyInfo.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/DotNet/Partials/AssemblyInfo.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -75,4 +75,4 @@
 //       documentation for more information on this.
 //
 [assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("MgDesktop.snk")]
+[assembly: AssemblyKeyFile("MgPortable.snk")]

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/JavaApiEx.vcxproj
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/JavaApiEx/JavaApiEx.vcxproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/JavaApiEx.vcxproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -108,7 +108,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgDesktop;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgPortable;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;JAVA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <ExceptionHandling>Async</ExceptionHandling>
@@ -118,7 +118,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgFoundationd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgGeometryd.lib;MgPlatformBased.lib;MgDesktopd.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgFoundationd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgGeometryd.lib;MgPlatformBased.lib;MgPortabled.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\Common\lib\$(Configuration);..\..\lib\debug;..\..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -148,7 +148,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgDesktop;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgPortable;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;JAVA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <ExceptionHandling>Async</ExceptionHandling>
@@ -158,7 +158,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgFoundationd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgGeometryd.lib;MgPlatformBased.lib;MgDesktopd.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgFoundationd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgGeometryd.lib;MgPlatformBased.lib;MgPortabled.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\Common\lib\$(Configuration)64;..\..\lib\debug64;..\..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -189,7 +189,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgDesktop;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgPortable;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;JAVA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -197,7 +197,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgFoundation.lib;MgMdfModel.lib;MgMdfParser.lib;MgGeometry.lib;MgPlatformBase.lib;MgDesktop.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgFoundation.lib;MgMdfModel.lib;MgMdfParser.lib;MgGeometry.lib;MgPlatformBase.lib;MgPortable.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\Common\lib\$(Configuration);..\..\lib\release;..\..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -229,7 +229,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgDesktop;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\PlatformBase;..\..\..\Common\Geometry;..\..\MgPortable;..\..\..\Oem\ACE\ACE_wrappers;..\..\..\Oem\dbxml\xerces-c-src\src;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;JAVA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -237,7 +237,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgFoundation.lib;MgMdfModel.lib;MgMdfParser.lib;MgGeometry.lib;MgPlatformBase.lib;MgDesktop.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgFoundation.lib;MgMdfModel.lib;MgMdfParser.lib;MgGeometry.lib;MgPlatformBase.lib;MgPortable.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <AdditionalLibraryDirectories>..\..\..\Common\lib\$(Configuration)64;..\..\lib\release64;..\..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/TestApps/Test.java
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/JavaApiEx/TestApps/Test.java	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/JavaApiEx/TestApps/Test.java	2022-10-10 10:10:45 UTC (rev 9974)
@@ -8,14 +8,14 @@
  *
  * Run with:
  *
- * $JAVA -classpath .;$JARPATH -Djava.library.path=$MGDESKTOPDIR Test
+ * $JAVA -classpath .;$JARPATH -Djava.library.path=$MgPortableDIR Test
  *
  * Where:
  *
  *  $JAVAC - Path to javac.exe (JDK must be same bitness as mg-desktop dlls)
  *  $JAVA - Path to java.exe (JDK must be same bitness as mg-desktop dlls)
- *  $MGDESKTOPDIR - Path to directory containing mg-desktop dlls
- *  $JARPATH - Path to MapGuideDesktopApi.jar, presumably $MGDESKTOPDIR
+ *  $MgPortableDIR - Path to directory containing mg-desktop dlls
+ *  $JARPATH - Path to MapGuideDesktopApi.jar, presumably $MgPortableDIR
  *
  */
 

Modified: trunk/MgDev/Portable/DesktopUnmanagedApi/MapGuideApi/MapGuideApiGen.xml
===================================================================
--- trunk/MgDev/Desktop/DesktopUnmanagedApi/MapGuideApi/MapGuideApiGen.xml	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DesktopUnmanagedApi/MapGuideApi/MapGuideApiGen.xml	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,7 +24,7 @@
 
 #include "Foundation.h"
 #include "GeometryCommon.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #if defined(PHP) || defined(JAVA)
 typedef std::wstring STRINGPARAM;
@@ -50,7 +50,7 @@
   %include "../../../Common/Foundation/System/FoundationClassId.h"
   %include "../../../Common/Geometry/GeometryClassId.h"
   %include "../../../Common/PlatformBase/Services/PlatformBaseClassId.h"
-  %include "../../MgDesktop/System/ClassId.h"
+  %include "../../MgPortable/System/ClassId.h"
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP
@@ -266,37 +266,37 @@
 
     <!-- mg-desktop classes -->
 
-    <Header path="../../MgDesktop/Services/DataReader.h" />
-    <Header path="../../MgDesktop/Services/DrawingService.h" />
-    <Header path="../../MgDesktop/Services/FeatureReader.h" />
-    <Header path="../../MgDesktop/Services/FeatureService.h" />
-    <Header path="../../MgDesktop/Services/MappingService.h" />
-    <Header path="../../MgDesktop/Services/ProfilingService.h" />
-    <Header path="../../MgDesktop/Services/RenderingService.h" />
-    <Header path="../../MgDesktop/Services/ResourceService.h" />
-    <Header path="../../MgDesktop/Services/ScrollableFeatureReader.h" />
-    <Header path="../../MgDesktop/Services/ServiceFactory.h" />
-    <Header path="../../MgDesktop/Services/SqlReader.h" />
-    <Header path="../../MgDesktop/Services/TileService.h" />
-    <Header path="../../MgDesktop/Services/Transaction.h" />
+    <Header path="../../MgPortable/Services/DataReader.h" />
+    <Header path="../../MgPortable/Services/DrawingService.h" />
+    <Header path="../../MgPortable/Services/FeatureReader.h" />
+    <Header path="../../MgPortable/Services/FeatureService.h" />
+    <Header path="../../MgPortable/Services/MappingService.h" />
+    <Header path="../../MgPortable/Services/ProfilingService.h" />
+    <Header path="../../MgPortable/Services/RenderingService.h" />
+    <Header path="../../MgPortable/Services/ResourceService.h" />
+    <Header path="../../MgPortable/Services/ScrollableFeatureReader.h" />
+    <Header path="../../MgPortable/Services/ServiceFactory.h" />
+    <Header path="../../MgPortable/Services/SqlReader.h" />
+    <Header path="../../MgPortable/Services/TileService.h" />
+    <Header path="../../MgPortable/Services/Transaction.h" />
 
-    <Header path="../../MgDesktop/Services/Feature/RdbmsFeatureSourceParams.h" />
+    <Header path="../../MgPortable/Services/Feature/RdbmsFeatureSourceParams.h" />
 
-    <Header path="../../MgDesktop/Services/Rendering/DwfVersion.h" />
-    <Header path="../../MgDesktop/Services/Rendering/FeatureInformation.h" />
-    <Header path="../../MgDesktop/Services/Rendering/Layout.h" />
-    <Header path="../../MgDesktop/Services/Rendering/MapPlot.h" />
-    <Header path="../../MgDesktop/Services/Rendering/DwfVersion.h" />
-    <Header path="../../MgDesktop/Services/Rendering/MapPlotCollection.h" />
-    <Header path="../../MgDesktop/Services/Rendering/PlotSpecification.h" />
-    <Header path="../../MgDesktop/Services/Rendering/RenderingOptions.h" />
+    <Header path="../../MgPortable/Services/Rendering/DwfVersion.h" />
+    <Header path="../../MgPortable/Services/Rendering/FeatureInformation.h" />
+    <Header path="../../MgPortable/Services/Rendering/Layout.h" />
+    <Header path="../../MgPortable/Services/Rendering/MapPlot.h" />
+    <Header path="../../MgPortable/Services/Rendering/DwfVersion.h" />
+    <Header path="../../MgPortable/Services/Rendering/MapPlotCollection.h" />
+    <Header path="../../MgPortable/Services/Rendering/PlotSpecification.h" />
+    <Header path="../../MgPortable/Services/Rendering/RenderingOptions.h" />
 
-    <Header path="../../MgDesktop/System/PlatformInit.h" />
-    <Header path="../../MgDesktop/System/ExceptionCodes.h" />
+    <Header path="../../MgPortable/System/PlatformInit.h" />
+    <Header path="../../MgPortable/System/ExceptionCodes.h" />
 
-    <Header path="../../MgDesktop/MapLayer/Layer.h" />
-    <Header path="../../MgDesktop/MapLayer/Map.h" />
-    <Header path="../../MgDesktop/MapLayer/Selection.h" />
+    <Header path="../../MgPortable/MapLayer/Layer.h" />
+    <Header path="../../MgPortable/MapLayer/Map.h" />
+    <Header path="../../MgPortable/MapLayer/Selection.h" />
 
 </Headers>
 

Modified: trunk/MgDev/Portable/DotNetHarness/DotNetHarness.csproj
===================================================================
--- trunk/MgDev/Desktop/DotNetHarness/DotNetHarness.csproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/DotNetHarness/DotNetHarness.csproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -327,7 +327,7 @@
       <DependentUpon>Resources.resx</DependentUpon>
       <DesignTime>True</DesignTime>
     </Compile>
-    <None Include="..\MgDesktop\Platform.ini">
+    <None Include="..\MgPortable\Platform.ini">
       <Link>Platform.ini</Link>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>

Modified: trunk/MgDev/Portable/Localization/configuration.xml
===================================================================
--- trunk/MgDev/Desktop/Localization/configuration.xml	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Localization/configuration.xml	2022-10-10 10:10:45 UTC (rev 9974)
@@ -3,7 +3,7 @@
 		<assembly name="OSGeo.MapGuide.Viewer" folder="MapViewer" namespace="OSGeo.MapGuide.Viewer" />
         <assembly name="OSGeo.MapGuide.Viewer.Desktop" folder="MapViewer.Desktop" namespace="OSGeo.MapGuide.Viewer.Desktop" />
 
-		<keyfile>..\DesktopUnmanagedApi\DotNet\MgDesktop.snk</keyfile>
+		<keyfile>..\DesktopUnmanagedApi\DotNet\MgPortable.snk</keyfile>
 		<versionassembly>..\bin\Release\MgAppLayout.exe</versionassembly>
 		<sourcefolder>..</sourcefolder>
 		<outputfolder>compiled</outputfolder>

Modified: trunk/MgDev/Portable/MapViewer/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MgDev/Desktop/MapViewer/Properties/AssemblyInfo.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewer/Properties/AssemblyInfo.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -35,4 +35,4 @@
 [assembly: AssemblyVersion("3.1.0.0")]
 [assembly: AssemblyFileVersion("3.1.0.0")]
 
-[assembly: AssemblyKeyFile("..\\DesktopUnmanagedApi\\DotNet\\MgDesktop.snk")]
+[assembly: AssemblyKeyFile("..\\DesktopUnmanagedApi\\DotNet\\MgPortable.snk")]

Modified: trunk/MgDev/Portable/MapViewer.Desktop/MapViewer.Desktop.csproj
===================================================================
--- trunk/MgDev/Desktop/MapViewer.Desktop/MapViewer.Desktop.csproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewer.Desktop/MapViewer.Desktop.csproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -79,7 +79,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="MgDesktopMapViewerProvider.cs" />
+    <Compile Include="MgPortableMapViewerProvider.cs" />
     <Compile Include="MgdTransientMapState.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Strings.Designer.cs" />

Modified: trunk/MgDev/Portable/MapViewer.Desktop/MgDesktopMapViewerProvider.cs
===================================================================
--- trunk/MgDev/Desktop/MapViewer.Desktop/MgDesktopMapViewerProvider.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewer.Desktop/MgDesktopMapViewerProvider.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -6,7 +6,7 @@
 
 namespace OSGeo.MapGuide.Viewer.Desktop
 {
-    public class MgDesktopMapViewerProvider : MgMapViewerProvider
+    public class MgPortableMapViewerProvider : MgMapViewerProvider
     {
         private MgdMap _implMap;
         private MgdRenderingService _renderSvc;
@@ -13,7 +13,7 @@
         private MgdMappingService _mappingSvc;
         private MgdServiceFactory _fact;
 
-        public MgDesktopMapViewerProvider(MgdMap map) : base(map) 
+        public MgPortableMapViewerProvider(MgdMap map) : base(map) 
         {
             _implMap = map;
         }

Modified: trunk/MgDev/Portable/MapViewer.Desktop/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MgDev/Desktop/MapViewer.Desktop/Properties/AssemblyInfo.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewer.Desktop/Properties/AssemblyInfo.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -35,4 +35,4 @@
 [assembly: AssemblyVersion("3.1.0.0")]
 [assembly: AssemblyFileVersion("3.1.0.0")]
 
-[assembly: AssemblyKeyFile("..\\DesktopUnmanagedApi\\DotNet\\MgDesktop.snk")]
+[assembly: AssemblyKeyFile("..\\DesktopUnmanagedApi\\DotNet\\MgPortable.snk")]

Modified: trunk/MgDev/Portable/MapViewerTest/CompactViewer.cs
===================================================================
--- trunk/MgDev/Desktop/MapViewerTest/CompactViewer.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewerTest/CompactViewer.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,7 +22,7 @@
         public void LoadMap(MgResourceIdentifier resId)
         {
             var map = new MgdMap(resId);
-            viewer.Init(new MgDesktopMapViewerProvider(map));
+            viewer.Init(new MgPortableMapViewerProvider(map));
             //viewer.RefreshMap();
         }
     }

Modified: trunk/MgDev/Portable/MapViewerTest/Program.cs
===================================================================
--- trunk/MgDev/Desktop/MapViewerTest/Program.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MapViewerTest/Program.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -60,7 +60,7 @@
                 map = new MgdMap(resId);
 
             //This is just a pass-through call to MgMapViewer.Init()
-            frm.LoadMap(new MgDesktopMapViewerProvider(map));
+            frm.LoadMap(new MgPortableMapViewerProvider(map));
 
             Application.ApplicationExit += new EventHandler(OnAppExit);
             Application.Run(frm);

Modified: trunk/MgDev/Portable/MgAppLayout/Program.cs
===================================================================
--- trunk/MgDev/Desktop/MgAppLayout/Program.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgAppLayout/Program.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -61,7 +61,7 @@
             }*/
 
             var mdfId = new MgResourceIdentifier(layout.Map.MapDefinition);
-            var provider = new MgDesktopMapViewerProvider(null);
+            var provider = new MgPortableMapViewerProvider(null);
             var resSvc = (MgResourceService)provider.CreateService(MgServiceType.ResourceService);
             if (resSvc.ResourceExists(mdfId))
             {

Deleted: trunk/MgDev/Portable/MgDesktopApi.sln
===================================================================
--- trunk/MgDev/Desktop/MgDesktopApi.sln	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgDesktopApi.sln	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,276 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.22823.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Foundation", "..\Common\Foundation\Foundation.vcxproj", "{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Geometry", "..\Common\Geometry\Geometry.vcxproj", "{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformBase", "..\Common\PlatformBase\PlatformBase.vcxproj", "{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfModel", "..\Common\MdfModel\MdfModel.vcxproj", "{C50254F2-654A-48DE-AF5B-20605AEF8D10}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfParser", "..\Common\MdfParser\MdfParser.vcxproj", "{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Renderers", "..\Common\Renderers\Renderers.vcxproj", "{38161685-88ED-415E-A545-CCC17BE069AE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Stylization", "..\Common\Stylization\Stylization.vcxproj", "{341D5463-186E-49BA-B942-3D3BE28D65C0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsCommon", "..\Server\src\Gws\GwsCommon\GwsCommon.vcxproj", "{DB2CC2E3-4754-4932-B865-424A44E58FD0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsQueryEngine", "..\Server\src\Gws\GwsQueryEngine\GwsQueryEngine.vcxproj", "{8D947123-A12C-45DA-BD00-8B62DD5A0459}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsResource", "..\Server\src\Gws\GwsResource\GwsResource.vcxproj", "{8F654896-85DC-4F32-99B2-670D66B0FBF1}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsInclude", "..\Server\src\Gws\Include\GwsInclude.vcxproj", "{E6B0012F-58F6-42F4-8F02-065C35829569}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FoundationDotNetApi", "..\Web\src\DotNetApi\Foundation\FoundationDotNetApi.vcxproj", "{5FE54BF6-2939-46BB-A811-277D46C901C4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeometryDotNetApi", "..\Web\src\DotNetApi\Geometry\GeometryDotNetApi.vcxproj", "{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformBaseDotNetApi", "..\Web\src\DotNetApi\PlatformBase\PlatformBaseDotNetApi.vcxproj", "{41B4993D-2D85-4DF9-BC71-83837F620C8D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FoundationApi", "..\Web\src\DotNetUnmanagedApi\Foundation\FoundationApi.vcxproj", "{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GeometryApi", "..\Web\src\DotNetUnmanagedApi\Geometry\GeometryApi.vcxproj", "{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformBaseApi", "..\Web\src\DotNetUnmanagedApi\PlatformBase\PlatformBaseApi.vcxproj", "{CB91F23F-4882-433B-961B-15946BA8B965}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MapGuideDesktopUnmanagedApi", "DesktopUnmanagedApi\DotNet\DesktopApi.vcxproj", "{E706FB1C-4431-4508-8A2F-239A143EFA1C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA} = {CBC0339F-E68B-48BA-9059-945483BEBDCA}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MgDesktop", "MgDesktop\MgDesktop.vcxproj", "{CBC0339F-E68B-48BA-9059-945483BEBDCA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4} = {F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459} = {8D947123-A12C-45DA-BD00-8B62DD5A0459}
-		{E6B0012F-58F6-42F4-8F02-065C35829569} = {E6B0012F-58F6-42F4-8F02-065C35829569}
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7} = {85882748-DD71-4D2B-9E5A-03AF8C8D91B7}
-		{341D5463-186E-49BA-B942-3D3BE28D65C0} = {341D5463-186E-49BA-B942-3D3BE28D65C0}
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425} = {A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}
-		{38161685-88ED-415E-A545-CCC17BE069AE} = {38161685-88ED-415E-A545-CCC17BE069AE}
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B} = {7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1} = {8F654896-85DC-4F32-99B2-670D66B0FBF1}
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0} = {D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0} = {DB2CC2E3-4754-4932-B865-424A44E58FD0}
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10} = {C50254F2-654A-48DE-AF5B-20605AEF8D10}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest", "UnitTest\UnitTest.vcxproj", "{67505883-F667-4C18-BCCA-63F3B76C64FF}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA} = {CBC0339F-E68B-48BA-9059-945483BEBDCA}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DesktopDotNetApi", "DesktopUnmanagedApi\DotNet\DesktopDotNetApi.vcxproj", "{AB42A48E-8C9C-4D05-826A-1E5B6C457753}"
-	ProjectSection(ProjectDependencies) = postProject
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C} = {E706FB1C-4431-4508-8A2F-239A143EFA1C}
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334} = {D70DE528-8829-42E6-8EF6-E8F2FCDA6334}
-		{5FE54BF6-2939-46BB-A811-277D46C901C4} = {5FE54BF6-2939-46BB-A811-277D46C901C4}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaApiEx", "DesktopUnmanagedApi\JavaApiEx\JavaApiEx.vcxproj", "{C02F44CB-D916-428D-A1A5-04E225A2A4EC}"
-	ProjectSection(ProjectDependencies) = postProject
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7} = {85882748-DD71-4D2B-9E5A-03AF8C8D91B7}
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA} = {CBC0339F-E68B-48BA-9059-945483BEBDCA}
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10} = {C50254F2-654A-48DE-AF5B-20605AEF8D10}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Security", "..\Common\Security\Security.vcxproj", "{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|Win32.ActiveCfg = Debug|Win32
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|Win32.Build.0 = Debug|Win32
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.ActiveCfg = Debug|x64
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.Build.0 = Debug|x64
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|Win32.ActiveCfg = Release|Win32
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|Win32.Build.0 = Release|Win32
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.ActiveCfg = Release|x64
-		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.Build.0 = Release|x64
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|Win32.Build.0 = Debug|Win32
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.ActiveCfg = Debug|x64
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.Build.0 = Debug|x64
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|Win32.ActiveCfg = Release|Win32
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|Win32.Build.0 = Release|Win32
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.ActiveCfg = Release|x64
-		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.Build.0 = Release|x64
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|Win32.Build.0 = Debug|Win32
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.ActiveCfg = Debug|x64
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.Build.0 = Debug|x64
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|Win32.ActiveCfg = Release|Win32
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|Win32.Build.0 = Release|Win32
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.ActiveCfg = Release|x64
-		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.Build.0 = Release|x64
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|Win32.Build.0 = Debug|Win32
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.ActiveCfg = Debug|x64
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.Build.0 = Debug|x64
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|Win32.ActiveCfg = Release|Win32
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|Win32.Build.0 = Release|Win32
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.ActiveCfg = Release|x64
-		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.Build.0 = Release|x64
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|Win32.ActiveCfg = Debug|Win32
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|Win32.Build.0 = Debug|Win32
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.ActiveCfg = Debug|x64
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.Build.0 = Debug|x64
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|Win32.ActiveCfg = Release|Win32
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|Win32.Build.0 = Release|Win32
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.ActiveCfg = Release|x64
-		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.Build.0 = Release|x64
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|Win32.ActiveCfg = Debug|Win32
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|Win32.Build.0 = Debug|Win32
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|x64.ActiveCfg = Debug|x64
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|x64.Build.0 = Debug|x64
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|Win32.ActiveCfg = Release|Win32
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|Win32.Build.0 = Release|Win32
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|x64.ActiveCfg = Release|x64
-		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|x64.Build.0 = Release|x64
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|Win32.Build.0 = Debug|Win32
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|x64.ActiveCfg = Debug|x64
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|x64.Build.0 = Debug|x64
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|Win32.ActiveCfg = Release|Win32
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|Win32.Build.0 = Release|Win32
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|x64.ActiveCfg = Release|x64
-		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|x64.Build.0 = Release|x64
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|Win32.ActiveCfg = Debug|Win32
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|Win32.Build.0 = Debug|Win32
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|x64.ActiveCfg = Debug|x64
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|x64.Build.0 = Debug|x64
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|Win32.ActiveCfg = Release|Win32
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|Win32.Build.0 = Release|Win32
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|x64.ActiveCfg = Release|x64
-		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|x64.Build.0 = Release|x64
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|Win32.Build.0 = Debug|Win32
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|x64.ActiveCfg = Debug|x64
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|x64.Build.0 = Debug|x64
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|Win32.ActiveCfg = Release|Win32
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|Win32.Build.0 = Release|Win32
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|x64.ActiveCfg = Release|x64
-		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|x64.Build.0 = Release|x64
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|Win32.Build.0 = Debug|Win32
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|x64.ActiveCfg = Debug|x64
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|x64.Build.0 = Debug|x64
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|Win32.ActiveCfg = Release|Win32
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|Win32.Build.0 = Release|Win32
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|x64.ActiveCfg = Release|x64
-		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|x64.Build.0 = Release|x64
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|Win32.Build.0 = Debug|Win32
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|x64.ActiveCfg = Debug|x64
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|x64.Build.0 = Debug|x64
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|Win32.ActiveCfg = Release|Win32
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|Win32.Build.0 = Release|Win32
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|x64.ActiveCfg = Release|x64
-		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|x64.Build.0 = Release|x64
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Debug|Win32.Build.0 = Debug|Win32
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Debug|x64.ActiveCfg = Debug|x64
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Debug|x64.Build.0 = Debug|x64
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Release|Win32.ActiveCfg = Release|Win32
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Release|Win32.Build.0 = Release|Win32
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Release|x64.ActiveCfg = Release|x64
-		{5FE54BF6-2939-46BB-A811-277D46C901C4}.Release|x64.Build.0 = Release|x64
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Debug|Win32.ActiveCfg = Debug|Win32
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Debug|Win32.Build.0 = Debug|Win32
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Debug|x64.ActiveCfg = Debug|x64
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Debug|x64.Build.0 = Debug|x64
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Release|Win32.ActiveCfg = Release|Win32
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Release|Win32.Build.0 = Release|Win32
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Release|x64.ActiveCfg = Release|x64
-		{D70DE528-8829-42E6-8EF6-E8F2FCDA6334}.Release|x64.Build.0 = Release|x64
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Debug|Win32.Build.0 = Debug|Win32
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Debug|x64.ActiveCfg = Debug|x64
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Debug|x64.Build.0 = Debug|x64
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Release|Win32.ActiveCfg = Release|Win32
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Release|Win32.Build.0 = Release|Win32
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Release|x64.ActiveCfg = Release|x64
-		{41B4993D-2D85-4DF9-BC71-83837F620C8D}.Release|x64.Build.0 = Release|x64
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Debug|Win32.ActiveCfg = Debug|Win32
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Debug|Win32.Build.0 = Debug|Win32
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Debug|x64.ActiveCfg = Debug|x64
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Debug|x64.Build.0 = Debug|x64
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Release|Win32.ActiveCfg = Release|Win32
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Release|Win32.Build.0 = Release|Win32
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Release|x64.ActiveCfg = Release|x64
-		{A8D4FED3-0AA1-4AE6-B734-A4499A4BB4F2}.Release|x64.Build.0 = Release|x64
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Debug|Win32.ActiveCfg = Debug|Win32
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Debug|Win32.Build.0 = Debug|Win32
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Debug|x64.ActiveCfg = Debug|x64
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Debug|x64.Build.0 = Debug|x64
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Release|Win32.ActiveCfg = Release|Win32
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Release|Win32.Build.0 = Release|Win32
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Release|x64.ActiveCfg = Release|x64
-		{7A6EFE8B-A2F8-4C47-87A3-B7D1C4385AC2}.Release|x64.Build.0 = Release|x64
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Debug|Win32.ActiveCfg = Debug|Win32
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Debug|Win32.Build.0 = Debug|Win32
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Debug|x64.ActiveCfg = Debug|x64
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Debug|x64.Build.0 = Debug|x64
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Release|Win32.ActiveCfg = Release|Win32
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Release|Win32.Build.0 = Release|Win32
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Release|x64.ActiveCfg = Release|x64
-		{CB91F23F-4882-433B-961B-15946BA8B965}.Release|x64.Build.0 = Release|x64
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Debug|Win32.Build.0 = Debug|Win32
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Debug|x64.ActiveCfg = Debug|x64
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Debug|x64.Build.0 = Debug|x64
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Release|Win32.ActiveCfg = Release|Win32
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Release|Win32.Build.0 = Release|Win32
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Release|x64.ActiveCfg = Release|x64
-		{E706FB1C-4431-4508-8A2F-239A143EFA1C}.Release|x64.Build.0 = Release|x64
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|Win32.ActiveCfg = Debug|Win32
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|Win32.Build.0 = Debug|Win32
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|x64.ActiveCfg = Debug|x64
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|x64.Build.0 = Debug|x64
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|Win32.ActiveCfg = Release|Win32
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|Win32.Build.0 = Release|Win32
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|x64.ActiveCfg = Release|x64
-		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|x64.Build.0 = Release|x64
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|Win32.Build.0 = Debug|Win32
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|x64.ActiveCfg = Debug|x64
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|x64.Build.0 = Debug|x64
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|Win32.ActiveCfg = Release|Win32
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|Win32.Build.0 = Release|Win32
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|x64.ActiveCfg = Release|x64
-		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|x64.Build.0 = Release|x64
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Debug|Win32.Build.0 = Debug|Win32
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Debug|x64.ActiveCfg = Debug|Win32
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Release|Win32.ActiveCfg = Release|Win32
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Release|Win32.Build.0 = Release|Win32
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Release|x64.ActiveCfg = Release|x64
-		{AB42A48E-8C9C-4D05-826A-1E5B6C457753}.Release|x64.Build.0 = Release|x64
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|Win32.Build.0 = Debug|Win32
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|x64.ActiveCfg = Debug|x64
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Debug|x64.Build.0 = Debug|x64
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|Win32.ActiveCfg = Release|Win32
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|Win32.Build.0 = Release|Win32
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|x64.ActiveCfg = Release|x64
-		{C02F44CB-D916-428D-A1A5-04E225A2A4EC}.Release|x64.Build.0 = Release|x64
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|Win32.ActiveCfg = Debug|Win32
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|Win32.Build.0 = Debug|Win32
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.ActiveCfg = Debug|x64
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.Build.0 = Debug|x64
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|Win32.ActiveCfg = Release|Win32
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|Win32.Build.0 = Release|Win32
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.ActiveCfg = Release|x64
-		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

Deleted: trunk/MgDev/Portable/MgDesktopDotNet.sln
===================================================================
--- trunk/MgDev/Desktop/MgDesktopDotNet.sln	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgDesktopDotNet.sln	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,76 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows Desktop
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetHarness", "DotNetHarness\DotNetHarness.csproj", "{A5881D59-BD24-4A3A-A707-F18A25724D29}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetUnitTest", "DotNetUnitTest\DotNetUnitTest.csproj", "{FDA196F0-3C55-4360-B207-BA5EF6D746F8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewer", "MapViewer\MapViewer.csproj", "{D46ED17B-329B-4D80-9181-FEF8307EFCBB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewer.Desktop", "MapViewer.Desktop\MapViewer.Desktop.csproj", "{E2001B46-F226-4F7B-911E-252B9644236E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewerTest", "MapViewerTest\MapViewerTest.csproj", "{E2FC8B99-0638-4C01-86C4-1B625D966981}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MgAppLayout", "MgAppLayout\MgAppLayout.csproj", "{F6054D81-E857-49FB-945F-AC2ECD9BB27A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x64.ActiveCfg = Debug|x64
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x64.Build.0 = Debug|x64
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x86.ActiveCfg = Debug|x86
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x86.Build.0 = Debug|x86
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x64.ActiveCfg = Release|x64
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x64.Build.0 = Release|x64
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x86.ActiveCfg = Release|x86
-		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x86.Build.0 = Release|x86
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x64.ActiveCfg = Debug|x64
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x64.Build.0 = Debug|x64
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x86.ActiveCfg = Debug|x86
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x86.Build.0 = Debug|x86
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x64.ActiveCfg = Release|x64
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x64.Build.0 = Release|x64
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x86.ActiveCfg = Release|x86
-		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x86.Build.0 = Release|x86
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x64.Build.0 = Debug|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x86.Build.0 = Debug|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x64.ActiveCfg = Release|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x64.Build.0 = Release|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x86.ActiveCfg = Release|Any CPU
-		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x86.Build.0 = Release|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x64.Build.0 = Debug|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x86.Build.0 = Debug|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x64.ActiveCfg = Release|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x64.Build.0 = Release|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x86.ActiveCfg = Release|Any CPU
-		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x86.Build.0 = Release|Any CPU
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x64.ActiveCfg = Debug|x64
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x64.Build.0 = Debug|x64
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x86.ActiveCfg = Debug|x86
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x86.Build.0 = Debug|x86
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x64.ActiveCfg = Release|x64
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x64.Build.0 = Release|x64
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x86.ActiveCfg = Release|x86
-		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x86.Build.0 = Release|x86
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x64.ActiveCfg = Debug|x64
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x64.Build.0 = Debug|x64
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x86.ActiveCfg = Debug|x86
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x86.Build.0 = Debug|x86
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x64.ActiveCfg = Release|x64
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x64.Build.0 = Release|x64
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x86.ActiveCfg = Release|x86
-		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

Modified: trunk/MgDev/Portable/MgPortable/CMakeLists.txt
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/CMakeLists.txt	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/CMakeLists.txt	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,4 +1,4 @@
-project(mgdesktop)
+project(MgPortable)
 
 #NOTE: DWF headers *must* go before MdfModel headers because we want Version.h from
 #MdfModel first and not DWF Toolkit
@@ -23,17 +23,17 @@
     ${MG_SERVER_GWS_DIR}/GwsQueryEngine/inc
 )
 
-set (MgDesktop_SRCS
-    MgDesktopBuild.cpp
+set (MgPortable_SRCS
+    MgPortableBuild.cpp
 )
 
 add_definitions(-DDWFCORE_STATIC -DDWFTK_STATIC -DDWFTK_USE_DWFCORE_ZLIB -DDWFTK_BUILD_EXPAT -DWHIP_STATIC_LIB)
 
-add_library(MgDesktop${MG_VERSION_SUFFIX} SHARED ${MgDesktop_SRCS})
-install(TARGETS MgDesktop${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT})
-install_symlink(libMgDesktop${MG_VERSION_SUFFIX}.so libMgDesktop.so ${MG_COMPONENT})
+add_library(MgPortable${MG_VERSION_SUFFIX} SHARED ${MgPortable_SRCS})
+install(TARGETS MgPortable${MG_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${MG_COMPONENT})
+install_symlink(libMgPortable${MG_VERSION_SUFFIX}.so libMgPortable.so ${MG_COMPONENT})
 
-target_link_libraries(MgDesktop${MG_VERSION_SUFFIX}
+target_link_libraries(MgPortable${MG_VERSION_SUFFIX}
     ${ACE_LIBRARY}
     ${XERCESC_LIBRARIES}
     ${FDO_LIBRARY}

Modified: trunk/MgDev/Portable/MgPortable/Log/LogDetail.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogDetail.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogDetail.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,10 +17,10 @@
 
 #include "LogDetail.h"
 
-MgdLogDetail::MgdLogDetail(INT32 serviceNum, INT8 detail, CREFSTRING methodName, REFSTRING errorLogVar)
+MgPortableLogDetail::MgPortableLogDetail(INT32 serviceNum, INT8 detail, CREFSTRING methodName, REFSTRING errorLogVar)
 : m_errorLogVar(errorLogVar)
 {
-    MgdLogManager* logMgr = MgdLogManager::GetInstance();
+    MgPortableLogManager* logMgr = MgPortableLogManager::GetInstance();
     m_minDetail = logMgr->GetDetailLevelForService(serviceNum);
     m_bLoggingActive = logMgr->IsTraceLogEnabled();
     m_delimiter = logMgr->GetLogDelimiter();
@@ -28,12 +28,12 @@
     m_methodName = methodName;
 }
 
-MgdLogDetail::~MgdLogDetail()
+MgPortableLogDetail::~MgPortableLogDetail()
 {
     Terminate();
 }
 
-void MgdLogDetail::AppendName(CREFSTRING paramName)
+void MgPortableLogDetail::AppendName(CREFSTRING paramName)
 {
     if (m_params.length() > 0)
     {
@@ -43,17 +43,17 @@
     m_params.append(L"=");
 }
 
- bool MgdLogDetail::ParamsActive()
+ bool MgPortableLogDetail::ParamsActive()
  {
-     return m_minDetail > MgdLogDetail::Error;
+     return m_minDetail > MgPortableLogDetail::Error;
  }
 
- bool MgdLogDetail::ShouldLog()
+ bool MgPortableLogDetail::ShouldLog()
  {
      return m_detail <= m_minDetail;
  }
 
-void MgdLogDetail::AddResourceIdentifier(CREFSTRING paramName, MgResourceIdentifier* resId)
+void MgPortableLogDetail::AddResourceIdentifier(CREFSTRING paramName, MgResourceIdentifier* resId)
 {
 
     if (NULL != resId && ParamsActive())
@@ -63,7 +63,7 @@
     }
 }
 
-void MgdLogDetail::AddInt64(CREFSTRING paramName, INT64 paramValue)
+void MgPortableLogDetail::AddInt64(CREFSTRING paramName, INT64 paramValue)
 {
     if (ParamsActive())
     {
@@ -74,7 +74,7 @@
     }
 }
 
-void MgdLogDetail::AddInt32(CREFSTRING paramName, INT32 paramValue)
+void MgPortableLogDetail::AddInt32(CREFSTRING paramName, INT32 paramValue)
 {
     if (ParamsActive())
     {
@@ -85,7 +85,7 @@
     }
 }
 
-void MgdLogDetail::AddBool(CREFSTRING paramName, bool paramValue)
+void MgPortableLogDetail::AddBool(CREFSTRING paramName, bool paramValue)
 {
     if (ParamsActive())
     {
@@ -94,7 +94,7 @@
     }
 }
 
-void MgdLogDetail::AddString(CREFSTRING paramName, CREFSTRING paramValue)
+void MgPortableLogDetail::AddString(CREFSTRING paramName, CREFSTRING paramValue)
 {
     if (ParamsActive())
     {
@@ -103,7 +103,7 @@
     }
 }
 
-void MgdLogDetail::AddObject(CREFSTRING paramName, MgSerializable* object)
+void MgPortableLogDetail::AddObject(CREFSTRING paramName, MgSerializable* object)
 {
     if (NULL != object && ParamsActive())
     {
@@ -112,7 +112,7 @@
     }
 }
 
-void MgdLogDetail::Create()
+void MgPortableLogDetail::Create()
 {
     // Always propagate parameters for exception message
     m_errorLogVar = m_params;
@@ -129,7 +129,7 @@
     }
 }
 
-void MgdLogDetail::Terminate()
+void MgPortableLogDetail::Terminate()
 {
     if (ShouldLog())
     {

Modified: trunk/MgDev/Portable/MgPortable/Log/LogDetail.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogDetail.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogDetail.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,14 +15,14 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef MgdLogDetail_H_
-#define MgdLogDetail_H_
+#ifndef MgPortableLogDetail_H_
+#define MgPortableLogDetail_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "LogManager.h"
 
 //
-// MgdLogDetail maintains detailed information for both the Trace Log and the Error Log.
+// MgPortableLogDetail maintains detailed information for both the Trace Log and the Error Log.
 // It also handles writing of the trace log based on information contained in serverconfig.ini
 //
 // [GeneralProperties]
@@ -36,9 +36,9 @@
 // Only error messages without parameters are logged for Resource Service, and
 // Error messages and warnings with parameters are logged for Feature Service
 //
-class MG_DESKTOP_API MgdLogDetail
+class MG_DESKTOP_API MgPortableLogDetail
 {
-    DECLARE_CLASSNAME(MgdLogDetail)
+    DECLARE_CLASSNAME(MgPortableLogDetail)
 
 public:
 /// Enumerations
@@ -69,8 +69,8 @@
 
     // Defines a log entry for the specified service and detail level.  This entry will only be emitted
     // into trace log if the serverconfig.ini LogsDetail >= detail
-    MgdLogDetail(INT32 serviceType, INT8 detail, CREFSTRING methodName, REFSTRING errorLogVar);
-    virtual ~MgdLogDetail();
+    MgPortableLogDetail(INT32 serviceType, INT8 detail, CREFSTRING methodName, REFSTRING errorLogVar);
+    virtual ~MgPortableLogDetail();
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Log/LogEntryData.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogEntryData.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogEntryData.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "LogEntryData.h"
 
 //-------------------------------------------------------------------------
@@ -24,9 +24,9 @@
 
 ///////////////////////////////////////////////////////////////////////////
 //  <summary>
-//  The constructor for the MgdLogEntryData object.
+//  The constructor for the MgPortableLogEntryData object.
 //  </summary>
-MgdLogEntryData::MgdLogEntryData( enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority ) :
+MgPortableLogEntryData::MgPortableLogEntryData( enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority ) :
     m_logType(logType),
     m_message(message.c_str()),
     m_logPriority(logPriority)
@@ -35,8 +35,8 @@
 
 ///////////////////////////////////////////////////////////////////////////
 //  <summary>
-//  The destructor for the MgdLogEntryData object.
+//  The destructor for the MgPortableLogEntryData object.
 //  </summary>
-MgdLogEntryData::~MgdLogEntryData()
+MgPortableLogEntryData::~MgPortableLogEntryData()
 {
 };

Modified: trunk/MgDev/Portable/MgPortable/Log/LogEntryData.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogEntryData.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogEntryData.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,15 +20,15 @@
 
 ///////////////////////////////////////////////////////////////////////////
 //  The LogEntryData class encapsulates the data needed by the log thread.
-class MgdLogEntryData : public ACE_Data_Block
+class MgPortableLogEntryData : public ACE_Data_Block
 {
-    DECLARE_CLASSNAME(MgdLogEntryData)
+    DECLARE_CLASSNAME(MgPortableLogEntryData)
 
 ///////////////////////////////////////////////////////////////////////
 ///  Constructors/Destructors
 public:
-    MgdLogEntryData( enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority );
-    virtual ~MgdLogEntryData();
+    MgPortableLogEntryData( enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority );
+    virtual ~MgPortableLogEntryData();
 
 ///////////////////////////////////////////////////////////////////////
 ///  Accessors

Modified: trunk/MgDev/Portable/MgPortable/Log/LogManager.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogManager.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogManager.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "LogEntryData.h"
 #include "LogManager.h"
 #include "LogThread.h"
@@ -25,101 +25,101 @@
 const int SECONDSINDAY  = 86400;
 
 // Process-wide MgResources
-Ptr<MgdLogManager> MgdLogManager::m_logManager          = (MgdLogManager*)NULL;
+Ptr<MgPortableLogManager> MgPortableLogManager::m_logManager          = (MgPortableLogManager*)NULL;
 
 // Default values
-STRING MgdLogManager::m_path                           = L"./";                    // Default path
-INT32 MgdLogManager::m_maxLogSize                      = 64;
-STRING MgdLogManager::m_delimiter                      = L"\t";
-bool MgdLogManager::m_useMaxLogSize                    = false;
-const STRING MgdLogManager::DefaultAccessLogFileName         = L"Access.log";
-const STRING MgdLogManager::DefaultAdminLogFileName          = L"Admin.log";
-const STRING MgdLogManager::DefaultAuthenticationLogFileName = L"Authentication.log";
-const STRING MgdLogManager::DefaultErrorLogFileName          = L"Error.log";
-const STRING MgdLogManager::DefaultPerformanceLogFileName    = L"Performance.log";
-const STRING MgdLogManager::DefaultSessionLogFileName        = L"Session.log";
-const STRING MgdLogManager::DefaultTraceLogFileName          = L"Trace.log";
+STRING MgPortableLogManager::m_path                           = L"./";                    // Default path
+INT32 MgPortableLogManager::m_maxLogSize                      = 64;
+STRING MgPortableLogManager::m_delimiter                      = L"\t";
+bool MgPortableLogManager::m_useMaxLogSize                    = false;
+const STRING MgPortableLogManager::DefaultAccessLogFileName         = L"Access.log";
+const STRING MgPortableLogManager::DefaultAdminLogFileName          = L"Admin.log";
+const STRING MgPortableLogManager::DefaultAuthenticationLogFileName = L"Authentication.log";
+const STRING MgPortableLogManager::DefaultErrorLogFileName          = L"Error.log";
+const STRING MgPortableLogManager::DefaultPerformanceLogFileName    = L"Performance.log";
+const STRING MgPortableLogManager::DefaultSessionLogFileName        = L"Session.log";
+const STRING MgPortableLogManager::DefaultTraceLogFileName          = L"Trace.log";
 
 // Log parameters
-const STRING MgdLogManager::AverageOpTimeParam   = L"AVERAGEOPTIME";
-const STRING MgdLogManager::ClientParam          = L"CLIENT";
-const STRING MgdLogManager::ClientIpParam        = L"CLIENTIP";
-const STRING MgdLogManager::DurationParam        = L"DURATION";
-const STRING MgdLogManager::EndTimeParam         = L"ENDTIME";
-const STRING MgdLogManager::ErrorParam           = L"ERROR";
-const STRING MgdLogManager::InfoParam            = L"INFO";
-const STRING MgdLogManager::OpIdParam            = L"OPID";
-const STRING MgdLogManager::OpsFailedParam       = L"OPSFAILED";
-const STRING MgdLogManager::OpsProcessedParam    = L"OPSPROCESSED";
-const STRING MgdLogManager::OpsReceivedParam     = L"OPSRECEIVED";
-const STRING MgdLogManager::StackTraceParam      = L"STACKTRACE";
-const STRING MgdLogManager::StartTimeParam       = L"STARTTIME";
-const STRING MgdLogManager::UserParam            = L"USER";
+const STRING MgPortableLogManager::AverageOpTimeParam   = L"AVERAGEOPTIME";
+const STRING MgPortableLogManager::ClientParam          = L"CLIENT";
+const STRING MgPortableLogManager::ClientIpParam        = L"CLIENTIP";
+const STRING MgPortableLogManager::DurationParam        = L"DURATION";
+const STRING MgPortableLogManager::EndTimeParam         = L"ENDTIME";
+const STRING MgPortableLogManager::ErrorParam           = L"ERROR";
+const STRING MgPortableLogManager::InfoParam            = L"INFO";
+const STRING MgPortableLogManager::OpIdParam            = L"OPID";
+const STRING MgPortableLogManager::OpsFailedParam       = L"OPSFAILED";
+const STRING MgPortableLogManager::OpsProcessedParam    = L"OPSPROCESSED";
+const STRING MgPortableLogManager::OpsReceivedParam     = L"OPSRECEIVED";
+const STRING MgPortableLogManager::StackTraceParam      = L"STACKTRACE";
+const STRING MgPortableLogManager::StartTimeParam       = L"STARTTIME";
+const STRING MgPortableLogManager::UserParam            = L"USER";
 
 // Performance Log parameters
-const STRING MgdLogManager::PerformanceAdminOperationsQueueCount  = L"ADMINOPQCOUNT";
-const STRING MgdLogManager::PerformanceClientOperationsQueueCount = L"CLIENTOPQCOUNT";
-const STRING MgdLogManager::PerformanceSiteOperationsQueueCount   = L"SITEOPQCOUNT";
-const STRING MgdLogManager::PerformanceAverageOperationTime       = L"AVGOPTIME";
-const STRING MgdLogManager::PerformanceCpuUtilization             = L"CPU";
-const STRING MgdLogManager::PerformanceWorkingSet                 = L"WORKINGSET";
-const STRING MgdLogManager::PerformanceVirtualMemory              = L"VIRTUALMEMORY";
-const STRING MgdLogManager::PerformanceTotalOperationTime         = L"TOTALOPTIME";
-const STRING MgdLogManager::PerformanceTotalActiveConnections     = L"TOTALACTIVECONNECTIONS";
-const STRING MgdLogManager::PerformanceTotalConnections           = L"TOTALCONNECTIONS";
-const STRING MgdLogManager::PerformanceTotalProcessedOperations   = L"TOTALPROCESSEDOP";
-const STRING MgdLogManager::PerformanceTotalReceivedOperations    = L"TOTALRECEIVEDOP";
-const STRING MgdLogManager::PerformanceUptime                     = L"UPTIME";
-const STRING MgdLogManager::PerformanceCacheSize                  = L"CACHESIZE";
-const STRING MgdLogManager::PerformanceCacheDroppedEntries        = L"CACHEDROPPEDENTRIES";
+const STRING MgPortableLogManager::PerformanceAdminOperationsQueueCount  = L"ADMINOPQCOUNT";
+const STRING MgPortableLogManager::PerformanceClientOperationsQueueCount = L"CLIENTOPQCOUNT";
+const STRING MgPortableLogManager::PerformanceSiteOperationsQueueCount   = L"SITEOPQCOUNT";
+const STRING MgPortableLogManager::PerformanceAverageOperationTime       = L"AVGOPTIME";
+const STRING MgPortableLogManager::PerformanceCpuUtilization             = L"CPU";
+const STRING MgPortableLogManager::PerformanceWorkingSet                 = L"WORKINGSET";
+const STRING MgPortableLogManager::PerformanceVirtualMemory              = L"VIRTUALMEMORY";
+const STRING MgPortableLogManager::PerformanceTotalOperationTime         = L"TOTALOPTIME";
+const STRING MgPortableLogManager::PerformanceTotalActiveConnections     = L"TOTALACTIVECONNECTIONS";
+const STRING MgPortableLogManager::PerformanceTotalConnections           = L"TOTALCONNECTIONS";
+const STRING MgPortableLogManager::PerformanceTotalProcessedOperations   = L"TOTALPROCESSEDOP";
+const STRING MgPortableLogManager::PerformanceTotalReceivedOperations    = L"TOTALRECEIVEDOP";
+const STRING MgPortableLogManager::PerformanceUptime                     = L"UPTIME";
+const STRING MgPortableLogManager::PerformanceCacheSize                  = L"CACHESIZE";
+const STRING MgPortableLogManager::PerformanceCacheDroppedEntries        = L"CACHEDROPPEDENTRIES";
 
 // Header line prefix strings
-const STRING MgdLogManager::HeaderLine1          = L"# Log Type:";
-const STRING MgdLogManager::HeaderLine2          = L"# Log Parameters:";
+const STRING MgPortableLogManager::HeaderLine1          = L"# Log Type:";
+const STRING MgPortableLogManager::HeaderLine2          = L"# Log Parameters:";
 
 // Log type strings
-const STRING MgdLogManager::AccessLog            = L"Access Log";
-const STRING MgdLogManager::AdminLog             = L"Admin Log";
-const STRING MgdLogManager::AuthenticationLog    = L"Authentication Log";
-const STRING MgdLogManager::ErrorLog             = L"Error Log";
-const STRING MgdLogManager::PerformanceLog       = L"Performance Log";
-const STRING MgdLogManager::SessionLog           = L"Session Log";
-const STRING MgdLogManager::TraceLog             = L"Trace Log";
-const STRING MgdLogManager::UnspecifiedLog       = L"Unspecified";
+const STRING MgPortableLogManager::AccessLog            = L"Access Log";
+const STRING MgPortableLogManager::AdminLog             = L"Admin Log";
+const STRING MgPortableLogManager::AuthenticationLog    = L"Authentication Log";
+const STRING MgPortableLogManager::ErrorLog             = L"Error Log";
+const STRING MgPortableLogManager::PerformanceLog       = L"Performance Log";
+const STRING MgPortableLogManager::SessionLog           = L"Session Log";
+const STRING MgPortableLogManager::TraceLog             = L"Trace Log";
+const STRING MgPortableLogManager::UnspecifiedLog       = L"Unspecified";
 
 // Log file properties
-const STRING MgdLogManager::LogNameProperty      = L"LogNameProperty";
-const STRING MgdLogManager::LogTypeProperty      = L"LogTypeProperty";
-const STRING MgdLogManager::LogStatusProperty    = L"LogStatusProperty";
+const STRING MgPortableLogManager::LogNameProperty      = L"LogNameProperty";
+const STRING MgPortableLogManager::LogTypeProperty      = L"LogTypeProperty";
+const STRING MgPortableLogManager::LogStatusProperty    = L"LogStatusProperty";
 
 // Log status strings
-const STRING MgdLogManager::LogStatusActive      = L"Active";
-const STRING MgdLogManager::LogStatusArchive     = L"Archive";
+const STRING MgPortableLogManager::LogStatusActive      = L"Active";
+const STRING MgPortableLogManager::LogStatusArchive     = L"Archive";
 
 // Constructor
-MgdLogManager::MgdLogManager() :
+MgPortableLogManager::MgPortableLogManager() :
     m_outputStream(NULL),
     m_bAccessLogEnabled(true),
     m_bAccessLogHeader(false),
-    m_AccessLogFileName(MgdLogManager::DefaultAccessLogFileName),
+    m_AccessLogFileName(MgPortableLogManager::DefaultAccessLogFileName),
     m_bAdminLogEnabled(true),
     m_bAdminLogHeader(false),
-    m_AdminLogFileName(MgdLogManager::DefaultAdminLogFileName),
+    m_AdminLogFileName(MgPortableLogManager::DefaultAdminLogFileName),
     m_bAuthenticationLogEnabled(true),
     m_bAuthenticationLogHeader(false),
-    m_AuthenticationLogFileName(MgdLogManager::DefaultAuthenticationLogFileName),
+    m_AuthenticationLogFileName(MgPortableLogManager::DefaultAuthenticationLogFileName),
     m_bErrorLogEnabled(true),
     m_bErrorLogHeader(false),
-    m_ErrorLogFileName(MgdLogManager::DefaultErrorLogFileName),
+    m_ErrorLogFileName(MgPortableLogManager::DefaultErrorLogFileName),
     m_bPerformanceLogEnabled(false),
     m_bPerformanceLogHeader(false),
-    m_PerformanceLogFileName(MgdLogManager::DefaultPerformanceLogFileName),
+    m_PerformanceLogFileName(MgPortableLogManager::DefaultPerformanceLogFileName),
     m_bSessionLogEnabled(true),
     m_bSessionLogHeader(false),
-    m_SessionLogFileName(MgdLogManager::DefaultSessionLogFileName),
+    m_SessionLogFileName(MgPortableLogManager::DefaultSessionLogFileName),
     m_bTraceLogEnabled(false),      // Disabled by default
     m_bTraceLogHeader(false),
-    m_TraceLogFileName(MgdLogManager::DefaultTraceLogFileName),
+    m_TraceLogFileName(MgPortableLogManager::DefaultTraceLogFileName),
     m_pLogThread(NULL),
     m_writeCount(0)
 {
@@ -126,9 +126,9 @@
 }
 
 // Destructor
-MgdLogManager::~MgdLogManager()
+MgPortableLogManager::~MgPortableLogManager()
 {
-    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgdLogManager::~MgdLogManager()\n")));
+    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgPortableLogManager::~MgPortableLogManager()\n")));
 
     // Close the logs
     if(m_accessLogStream.is_open())
@@ -170,37 +170,37 @@
     m_pLogThread = NULL;
 }
 
-void MgdLogManager::Dispose()
+void MgPortableLogManager::Dispose()
 {
     delete this;
 }
 
-// Get pointer to a process-wide MgdLogManager.
-MgdLogManager* MgdLogManager::GetInstance()
+// Get pointer to a process-wide MgPortableLogManager.
+MgPortableLogManager* MgPortableLogManager::GetInstance()
 {
     MG_LOGMANAGER_TRY()
 
-    ACE_TRACE ("MgdLogManager::GetInstance");
+    ACE_TRACE ("MgPortableLogManager::GetInstance");
 
-    if (MgdLogManager::m_logManager == NULL)
+    if (MgPortableLogManager::m_logManager == NULL)
     {
         // Perform Double-Checked Locking Optimization.
         ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance (), 0));
-        if (MgdLogManager::m_logManager == NULL)
+        if (MgPortableLogManager::m_logManager == NULL)
         {
-            MgdLogManager::m_logManager = new MgdLogManager;
+            MgPortableLogManager::m_logManager = new MgPortableLogManager;
         }
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetInstance")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetInstance")
 
     // To avoid overheads and maintain thread safety,
     // do not assign this returned static singleton to a Ptr object.
-    return MgdLogManager::m_logManager;
+    return MgPortableLogManager::m_logManager;
 }
 
 // Initialization
-void MgdLogManager::Initialize()
+void MgPortableLogManager::Initialize()
 {
     MG_LOGMANAGER_TRY()
 
@@ -209,7 +209,7 @@
     MgConfiguration* pConfiguration = MgConfiguration::GetInstance();
 
     // Get the logs path
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyLogsPath, m_path, MgdConfigProperties::DefaultGeneralPropertyLogsPath);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyLogsPath, m_path, MgPortableConfigProperties::DefaultGeneralPropertyLogsPath);
 
     // Check if path ends with a '/' if not, add one if needed
     MgFileUtil::AppendSlashToEndOfPath(m_path);
@@ -221,13 +221,13 @@
     LoadConfigurationProperties();
 
     // Create the logging thread
-    m_pLogThread = new MgdLogThread(m_threadManager, 1);
+    m_pLogThread = new MgPortableLogThread(m_threadManager, 1);
     m_pLogThread->Activate();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.Initialize")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.Initialize")
 }
 
-void MgdLogManager::LoadConfigurationProperties()
+void MgPortableLogManager::LoadConfigurationProperties()
 {
     MG_LOGMANAGER_TRY()
 
@@ -241,14 +241,14 @@
     STRING logDetail;
 
     // Maximum log file size
-    pConfiguration->GetBoolValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyMaxLogFileSizeEnabled, m_useMaxLogSize, MgdConfigProperties::DefaultGeneralPropertyMaxLogFileSizeEnabled);
-    pConfiguration->GetIntValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyMaxLogFileSize, m_maxLogSize, MgdConfigProperties::DefaultGeneralPropertyMaxLogFileSize);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyMaxLogFileSizeEnabled, m_useMaxLogSize, MgPortableConfigProperties::DefaultGeneralPropertyMaxLogFileSizeEnabled);
+    pConfiguration->GetIntValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyMaxLogFileSize, m_maxLogSize, MgPortableConfigProperties::DefaultGeneralPropertyMaxLogFileSize);
     // Log data delimiter
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyLogsDelimiter, m_delimiter, MgdConfigProperties::DefaultGeneralPropertyLogsDelimiter);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyLogsDelimiter, m_delimiter, MgPortableConfigProperties::DefaultGeneralPropertyLogsDelimiter);
     TranslateDelimiter();
 
     // Logs detail level
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyLogsDetail, logDetail, MgdConfigProperties::DefaultGeneralPropertyLogsDetail);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyLogsDetail, logDetail, MgPortableConfigProperties::DefaultGeneralPropertyLogsDetail);
     //m_logsDetail.resize(MgServerInformation::sm_knMaxNumberServices,0);
     m_logsDetail.resize(11,0);
     ParseLogService(MgServiceType::ResourceService, logDetail);
@@ -263,74 +263,74 @@
     ParseLogService(MgServiceType::ProfilingService, logDetail);
 
     // Access Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::AccessLogPropertiesSection, MgdConfigProperties::AccessLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultAccessLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::AccessLogPropertiesSection, MgdConfigProperties::AccessLogPropertyFilename, logFileName, MgdConfigProperties::DefaultAccessLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::AccessLogPropertiesSection, MgdConfigProperties::AccessLogPropertyParameters, logParameters, MgdConfigProperties::DefaultAccessLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::AccessLogPropertiesSection, MgPortableConfigProperties::AccessLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultAccessLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AccessLogPropertiesSection, MgPortableConfigProperties::AccessLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultAccessLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AccessLogPropertiesSection, MgPortableConfigProperties::AccessLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultAccessLogPropertyParameters);
     m_AccessLogParameters = logParameters;
     m_AccessLogFileName = ValidateLogFileName(logFileName);
     SetAccessLogEnabled(bLogEnabled);
 
     // Admin Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::AdminLogPropertiesSection, MgdConfigProperties::AdminLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultAdminLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::AdminLogPropertiesSection, MgdConfigProperties::AdminLogPropertyFilename, logFileName, MgdConfigProperties::DefaultAdminLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::AdminLogPropertiesSection, MgdConfigProperties::AdminLogPropertyParameters, logParameters, MgdConfigProperties::DefaultAdminLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::AdminLogPropertiesSection, MgPortableConfigProperties::AdminLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultAdminLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AdminLogPropertiesSection, MgPortableConfigProperties::AdminLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultAdminLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AdminLogPropertiesSection, MgPortableConfigProperties::AdminLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultAdminLogPropertyParameters);
     m_AdminLogParameters = logParameters;
     m_AdminLogFileName = ValidateLogFileName(logFileName);
     SetAdminLogEnabled(bLogEnabled);
 
     // Authentication Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::AuthenticationLogPropertiesSection, MgdConfigProperties::AuthenticationLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultAuthenticationLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::AuthenticationLogPropertiesSection, MgdConfigProperties::AuthenticationLogPropertyFilename, logFileName, MgdConfigProperties::DefaultAuthenticationLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::AuthenticationLogPropertiesSection, MgdConfigProperties::AuthenticationLogPropertyParameters, logParameters, MgdConfigProperties::DefaultAuthenticationLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::AuthenticationLogPropertiesSection, MgPortableConfigProperties::AuthenticationLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultAuthenticationLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AuthenticationLogPropertiesSection, MgPortableConfigProperties::AuthenticationLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultAuthenticationLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::AuthenticationLogPropertiesSection, MgPortableConfigProperties::AuthenticationLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultAuthenticationLogPropertyParameters);
     m_AuthenticationLogParameters = logParameters;
     m_AuthenticationLogFileName = ValidateLogFileName(logFileName);
     SetAuthenticationLogEnabled(bLogEnabled);
 
     // Error Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::ErrorLogPropertiesSection, MgdConfigProperties::ErrorLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultErrorLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::ErrorLogPropertiesSection, MgdConfigProperties::ErrorLogPropertyFilename, logFileName, MgdConfigProperties::DefaultErrorLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::ErrorLogPropertiesSection, MgdConfigProperties::ErrorLogPropertyParameters, logParameters, MgdConfigProperties::DefaultErrorLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::ErrorLogPropertiesSection, MgPortableConfigProperties::ErrorLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultErrorLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::ErrorLogPropertiesSection, MgPortableConfigProperties::ErrorLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultErrorLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::ErrorLogPropertiesSection, MgPortableConfigProperties::ErrorLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultErrorLogPropertyParameters);
     m_ErrorLogParameters = logParameters;
     m_ErrorLogFileName = ValidateLogFileName(logFileName);
     SetErrorLogEnabled(bLogEnabled);
 
     // Performance Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::PerformanceLogPropertiesSection, MgdConfigProperties::PerformanceLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultPerformanceLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::PerformanceLogPropertiesSection, MgdConfigProperties::PerformanceLogPropertyFilename, logFileName, MgdConfigProperties::DefaultPerformanceLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::PerformanceLogPropertiesSection, MgdConfigProperties::PerformanceLogPropertyParameters, logParameters, MgdConfigProperties::DefaultPerformanceLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::PerformanceLogPropertiesSection, MgPortableConfigProperties::PerformanceLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultPerformanceLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::PerformanceLogPropertiesSection, MgPortableConfigProperties::PerformanceLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultPerformanceLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::PerformanceLogPropertiesSection, MgPortableConfigProperties::PerformanceLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultPerformanceLogPropertyParameters);
     m_PerformanceLogParameters = logParameters;
     m_PerformanceLogFileName = ValidateLogFileName(logFileName);
     SetPerformanceLogEnabled(bLogEnabled);
 
     // Session Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::SessionLogPropertiesSection, MgdConfigProperties::SessionLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultSessionLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::SessionLogPropertiesSection, MgdConfigProperties::SessionLogPropertyFilename, logFileName, MgdConfigProperties::DefaultSessionLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::SessionLogPropertiesSection, MgdConfigProperties::SessionLogPropertyParameters, logParameters, MgdConfigProperties::DefaultSessionLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::SessionLogPropertiesSection, MgPortableConfigProperties::SessionLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultSessionLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::SessionLogPropertiesSection, MgPortableConfigProperties::SessionLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultSessionLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::SessionLogPropertiesSection, MgPortableConfigProperties::SessionLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultSessionLogPropertyParameters);
     m_SessionLogParameters = logParameters;
     m_SessionLogFileName = ValidateLogFileName(logFileName);
     SetSessionLogEnabled(bLogEnabled);
 
     // Trace Log
-    pConfiguration->GetBoolValue(MgdConfigProperties::TraceLogPropertiesSection, MgdConfigProperties::TraceLogPropertyEnabled, bLogEnabled, MgdConfigProperties::DefaultTraceLogPropertyEnabled);
-    pConfiguration->GetStringValue(MgdConfigProperties::TraceLogPropertiesSection, MgdConfigProperties::TraceLogPropertyFilename, logFileName, MgdConfigProperties::DefaultTraceLogPropertyFilename);
-    pConfiguration->GetStringValue(MgdConfigProperties::TraceLogPropertiesSection, MgdConfigProperties::TraceLogPropertyParameters, logParameters, MgdConfigProperties::DefaultTraceLogPropertyParameters);
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::TraceLogPropertiesSection, MgPortableConfigProperties::TraceLogPropertyEnabled, bLogEnabled, MgPortableConfigProperties::DefaultTraceLogPropertyEnabled);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::TraceLogPropertiesSection, MgPortableConfigProperties::TraceLogPropertyFilename, logFileName, MgPortableConfigProperties::DefaultTraceLogPropertyFilename);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::TraceLogPropertiesSection, MgPortableConfigProperties::TraceLogPropertyParameters, logParameters, MgPortableConfigProperties::DefaultTraceLogPropertyParameters);
     m_TraceLogParameters = logParameters;
     m_TraceLogFileName = ValidateLogFileName(logFileName);
     SetTraceLogEnabled(bLogEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.LoadConfigurationProperties")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.LoadConfigurationProperties")
 }
 
-STRING MgdLogManager::GetLogsPath()
+STRING MgPortableLogManager::GetLogsPath()
 {
     return m_path;
 }
 
-STRING MgdLogManager::ValidateLogFileName(CREFSTRING filename)
+STRING MgPortableLogManager::ValidateLogFileName(CREFSTRING filename)
 {
     if (filename.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.ValidateLogFileName", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.ValidateLogFileName", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     if (STRING::npos != filename.find(L"\\") ||
         STRING::npos != filename.find(L"/"))
@@ -343,7 +343,7 @@
         MgStringCollection whyArguments;
         whyArguments.Add(L"\\/");
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.ValidateLogFileName",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.ValidateLogFileName",
             __LINE__, __WFILE__, &arguments, L"MgStringContainsReservedCharacters", &whyArguments);
     }
 
@@ -350,7 +350,7 @@
     return (STRING)filename.c_str();
 }
 
-void MgdLogManager::SetAccessLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetAccessLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -363,10 +363,10 @@
     SetAccessLogFileName(filename);
     SetAccessLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAccessLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAccessLogInfo");
 }
 
-bool MgdLogManager::IsAccessLogEnabled()
+bool MgPortableLogManager::IsAccessLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -373,7 +373,7 @@
     return m_bAccessLogEnabled;
 }
 
-void MgdLogManager::SetAccessLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetAccessLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -390,10 +390,10 @@
         DisableLog(mltAccess);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAccessLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAccessLogEnabled")
 }
 
-STRING MgdLogManager::GetAccessLogFileName()
+STRING MgPortableLogManager::GetAccessLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -400,7 +400,7 @@
     return (STRING)m_AccessLogFileName.c_str();
 }
 
-void MgdLogManager::SetAccessLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetAccessLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -409,7 +409,7 @@
     EnableLog(mltAccess);
 }
 
-STRING MgdLogManager::GetAccessLogParameters()
+STRING MgPortableLogManager::GetAccessLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -416,7 +416,7 @@
     return (STRING)m_AccessLogParameters.c_str();
 }
 
-void MgdLogManager::SetAccessLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetAccessLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -428,10 +428,10 @@
     }
     m_AccessLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAccessLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAccessLogParameters")
 }
 
-bool MgdLogManager::ClearAccessLog()
+bool MgPortableLogManager::ClearAccessLog()
 {
     bool bResult = false;
 
@@ -449,12 +449,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAccess);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearAccessLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearAccessLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetAccessLog()
+MgByteReader* MgPortableLogManager::GetAccessLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -472,12 +472,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAccess);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAccessLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAccessLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAccessLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetAccessLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -495,12 +495,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAccess);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAccessLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAccessLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAccessLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetAccessLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -516,12 +516,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAccess);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAccessLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAccessLog")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::SetAdminLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetAdminLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -534,10 +534,10 @@
     SetAdminLogFileName(filename);
     SetAdminLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAdminLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAdminLogInfo");
 }
 
-bool MgdLogManager::IsAdminLogEnabled()
+bool MgPortableLogManager::IsAdminLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -544,7 +544,7 @@
     return m_bAdminLogEnabled;
 }
 
-void MgdLogManager::SetAdminLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetAdminLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -561,10 +561,10 @@
         DisableLog(mltAdmin);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAdminLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAdminLogEnabled")
 }
 
-STRING MgdLogManager::GetAdminLogFileName()
+STRING MgPortableLogManager::GetAdminLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -571,7 +571,7 @@
     return (STRING)m_AdminLogFileName.c_str();
 }
 
-void MgdLogManager::SetAdminLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetAdminLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -580,7 +580,7 @@
     EnableLog(mltAdmin);
 }
 
-STRING MgdLogManager::GetAdminLogParameters()
+STRING MgPortableLogManager::GetAdminLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -587,7 +587,7 @@
     return (STRING)m_AdminLogParameters.c_str();
 }
 
-void MgdLogManager::SetAdminLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetAdminLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -599,10 +599,10 @@
     }
     m_AdminLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAdminLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAdminLogParameters")
 }
 
-bool MgdLogManager::ClearAdminLog()
+bool MgPortableLogManager::ClearAdminLog()
 {
     bool bResult = false;
 
@@ -620,12 +620,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAdmin);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearAdminLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearAdminLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetAdminLog()
+MgByteReader* MgPortableLogManager::GetAdminLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -643,12 +643,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAdmin);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAdminLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAdminLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAdminLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetAdminLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -666,12 +666,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAdmin);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAdminLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAdminLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAdminLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetAdminLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -687,12 +687,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAdmin);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAdminLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAdminLog")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::SetAuthenticationLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetAuthenticationLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -705,10 +705,10 @@
     SetAuthenticationLogFileName(filename);
     SetAuthenticationLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAuthenticationLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAuthenticationLogInfo");
 }
 
-bool MgdLogManager::IsAuthenticationLogEnabled()
+bool MgPortableLogManager::IsAuthenticationLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -715,7 +715,7 @@
     return m_bAuthenticationLogEnabled;
 }
 
-void MgdLogManager::SetAuthenticationLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetAuthenticationLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -732,10 +732,10 @@
         DisableLog(mltAuthentication);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAuthenticationLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAuthenticationLogEnabled")
 }
 
-STRING MgdLogManager::GetAuthenticationLogFileName()
+STRING MgPortableLogManager::GetAuthenticationLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -742,7 +742,7 @@
     return (STRING)m_AuthenticationLogFileName.c_str();
 }
 
-void MgdLogManager::SetAuthenticationLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetAuthenticationLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -751,7 +751,7 @@
     EnableLog(mltAuthentication);
 }
 
-STRING MgdLogManager::GetAuthenticationLogParameters()
+STRING MgPortableLogManager::GetAuthenticationLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -758,7 +758,7 @@
     return (STRING)m_AuthenticationLogParameters.c_str();
 }
 
-void MgdLogManager::SetAuthenticationLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetAuthenticationLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -770,10 +770,10 @@
     }
     m_AuthenticationLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetAuthenticationLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetAuthenticationLogParameters")
 }
 
-bool MgdLogManager::ClearAuthenticationLog()
+bool MgPortableLogManager::ClearAuthenticationLog()
 {
     bool bResult = false;
 
@@ -791,12 +791,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAuthentication);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearAuthenticationLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearAuthenticationLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetAuthenticationLog()
+MgByteReader* MgPortableLogManager::GetAuthenticationLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -814,12 +814,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAuthentication);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAuthenticationLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAuthenticationLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAuthenticationLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetAuthenticationLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -837,12 +837,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltAuthentication);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAuthenticationLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAuthenticationLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetAuthenticationLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetAuthenticationLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -858,13 +858,13 @@
     // Enable the log which opens the log for us
     EnableLog(mltAuthentication);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetAuthenticationLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetAuthenticationLog")
 
     return byteReader.Detach();
 }
 
 
-void MgdLogManager::SetErrorLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetErrorLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -877,10 +877,10 @@
     SetErrorLogFileName(filename);
     SetErrorLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetErrorLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetErrorLogInfo");
 }
 
-bool MgdLogManager::IsErrorLogEnabled()
+bool MgPortableLogManager::IsErrorLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -887,7 +887,7 @@
     return m_bErrorLogEnabled;
 }
 
-void MgdLogManager::SetErrorLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetErrorLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -904,10 +904,10 @@
         DisableLog(mltError);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetErrorLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetErrorLogEnabled")
 }
 
-STRING MgdLogManager::GetErrorLogFileName()
+STRING MgPortableLogManager::GetErrorLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -914,7 +914,7 @@
     return (STRING)m_ErrorLogFileName.c_str();
 }
 
-void MgdLogManager::SetErrorLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetErrorLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -923,7 +923,7 @@
     EnableLog(mltError);
 }
 
-STRING MgdLogManager::GetErrorLogParameters()
+STRING MgPortableLogManager::GetErrorLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -930,7 +930,7 @@
     return (STRING)m_ErrorLogParameters.c_str();
 }
 
-void MgdLogManager::SetErrorLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetErrorLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -942,10 +942,10 @@
     }
     m_ErrorLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetErrorLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetErrorLogParameters")
 }
 
-bool MgdLogManager::ClearErrorLog()
+bool MgPortableLogManager::ClearErrorLog()
 {
     bool bResult = false;
 
@@ -963,12 +963,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltError);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearErrorLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearErrorLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetErrorLog()
+MgByteReader* MgPortableLogManager::GetErrorLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -986,12 +986,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltError);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetErrorLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetErrorLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetErrorLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetErrorLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1009,12 +1009,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltError);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetErrorLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetErrorLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetErrorLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetErrorLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1030,12 +1030,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltError);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetErrorLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetErrorLog")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::SetPerformanceLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetPerformanceLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1048,10 +1048,10 @@
     SetPerformanceLogFileName(filename);
     SetPerformanceLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetPerformanceLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetPerformanceLogInfo");
 }
 
-bool MgdLogManager::IsPerformanceLogEnabled()
+bool MgPortableLogManager::IsPerformanceLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -1058,7 +1058,7 @@
     return m_bPerformanceLogEnabled;
 }
 
-void MgdLogManager::SetPerformanceLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetPerformanceLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1075,10 +1075,10 @@
         DisableLog(mltPerformance);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetPerformanceLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetPerformanceLogEnabled")
 }
 
-STRING MgdLogManager::GetPerformanceLogFileName()
+STRING MgPortableLogManager::GetPerformanceLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1085,7 +1085,7 @@
     return (STRING)m_PerformanceLogFileName.c_str();
 }
 
-void MgdLogManager::SetPerformanceLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetPerformanceLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1094,7 +1094,7 @@
     EnableLog(mltPerformance);
 }
 
-STRING MgdLogManager::GetPerformanceLogParameters()
+STRING MgPortableLogManager::GetPerformanceLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1101,7 +1101,7 @@
     return (STRING)m_PerformanceLogParameters.c_str();
 }
 
-void MgdLogManager::SetPerformanceLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetPerformanceLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1113,10 +1113,10 @@
     }
     m_PerformanceLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetPerformanceLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetPerformanceLogParameters")
 }
 
-bool MgdLogManager::ClearPerformanceLog()
+bool MgPortableLogManager::ClearPerformanceLog()
 {
     bool bResult = false;
 
@@ -1134,12 +1134,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltPerformance);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearPerformanceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearPerformanceLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetPerformanceLog()
+MgByteReader* MgPortableLogManager::GetPerformanceLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1157,12 +1157,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltPerformance);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetPerformanceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetPerformanceLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetPerformanceLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetPerformanceLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1180,12 +1180,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltPerformance);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetPerformanceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetPerformanceLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetPerformanceLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetPerformanceLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1201,12 +1201,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltPerformance);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetPerformanceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetPerformanceLog")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::SetSessionLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetSessionLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1219,10 +1219,10 @@
     SetSessionLogFileName(filename);
     SetSessionLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetSessionLogInfo");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetSessionLogInfo");
 }
 
-bool MgdLogManager::IsSessionLogEnabled()
+bool MgPortableLogManager::IsSessionLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -1229,7 +1229,7 @@
     return m_bSessionLogEnabled;
 }
 
-void MgdLogManager::SetSessionLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetSessionLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1246,10 +1246,10 @@
         DisableLog(mltSession);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetSessionLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetSessionLogEnabled")
 }
 
-STRING MgdLogManager::GetSessionLogFileName()
+STRING MgPortableLogManager::GetSessionLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1256,7 +1256,7 @@
     return (STRING)m_SessionLogFileName.c_str();
 }
 
-void MgdLogManager::SetSessionLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetSessionLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1265,7 +1265,7 @@
     EnableLog(mltSession);
 }
 
-STRING MgdLogManager::GetSessionLogParameters()
+STRING MgPortableLogManager::GetSessionLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1272,7 +1272,7 @@
     return (STRING)m_SessionLogParameters.c_str();
 }
 
-void MgdLogManager::SetSessionLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetSessionLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1284,10 +1284,10 @@
     }
     m_SessionLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetSessionLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetSessionLogParameters")
 }
 
-bool MgdLogManager::ClearSessionLog()
+bool MgPortableLogManager::ClearSessionLog()
 {
     bool bResult = false;
 
@@ -1305,12 +1305,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltSession);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearSessionLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearSessionLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetSessionLog()
+MgByteReader* MgPortableLogManager::GetSessionLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1328,12 +1328,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltSession);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetSessionLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetSessionLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetSessionLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetSessionLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1351,12 +1351,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltSession);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetSessionLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetSessionLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetSessionLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetSessionLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1372,12 +1372,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltSession);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetSessionLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetSessionLog")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::SetTraceLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
+void MgPortableLogManager::SetTraceLogInfo(bool bEnabled, CREFSTRING filename, CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1390,10 +1390,10 @@
     SetTraceLogFileName(filename);
     SetTraceLogEnabled(bEnabled);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetTraceLogInfo")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetTraceLogInfo")
 }
 
-bool MgdLogManager::IsTraceLogEnabled()
+bool MgPortableLogManager::IsTraceLogEnabled()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -1400,7 +1400,7 @@
     return m_bTraceLogEnabled;
 }
 
-void MgdLogManager::SetTraceLogEnabled(bool bEnabled)
+void MgPortableLogManager::SetTraceLogEnabled(bool bEnabled)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1417,10 +1417,10 @@
         DisableLog(mltTrace);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetTraceLogEnabled")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetTraceLogEnabled")
 }
 
-STRING MgdLogManager::GetTraceLogFileName()
+STRING MgPortableLogManager::GetTraceLogFileName()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1427,7 +1427,7 @@
     return (STRING)m_TraceLogFileName.c_str();
 }
 
-void MgdLogManager::SetTraceLogFileName(CREFSTRING filename)
+void MgPortableLogManager::SetTraceLogFileName(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1436,7 +1436,7 @@
     EnableLog(mltTrace);
 }
 
-STRING MgdLogManager::GetTraceLogParameters()
+STRING MgPortableLogManager::GetTraceLogParameters()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -1443,7 +1443,7 @@
     return(STRING) m_TraceLogParameters.c_str();
 }
 
-void MgdLogManager::SetTraceLogParameters(CREFSTRING parameters)
+void MgPortableLogManager::SetTraceLogParameters(CREFSTRING parameters)
 {
     MG_LOGMANAGER_TRY()
 
@@ -1455,10 +1455,10 @@
     }
     m_TraceLogParameters = parameters.c_str();
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SetTraceLogParameters")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SetTraceLogParameters")
 }
 
-INT8 MgdLogManager::GetDetailLevelForService(INT16 serviceNum)
+INT8 MgPortableLogManager::GetDetailLevelForService(INT16 serviceNum)
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, 0));
 
@@ -1465,7 +1465,7 @@
     return m_logsDetail[serviceNum];
 }
 
-bool MgdLogManager::ClearTraceLog()
+bool MgPortableLogManager::ClearTraceLog()
 {
     bool bResult = false;
 
@@ -1483,12 +1483,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltTrace);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.ClearTraceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.ClearTraceLog")
 
     return bResult;
 }
 
-MgByteReader* MgdLogManager::GetTraceLog()
+MgByteReader* MgPortableLogManager::GetTraceLog()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1506,12 +1506,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltTrace);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetTraceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetTraceLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetTraceLog(INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetTraceLog(INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1529,12 +1529,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltTrace);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetTraceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetTraceLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetTraceLog(MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetTraceLog(MgDateTime* fromDate, MgDateTime* toDate)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1550,12 +1550,12 @@
     // Enable the log which opens the log for us
     EnableLog(mltTrace);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetTraceLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetTraceLog")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetLogFile( CREFSTRING filename )
+MgByteReader* MgPortableLogManager::GetLogFile( CREFSTRING filename )
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1580,12 +1580,12 @@
         EnableLog(logType);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetLogFile")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetLogFile")
 
     return byteReader.Detach();
 }
 
-void MgdLogManager::LogToSysLog(ACE_Log_Msg* pAce, char* application)
+void MgPortableLogManager::LogToSysLog(ACE_Log_Msg* pAce, char* application)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1592,7 +1592,7 @@
     pAce->open(ACE_TEXT_CHAR_TO_TCHAR(application), ACE_Log_Msg::SYSLOG, ACE_TEXT_CHAR_TO_TCHAR(application));
 }
 
-void MgdLogManager::LogToOStream(ACE_Log_Msg* pAce, ACE_OSTREAM_TYPE* output)
+void MgPortableLogManager::LogToOStream(ACE_Log_Msg* pAce, ACE_OSTREAM_TYPE* output)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1602,7 +1602,7 @@
     pAce->set_flags(ACE_Log_Msg::OSTREAM);
 }
 
-void MgdLogManager::LogToStderr(ACE_Log_Msg* pAce)
+void MgPortableLogManager::LogToStderr(ACE_Log_Msg* pAce)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -1610,7 +1610,7 @@
     pAce->set_flags(ACE_Log_Msg::STDERR);
 }
 
-void MgdLogManager::LogError(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace)
+void MgPortableLogManager::LogError(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace)
 {
     // Errors are always logged to both the error and trace logs if enabled.
     if(IsErrorLogEnabled())
@@ -1632,12 +1632,12 @@
     }
 }
 
-void MgdLogManager::LogWarning(INT16 service, CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace)
+void MgPortableLogManager::LogWarning(INT16 service, CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace)
 {
     // Warnings are only logged if the detail level for the service is high enough.
     INT8 detailLevel = GetDetailLevelForService(service);
 
-    if (detailLevel >= MgdLogDetail::Warning)
+    if (detailLevel >= MgPortableLogDetail::Warning)
     {
         // Log entries to both error log and trace log, if applicable
         if(IsErrorLogEnabled())
@@ -1651,12 +1651,12 @@
     }
 }
 
-void MgdLogManager::LogSystemEntry(ACE_Log_Priority priority, CREFSTRING entry)
+void MgPortableLogManager::LogSystemEntry(ACE_Log_Priority priority, CREFSTRING entry)
 {
     QueueLogEntry(mltSystem, entry, priority);
 }
 
-void MgdLogManager::LogAccessEntry(CREFSTRING opId, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
+void MgPortableLogManager::LogAccessEntry(CREFSTRING opId, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
 {
     // Message to be entered into the log
     STRING logEntry;
@@ -1680,19 +1680,19 @@
         {
             param = paramList->GetItem(i);
 
-            if (MgdLogManager::ClientParam == param)
+            if (MgPortableLogManager::ClientParam == param)
             {
                 AddClient(logEntry, client);
             }
-            else if (MgdLogManager::ClientIpParam == param)
+            else if (MgPortableLogManager::ClientIpParam == param)
             {
                 AddClientIp(logEntry, clientIp);
             }
-            else if (MgdLogManager::UserParam == param)
+            else if (MgPortableLogManager::UserParam == param)
             {
                 AddUserName(logEntry, userName);
             }
-            else if (MgdLogManager::OpIdParam == param)
+            else if (MgPortableLogManager::OpIdParam == param)
             {
                 AddOpId(logEntry, opId);
             }
@@ -1705,7 +1705,7 @@
         AddOpId(logEntry, opId);
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.LogAccessEntry")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.LogAccessEntry")
 
     if (mgException != NULL)
     {
@@ -1717,7 +1717,7 @@
     QueueLogEntry(mltAccess, logEntry, LM_INFO);
 }
 
-void MgdLogManager::LogAdminEntry(CREFSTRING opId, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
+void MgPortableLogManager::LogAdminEntry(CREFSTRING opId, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
 {
     // Message to be entered into the log
     STRING logEntry;
@@ -1738,19 +1738,19 @@
         {
             param = paramList->GetItem(i);
 
-            if (MgdLogManager::ClientParam == param)
+            if (MgPortableLogManager::ClientParam == param)
             {
                 AddClient(logEntry, client);
             }
-            else if (MgdLogManager::ClientIpParam == param)
+            else if (MgPortableLogManager::ClientIpParam == param)
             {
                 AddClientIp(logEntry, clientIp);
             }
-            else if (MgdLogManager::UserParam == param)
+            else if (MgPortableLogManager::UserParam == param)
             {
                 AddUserName(logEntry, userName);
             }
-            else if (MgdLogManager::OpIdParam == param)
+            else if (MgPortableLogManager::OpIdParam == param)
             {
                 AddOpId(logEntry, opId);
             }
@@ -1763,7 +1763,7 @@
         AddOpId(logEntry, opId);
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.LogAdminEntry")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.LogAdminEntry")
 
     if (mgException != NULL)
     {
@@ -1775,7 +1775,7 @@
     QueueLogEntry(mltAdmin, logEntry, LM_INFO);
 }
 
-void MgdLogManager::LogAuthenticationEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
+void MgPortableLogManager::LogAuthenticationEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName)
 {
     // Message to be entered into the log
     STRING logEntry;
@@ -1796,15 +1796,15 @@
         {
             param = paramList->GetItem(i);
 
-            if (MgdLogManager::ClientParam == param)
+            if (MgPortableLogManager::ClientParam == param)
             {
                 AddClient(logEntry, client);
             }
-            else if (MgdLogManager::ClientIpParam == param)
+            else if (MgPortableLogManager::ClientIpParam == param)
             {
                 AddClientIp(logEntry, clientIp);
             }
-            else if (MgdLogManager::UserParam == param)
+            else if (MgPortableLogManager::UserParam == param)
             {
                 AddUserName(logEntry, userName);
             }
@@ -1815,7 +1815,7 @@
     AddDelimiter(logEntry);
     logEntry += entry;
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.LogAuthenticationEntry")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.LogAuthenticationEntry")
 
     if (mgException != NULL)
     {
@@ -1827,7 +1827,7 @@
     QueueLogEntry(mltAuthentication, logEntry, LM_INFO);
 }
 
-void MgdLogManager::LogErrorEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace, CREFSTRING type)
+void MgPortableLogManager::LogErrorEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace, CREFSTRING type)
 {
     // Message to be entered into the log
     STRING logEntry;
@@ -1851,23 +1851,23 @@
         {
             param = paramList->GetItem(i);
 
-            if (MgdLogManager::ClientParam == param)
+            if (MgPortableLogManager::ClientParam == param)
             {
                 AddClient(logEntry, client);
             }
-            else if (MgdLogManager::ClientIpParam == param)
+            else if (MgPortableLogManager::ClientIpParam == param)
             {
                 AddClientIp(logEntry, clientIp);
             }
-            else if (MgdLogManager::UserParam == param)
+            else if (MgPortableLogManager::UserParam == param)
             {
                 AddUserName(logEntry, userName);
             }
-            else if (MgdLogManager::ErrorParam == param)
+            else if (MgPortableLogManager::ErrorParam == param)
             {
                 AddError(logEntry, entry, type);
             }
-            else if (MgdLogManager::StackTraceParam == param)
+            else if (MgPortableLogManager::StackTraceParam == param)
             {
                 AddStackTrace(logEntry, stackTrace);
             }
@@ -1877,7 +1877,7 @@
     // Add the given info.
     AddDelimiter(logEntry);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.LogErrorEntry")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.LogErrorEntry")
 
     if (mgException != NULL)
     {
@@ -1889,7 +1889,7 @@
     QueueLogEntry(mltError, logEntry, LM_ERROR);
 }
 
-void MgdLogManager::LogTraceEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace, CREFSTRING type)
+void MgPortableLogManager::LogTraceEntry(CREFSTRING entry, CREFSTRING client, CREFSTRING clientIp, CREFSTRING userName, CREFSTRING stackTrace, CREFSTRING type)
 {
     // Message to be entered into the log
     STRING logEntry;
@@ -1913,19 +1913,19 @@
         {
             param = paramList->GetItem(i);
 
-            if (MgdLogManager::ClientParam == param)
+            if (MgPortableLogManager::ClientParam == param)
             {
                 AddClient(logEntry, client);
             }
-            else if (MgdLogManager::ClientIpParam == param)
+            else if (MgPortableLogManager::ClientIpParam == param)
             {
                 AddClientIp(logEntry, clientIp);
             }
-            else if (MgdLogManager::UserParam == param)
+            else if (MgPortableLogManager::UserParam == param)
             {
                 AddUserName(logEntry, userName);
             }
-            else if (MgdLogManager::InfoParam == param)
+            else if (MgPortableLogManager::InfoParam == param)
             {
                 if (type.compare(L"") == 0)
                 {
@@ -1936,7 +1936,7 @@
                     AddError(logEntry, entry, type);
                 }
              }
-            else if (MgdLogManager::StackTraceParam == param)
+            else if (MgPortableLogManager::StackTraceParam == param)
             {
                 if (!logEntry.empty())
                 {
@@ -1946,7 +1946,7 @@
         }
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.LogTraceEntry")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.LogTraceEntry")
 
     if (mgException != NULL)
     {
@@ -1958,7 +1958,7 @@
     QueueLogEntry(mltTrace, logEntry, LM_INFO);
 }
 
-void MgdLogManager::LogSystemErrorEntry(MgException* except)
+void MgPortableLogManager::LogSystemErrorEntry(MgException* except)
 {
     if (NULL != except)
     {
@@ -1977,7 +1977,7 @@
     }
 }
 
-MgPropertyCollection* MgdLogManager::EnumerateLogs()
+MgPropertyCollection* MgPortableLogManager::EnumerateLogs()
 {
     Ptr<MgPropertyCollection> logs;
     ACE_DIR* directory = NULL;
@@ -1992,7 +1992,7 @@
     {
         MgStringCollection arguments;
         arguments.Add(m_path);
-        throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdLogManager.EnumerateLogs", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableLogManager.EnumerateLogs", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     dirent* direntry = NULL;
@@ -2022,7 +2022,7 @@
         // Add to list of log files if it is a file and not a folder
         if (statResult == 0 && (statBuf.st_mode & S_IFREG))
         {
-            pProperty = new MgStringProperty(MgdLogManager::LogNameProperty, name);
+            pProperty = new MgStringProperty(MgPortableLogManager::LogNameProperty, name);
             logs->Add(pProperty);
 
             // Is the log in use?
@@ -2035,7 +2035,7 @@
 
             // Add the log type
             wstring type = ReadLogTypeFromLogFile(path);
-            pProperty = new MgStringProperty(MgdLogManager::LogTypeProperty, type);
+            pProperty = new MgStringProperty(MgPortableLogManager::LogTypeProperty, type);
             logs->Add(pProperty);
 
             if(bInUse)
@@ -2045,7 +2045,7 @@
 
             // Add the log status
             wstring status = DetermineLogFileStatus(name, type);
-            pProperty = new MgStringProperty(MgdLogManager::LogStatusProperty, status);
+            pProperty = new MgStringProperty(MgPortableLogManager::LogStatusProperty, status);
             logs->Add(pProperty);
         }
     }
@@ -2052,7 +2052,7 @@
 
     ACE_OS::closedir(directory);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.EnumerateLogs")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.EnumerateLogs")
     if (mgException != NULL)
     {
         if (directory != NULL)
@@ -2067,11 +2067,11 @@
 }
 
 
-void MgdLogManager::RenameLog(CREFSTRING oldFileName, CREFSTRING newFileName)
+void MgPortableLogManager::RenameLog(CREFSTRING oldFileName, CREFSTRING newFileName)
 {
     if (oldFileName.empty() || newFileName.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.RenameLog", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.RenameLog", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     MG_LOGMANAGER_TRY()
@@ -2093,14 +2093,14 @@
         EnableLog(logType);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.RenameLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.RenameLog")
 }
 
-void MgdLogManager::DeleteLog(CREFSTRING fileName)
+void MgPortableLogManager::DeleteLog(CREFSTRING fileName)
 {
     if (fileName.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.DeleteLog", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.DeleteLog", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     if (STRING::npos != fileName.find(L"\\") ||
@@ -2113,7 +2113,7 @@
         MgStringCollection whyArguments;
         whyArguments.Add(L"\\/");
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.DeleteLog",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.DeleteLog",
             __LINE__, __WFILE__, &arguments, L"MgStringContainsReservedCharacters", &whyArguments);
     }
 
@@ -2135,10 +2135,10 @@
         EnableLog(logType);
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.DeleteLog")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.DeleteLog")
 }
 
-void MgdLogManager::QueueLogEntry(enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority)
+void MgPortableLogManager::QueueLogEntry(enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority)
 {
     // Do NOT queue the log entry if the Log Manager has not been initialized.
     // This is likely due to problems with the server configuration.
@@ -2150,13 +2150,13 @@
     MG_LOGMANAGER_TRY()
 
     // We want the log thread to handle the log entry for us
-    MgdLogEntryData* led = NULL;
+    MgPortableLogEntryData* led = NULL;
     ACE_Allocator* allocator = ACE_Allocator::instance();
     ACE_NEW_MALLOC_NORETURN (led,
-        static_cast<MgdLogEntryData*> (allocator->malloc(sizeof(MgdLogEntryData))),
-        MgdLogEntryData(logType, message, logPriority) );
+        static_cast<MgPortableLogEntryData*> (allocator->malloc(sizeof(MgPortableLogEntryData))),
+        MgPortableLogEntryData(logType, message, logPriority) );
 
-    //ACE_NEW_NORETURN( led, MgdLogEntryData(logType, message, logPriority) );
+    //ACE_NEW_NORETURN( led, MgPortableLogEntryData(logType, message, logPriority) );
 
     ACE_Message_Block* mb;
     ACE_NEW_NORETURN( mb, ACE_Message_Block( led ) );
@@ -2173,15 +2173,15 @@
             arguments.Add(L"Failed to queue ACE_Message_Block.");
             messageId = L"MgFormatInnerExceptionMessage";
 
-            MgException* mgException = new MgException(MgExceptionCodes::MgRuntimeException, L"MgdLogManager.QueueLogEntry", __LINE__, __WFILE__, NULL, messageId, &arguments);
+            MgException* mgException = new MgException(MgExceptionCodes::MgRuntimeException, L"MgPortableLogManager.QueueLogEntry", __LINE__, __WFILE__, NULL, messageId, &arguments);
             throw mgException;
         }
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.QueueLogEntry")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.QueueLogEntry")
 }
 
-void MgdLogManager::StopLogThread()
+void MgPortableLogManager::StopLogThread()
 {
     // Do NOT stop the log thread if the Log Manager has not been initialized.
     // This is likely due to problems with the server configuration.
@@ -2203,7 +2203,7 @@
     m_threadManager.close();
 }
 
-void MgdLogManager::WriteLogMessage(enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority)
+void MgPortableLogManager::WriteLogMessage(enum MgLogType logType, CREFSTRING message, ACE_Log_Priority logPriority)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -2227,7 +2227,7 @@
 #endif
         LogToStderr(pAce);
 
-        MG_LOGMANAGER_CATCH(L"MgdLogManager.WriteLogMessage")
+        MG_LOGMANAGER_CATCH(L"MgPortableLogManager.WriteLogMessage")
 
         if (mgException != NULL)
         {
@@ -2252,7 +2252,7 @@
         case mltAccess:
             // Get the access log filename and path
             filename = BuildFileName(m_AccessLogFileName);
-            logTypeName = MgdLogManager::AccessLog;
+            logTypeName = MgPortableLogManager::AccessLog;
             logParameters = GetAccessLogParameters();
             pLogStream = &m_accessLogStream;
             bEnabled = m_bAccessLogEnabled;
@@ -2260,7 +2260,7 @@
         case mltAdmin:
             // Get the admin log filename and path
             filename = BuildFileName(m_AdminLogFileName);
-            logTypeName = MgdLogManager::AdminLog;
+            logTypeName = MgPortableLogManager::AdminLog;
             logParameters = GetAdminLogParameters();
             pLogStream = &m_adminLogStream;
             bEnabled = m_bAdminLogEnabled;
@@ -2268,7 +2268,7 @@
         case mltAuthentication:
             // Get the authentication log filename and path
             filename = BuildFileName(m_AuthenticationLogFileName);
-            logTypeName = MgdLogManager::AuthenticationLog;
+            logTypeName = MgPortableLogManager::AuthenticationLog;
             logParameters = GetAuthenticationLogParameters();
             pLogStream = &m_authenticationLogStream;
             bEnabled = m_bAuthenticationLogEnabled;
@@ -2276,7 +2276,7 @@
         case mltError:
             // Get the error log filename and path
             filename = BuildFileName(m_ErrorLogFileName);
-            logTypeName = MgdLogManager::ErrorLog;
+            logTypeName = MgPortableLogManager::ErrorLog;
             logParameters = GetErrorLogParameters();
             pLogStream = &m_errorLogStream;
             bEnabled = m_bErrorLogEnabled;
@@ -2284,7 +2284,7 @@
         case mltPerformance:
             // Get the performance log filename and path
             filename = BuildFileName(m_PerformanceLogFileName);
-            logTypeName = MgdLogManager::PerformanceLog;
+            logTypeName = MgPortableLogManager::PerformanceLog;
             logParameters = GetPerformanceLogParameters();
             pLogStream = &m_performanceLogStream;
             bEnabled = m_bPerformanceLogEnabled;
@@ -2292,7 +2292,7 @@
         case mltSession:
             // Get the session log filename and path
             filename = BuildFileName(m_SessionLogFileName);
-            logTypeName = MgdLogManager::SessionLog;
+            logTypeName = MgPortableLogManager::SessionLog;
             logParameters = GetSessionLogParameters();
             pLogStream = &m_sessionLogStream;
             bEnabled = m_bSessionLogEnabled;
@@ -2300,7 +2300,7 @@
         case mltTrace:
             // Get the trace log file and path
             filename = BuildFileName(m_TraceLogFileName);
-            logTypeName = MgdLogManager::TraceLog;
+            logTypeName = MgPortableLogManager::TraceLog;
             logParameters = GetTraceLogParameters();
             pLogStream = &m_traceLogStream;
             bEnabled = m_bTraceLogEnabled;
@@ -2314,7 +2314,7 @@
                 arguments.Add(L"1");
                 arguments.Add(buffer);
 
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.WriteLogMessage",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.WriteLogMessage",
                     __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
             }
         }
@@ -2346,7 +2346,7 @@
                 {
                     MgStringCollection arguments;
                     arguments.Add(filename);
-                    throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdLogManager.WriteLogMessage", __LINE__, __WFILE__, &arguments, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableLogManager.WriteLogMessage", __LINE__, __WFILE__, &arguments, L"", NULL);
                 }
 
                 LogToOStream(pAce, pLogStream);
@@ -2358,9 +2358,9 @@
                     bLogFileEmpty =  (MgFileUtil::GetFileSize(filename) ? false : true);
                     if (bLogFileEmpty)
                     {
-                        STRING headerLine1 = MgdLogManager::HeaderLine1 + L" ";
+                        STRING headerLine1 = MgPortableLogManager::HeaderLine1 + L" ";
                         headerLine1 += logTypeName;
-                        STRING headerLine2 = MgdLogManager::HeaderLine2 + L" ";
+                        STRING headerLine2 = MgPortableLogManager::HeaderLine2 + L" ";
                         headerLine2 += logParameters;
 #ifdef _WIN32
                         pAce->log(logPriority, ACE_TEXT("%W\r\n"), headerLine1.c_str());
@@ -2390,7 +2390,7 @@
                 pLogStream->flush();
                 LogToStderr(pAce);
 
-                MG_LOGMANAGER_CATCH(L"MgdLogManager.WriteLogMessage")
+                MG_LOGMANAGER_CATCH(L"MgPortableLogManager.WriteLogMessage")
 
                 if (mgException != 0 && logType != mltError)
                 {
@@ -2411,7 +2411,7 @@
     } // end else
 }
 
-bool MgdLogManager::RemoveLogFile(CREFSTRING filename)
+bool MgPortableLogManager::RemoveLogFile(CREFSTRING filename)
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, false));
 
@@ -2430,7 +2430,7 @@
     return (nResult == 0) ? true : false;
 }
 
-MgByteReader* MgdLogManager::GetLogHeader(enum MgLogType logType)
+MgByteReader* MgPortableLogManager::GetLogHeader(enum MgLogType logType)
 {
     Ptr<MgByteReader> byteReader;
     byteReader = NULL;
@@ -2473,7 +2473,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.GetLogHeader",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.GetLogHeader",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
         }
     }
@@ -2491,12 +2491,12 @@
         EnableLog(logType);
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.GetLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.GetLogHeader")
 
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetLogHeader(CREFSTRING filename)
+MgByteReader* MgPortableLogManager::GetLogHeader(CREFSTRING filename)
 {
     Ptr<MgByteReader> byteReader;
     byteReader = NULL;
@@ -2522,7 +2522,7 @@
 
     byteReader = MgUtil::GetByteReader(contents);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.GetLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.GetLogHeader")
     if (mgException != NULL)
     {
         if (pReadFile != NULL)
@@ -2536,7 +2536,7 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetLogContents(CREFSTRING filename)
+MgByteReader* MgPortableLogManager::GetLogContents(CREFSTRING filename)
 {
     Ptr<MgByteReader> byteReader;
     byteReader = NULL;
@@ -2561,7 +2561,7 @@
         if (buffer == NULL)
         {
             ACE_OS::fclose(pReadFile);
-            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Clear buffer
@@ -2579,7 +2579,7 @@
 
     byteReader = MgUtil::GetByteReader(contents);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.GetLogContents")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.GetLogContents")
     if (mgException != NULL)
     {
         if (pReadFile != NULL)
@@ -2593,7 +2593,7 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetLogContents(CREFSTRING filename, INT32 numEntries)
+MgByteReader* MgPortableLogManager::GetLogContents(CREFSTRING filename, INT32 numEntries)
 {
     Ptr<MgByteReader> byteReader;
     byteReader = NULL;
@@ -2608,7 +2608,7 @@
 
     if (numEntries < 0)
     {
-        throw new MgException(MgExceptionCodes::MgArgumentOutOfRangeException, L"MgdLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgArgumentOutOfRangeException, L"MgPortableLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     INT32 lastPos;      // Keeps track of the position in the file
@@ -2703,7 +2703,7 @@
 
     byteReader = MgUtil::GetByteReader(contents);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.GetLogContents")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.GetLogContents")
     if (mgException != NULL)
     {
         if (pReadFile != NULL)
@@ -2717,13 +2717,13 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdLogManager::GetLogContents(enum MgLogType logType, MgDateTime* fromDate, MgDateTime* toDate)
+MgByteReader* MgPortableLogManager::GetLogContents(enum MgLogType logType, MgDateTime* fromDate, MgDateTime* toDate)
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     if (fromDate == NULL || toDate == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     if (*fromDate > *toDate)
@@ -2732,7 +2732,7 @@
         arguments.Add(L"2");
         arguments.Add(fromDate->ToString());
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.GetLogContents",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.GetLogContents",
             __LINE__, __WFILE__, &arguments, L"MgInvalidFromDate", NULL);
     }
 
@@ -2744,7 +2744,7 @@
         arguments.Add(L"3");
         arguments.Add(toDate->ToString());
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.GetLogContents",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.GetLogContents",
             __LINE__, __WFILE__, &arguments, L"MgInvalidDateDifference", NULL);
     }
 
@@ -2772,7 +2772,7 @@
         arguments.Add(L"3");
         arguments.Add(toDate->ToString());
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.GetLogContents",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.GetLogContents",
              __LINE__, __WFILE__, &arguments, L"MgFailedToGetFileNameForDates", NULL);
     }
 
@@ -2779,7 +2779,7 @@
     entries = new MgStringCollection();
     if (entries == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     bool fromDateFound = false;
@@ -2920,7 +2920,7 @@
     // Put string into the byteReader that will be sent back
     byteReader = MgUtil::GetByteReader(contents);
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.GetLogContents");
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.GetLogContents");
     if (mgException != NULL)
     {
         if (pReadFile != NULL)
@@ -2934,7 +2934,7 @@
     return byteReader.Detach();
 }
 
-MgStringCollection* MgdLogManager::DeterminePotentialFileNames(enum MgLogType logType, MgDateTime* fromDate, MgDateTime* toDate)
+MgStringCollection* MgPortableLogManager::DeterminePotentialFileNames(enum MgLogType logType, MgDateTime* fromDate, MgDateTime* toDate)
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
@@ -2944,7 +2944,7 @@
 
     if (filenames == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableLogManager.GetLogContents", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     STRING rawFilename;
@@ -2983,7 +2983,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.DeterminePotentialFileNames",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.DeterminePotentialFileNames",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
         }
     }
@@ -3013,7 +3013,7 @@
     return filenames.Detach();
 }
 
-STRING MgdLogManager::BuildFileName(CREFSTRING filename)
+STRING MgPortableLogManager::BuildFileName(CREFSTRING filename)
 {
     STRING newFilename = filename.c_str();
 
@@ -3022,7 +3022,7 @@
     return ((STRING)m_path.c_str() + (STRING)newFilename.c_str());
 }
 
-STRING MgdLogManager::BuildFileNameFromDateTime(CREFSTRING filename, MgDateTime* date)
+STRING MgPortableLogManager::BuildFileNameFromDateTime(CREFSTRING filename, MgDateTime* date)
 {
     STRING newFilename = filename.c_str();
     STRING replacer;
@@ -3074,7 +3074,7 @@
     return ((STRING)m_path.c_str() + (STRING)newFilename.c_str());
 }
 
-bool MgdLogManager::IsMoreThan24HourDiff(MgDateTime* fromDate, MgDateTime* toDate)
+bool MgPortableLogManager::IsMoreThan24HourDiff(MgDateTime* fromDate, MgDateTime* toDate)
 {
     bool result = false;
     double timeDiff = ACE_OS::difftime(toDate->ToTimeValue(), fromDate->ToTimeValue());
@@ -3098,13 +3098,13 @@
     return result;
 }
 
-INT32 MgdLogManager::SearchClosestDateAfter(MgStringCollection* lines, MgDateTime* searchDate)
+INT32 MgPortableLogManager::SearchClosestDateAfter(MgStringCollection* lines, MgDateTime* searchDate)
 {
     INT32 result = -1;
 
     if (lines == NULL || searchDate == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.SearchClosestDateAfter", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.SearchClosestDateAfter", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     Ptr<MgDateTime> dateTime;
@@ -3173,18 +3173,18 @@
         }
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SearchClosestDateAfter");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SearchClosestDateAfter");
 
     return result;
 }
 
-INT32 MgdLogManager::SearchClosestDateBefore(MgStringCollection* lines, MgDateTime* searchDate)
+INT32 MgPortableLogManager::SearchClosestDateBefore(MgStringCollection* lines, MgDateTime* searchDate)
 {
     INT32 result = -1;
 
     if (lines == NULL || searchDate == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdLogManager.SearchClosestDateBefore", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableLogManager.SearchClosestDateBefore", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     Ptr<MgDateTime> dateTime;
@@ -3254,12 +3254,12 @@
         }
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.SearchClosestDateBefore");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.SearchClosestDateBefore");
 
     return result;
 }
 
-MgDateTime* MgdLogManager::GetDateTimeFromEntry(CREFSTRING entry)
+MgDateTime* MgPortableLogManager::GetDateTimeFromEntry(CREFSTRING entry)
 {
     Ptr<MgDateTime> dateTime;
 
@@ -3275,7 +3275,7 @@
     if (entry.find_first_of(L'<') != 0  || entry.find_first_of(L'>') != 20)
     {
         throw new MgException(MgExceptionCodes::MgInvalidLogEntryException, 
-            L"MgdLogManager.GetDateTimeFromEntry",
+            L"MgPortableLogManager.GetDateTimeFromEntry",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -3283,18 +3283,18 @@
     MgUtil::WideCharToMultiByte(entry.substr(1, 19), logTime);
     dateTime = new MgDateTime(logTime);
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.GetDateTimeFromEntry");
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.GetDateTimeFromEntry");
 
     return dateTime.Detach();
 }
 
-void MgdLogManager::AddDateTime(REFSTRING entry, const MgDateTime& value)
+void MgPortableLogManager::AddDateTime(REFSTRING entry, const MgDateTime& value)
 {
     AddDelimiter(entry);
     entry += const_cast<MgDateTime&>(value).ToXmlString(false);
 }
 
-void MgdLogManager::AddDouble(REFSTRING entry, double value)
+void MgPortableLogManager::AddDouble(REFSTRING entry, double value)
 {
     STRING buffer;
 
@@ -3303,7 +3303,7 @@
     entry += buffer;
 }
 
-void MgdLogManager::AddInt32(REFSTRING entry, INT32 value)
+void MgPortableLogManager::AddInt32(REFSTRING entry, INT32 value)
 {
     STRING buffer;
 
@@ -3312,25 +3312,25 @@
     entry += buffer;
 }
 
-void MgdLogManager::AddString(REFSTRING entry, CREFSTRING value)
+void MgPortableLogManager::AddString(REFSTRING entry, CREFSTRING value)
 {
     AddDelimiter(entry);
     entry += value.c_str();
 }
 
-void MgdLogManager::AddClient(REFSTRING entry, CREFSTRING client)
+void MgPortableLogManager::AddClient(REFSTRING entry, CREFSTRING client)
 {
     AddDelimiter(entry);
     entry += client.c_str();
 }
 
-void MgdLogManager::AddClientIp(REFSTRING entry, CREFSTRING clientIp)
+void MgPortableLogManager::AddClientIp(REFSTRING entry, CREFSTRING clientIp)
 {
     AddDelimiter(entry);
     entry += clientIp.c_str();
 }
 
-void MgdLogManager::AddError(REFSTRING entry, CREFSTRING error, CREFSTRING type)
+void MgPortableLogManager::AddError(REFSTRING entry, CREFSTRING error, CREFSTRING type)
 {
 #ifdef _WIN32
     entry += L"\r\n " + type + L": ";
@@ -3364,7 +3364,7 @@
 
 }
 
-void MgdLogManager::AddStackTrace(REFSTRING entry, CREFSTRING stackTrace)
+void MgPortableLogManager::AddStackTrace(REFSTRING entry, CREFSTRING stackTrace)
 {
     // Do not log empty stack traces
     if (stackTrace.empty())
@@ -3403,19 +3403,19 @@
     }
 }
 
-void MgdLogManager::AddInfo(REFSTRING entry, CREFSTRING info)
+void MgPortableLogManager::AddInfo(REFSTRING entry, CREFSTRING info)
 {
     AddDelimiter(entry);
     entry += info.c_str();
 }
 
-void MgdLogManager::AddOpId(REFSTRING entry, CREFSTRING opId)
+void MgPortableLogManager::AddOpId(REFSTRING entry, CREFSTRING opId)
 {
     AddDelimiter(entry);
     entry += MgUtil::EncodeXss(opId);
 }
 
-void MgdLogManager::AddThreadId(REFSTRING entry)
+void MgPortableLogManager::AddThreadId(REFSTRING entry)
 {
     AddDelimiter(entry);
 
@@ -3425,19 +3425,19 @@
     entry += threadString;
 }
 
-void MgdLogManager::AddUserName(REFSTRING entry, CREFSTRING userName)
+void MgPortableLogManager::AddUserName(REFSTRING entry, CREFSTRING userName)
 {
     AddDelimiter(entry);
     entry += userName.c_str();
 }
 
-bool MgdLogManager::IsMaxSizeExceeded(CREFSTRING logFileName)
+bool MgPortableLogManager::IsMaxSizeExceeded(CREFSTRING logFileName)
 {
     bool bMaxSizeReached = false;
 
     INT64 nFileSize = MgFileUtil::GetFileSize(logFileName);
 
-    if (nFileSize >= (MgdLogManager::m_maxLogSize * 1024))
+    if (nFileSize >= (MgPortableLogManager::m_maxLogSize * 1024))
     {
         bMaxSizeReached = true;
     }
@@ -3445,7 +3445,7 @@
     return bMaxSizeReached;
 }
 
-void MgdLogManager::ArchiveLog(enum MgLogType logType)
+void MgPortableLogManager::ArchiveLog(enum MgLogType logType)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -3491,7 +3491,7 @@
                 arguments.Add(L"1");
                 arguments.Add(buffer);
 
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.ArchiveLog",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.ArchiveLog",
                     __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
             }
     }
@@ -3563,7 +3563,7 @@
 // If the parameters in the header do not match the current logging parameters, the log is archived
 // so that new log will be created based on the current logging parameters.
 //
-void MgdLogManager::ValidateLogHeaders(enum MgLogType logType)
+void MgPortableLogManager::ValidateLogHeaders(enum MgLogType logType)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -3627,13 +3627,13 @@
                 arguments.Add(L"1");
                 arguments.Add(buffer);
 
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.ValidateLogHeaders",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.ValidateLogHeaders",
                     __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
             }
     }
 }
 
-bool MgdLogManager::ValidateAccessLogHeader()
+bool MgPortableLogManager::ValidateAccessLogHeader()
 {
     bool bValid = false;
 
@@ -3649,12 +3649,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateAccessLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateAccessLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidateAdminLogHeader()
+bool MgPortableLogManager::ValidateAdminLogHeader()
 {
     bool bValid = false;
 
@@ -3670,12 +3670,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateAdminLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateAdminLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidateAuthenticationLogHeader()
+bool MgPortableLogManager::ValidateAuthenticationLogHeader()
 {
     bool bValid = false;
 
@@ -3691,12 +3691,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateAuthenticationLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateAuthenticationLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidateErrorLogHeader()
+bool MgPortableLogManager::ValidateErrorLogHeader()
 {
     bool bValid = false;
 
@@ -3712,12 +3712,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateErrorLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateErrorLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidatePerformanceLogHeader()
+bool MgPortableLogManager::ValidatePerformanceLogHeader()
 {
     bool bValid = false;
 
@@ -3733,12 +3733,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidatePerformanceLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidatePerformanceLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidateSessionLogHeader()
+bool MgPortableLogManager::ValidateSessionLogHeader()
 {
     bool bValid = false;
 
@@ -3754,12 +3754,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateSessionLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateSessionLogHeader")
 
     return bValid;
 }
 
-bool MgdLogManager::ValidateTraceLogHeader()
+bool MgPortableLogManager::ValidateTraceLogHeader()
 {
     bool bValid = false;
 
@@ -3775,12 +3775,12 @@
         bValid = true;
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ValidateTraceLogHeader")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ValidateTraceLogHeader")
 
     return bValid;
 }
 
-STRING MgdLogManager::ReadParametersFromLogFile(enum MgLogType logType)
+STRING MgPortableLogManager::ReadParametersFromLogFile(enum MgLogType logType)
 {
     STRING logParameters = L"";
 
@@ -3810,7 +3810,7 @@
             string strLine2 = strLineBuf.substr(0, endLineBuf);
 
             // Attempt to extract the parameters list
-            string strHeaderPrefix = MgUtil::WideCharToMultiByte(MgdLogManager::HeaderLine2);
+            string strHeaderPrefix = MgUtil::WideCharToMultiByte(MgPortableLogManager::HeaderLine2);
             if (0 == strLine2.compare(0, strHeaderPrefix.length(), strHeaderPrefix))
             {
                 // The prefix for the header line is OK.  Now lets get the parameters
@@ -3854,14 +3854,14 @@
         }
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ReadParametersFromLogFile")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ReadParametersFromLogFile")
 
     return logParameters;
 }
 
-STRING MgdLogManager::ReadLogTypeFromLogFile(CREFSTRING logFilename)
+STRING MgPortableLogManager::ReadLogTypeFromLogFile(CREFSTRING logFilename)
 {
-    STRING logType = MgdLogManager::UnspecifiedLog;
+    STRING logType = MgPortableLogManager::UnspecifiedLog;
 
     MG_LOGMANAGER_TRY()
 
@@ -3889,7 +3889,7 @@
             string strLine1 = strLineBuf.substr(0, endLineBuf);
 
             // Attempt to extract the log type
-            string strHeaderPrefix = MgUtil::WideCharToMultiByte(MgdLogManager::HeaderLine1);
+            string strHeaderPrefix = MgUtil::WideCharToMultiByte(MgPortableLogManager::HeaderLine1);
             if (0 == strLine1.compare(0, strHeaderPrefix.length(), strHeaderPrefix))
             {
                 // The prefix for the header line is OK.  Now lets get the type
@@ -3899,12 +3899,12 @@
         }
     }
 
-    MG_LOGMANAGER_CATCH(L"MgdLogManager.ReadLogTypeFromLogFile")
+    MG_LOGMANAGER_CATCH(L"MgPortableLogManager.ReadLogTypeFromLogFile")
 
     return logType;
 }
 
-STRING MgdLogManager::DetermineLogFileStatus(CREFSTRING logFilename, CREFSTRING logFileType)
+STRING MgPortableLogManager::DetermineLogFileStatus(CREFSTRING logFilename, CREFSTRING logFileType)
 {
     STRING logStatus = L"";
 
@@ -3915,35 +3915,35 @@
     STRING currentLogName = L"";
 
     // Get the name being used for the current log
-    if (0 == logFileType.compare(MgdLogManager::AccessLog))
+    if (0 == logFileType.compare(MgPortableLogManager::AccessLog))
     {
         currentLogName = GetAccessLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::AdminLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::AdminLog))
     {
         currentLogName = GetAdminLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::AuthenticationLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::AuthenticationLog))
     {
         currentLogName = GetAuthenticationLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::ErrorLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::ErrorLog))
     {
         currentLogName = GetErrorLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::PerformanceLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::PerformanceLog))
     {
         currentLogName = GetPerformanceLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::SessionLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::SessionLog))
     {
         currentLogName= GetSessionLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::TraceLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::TraceLog))
     {
         currentLogName = GetTraceLogFileName();
     }
-    else if (0 == logFileType.compare(MgdLogManager::UnspecifiedLog))
+    else if (0 == logFileType.compare(MgPortableLogManager::UnspecifiedLog))
     {
         // The log type is unspecified.  This is most likely an
         // archived log because the header information is not found.
@@ -3956,7 +3956,7 @@
         arguments.Add(L"2");
         arguments.Add(logFileType);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.DetermineLogFileStatus",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.DetermineLogFileStatus",
             __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
     }
 
@@ -3965,19 +3965,19 @@
     // Compare the current log name with the filename to determine its status.
     if (0 == logFilename.compare(currentLogName))
     {
-        logStatus = MgdLogManager::LogStatusActive;
+        logStatus = MgPortableLogManager::LogStatusActive;
     }
     else
     {
-        logStatus = MgdLogManager::LogStatusArchive;
+        logStatus = MgPortableLogManager::LogStatusArchive;
     }
 
-    MG_LOGMANAGER_CATCH_AND_THROW(L"MgdLogManager.DetermineLogFileStatus")
+    MG_LOGMANAGER_CATCH_AND_THROW(L"MgPortableLogManager.DetermineLogFileStatus")
 
     return logStatus;
 }
 
-void MgdLogManager::AddDelimiter(REFSTRING entry)
+void MgPortableLogManager::AddDelimiter(REFSTRING entry)
 {
     entry += m_delimiter;
 }
@@ -3984,7 +3984,7 @@
 
 // Check if the delimiter is any one of the reserved characters ( \t \r \n \f \v ).
 // If found, it will need to be translated to actually write the character.
-void MgdLogManager::TranslateDelimiter()
+void MgPortableLogManager::TranslateDelimiter()
 {
     if (0 == m_delimiter.compare(0, 2, L"\\t"))
     {
@@ -4008,12 +4008,12 @@
     }
 }
 
-void MgdLogManager::SetMaximumLogSize(INT32 size)
+void MgPortableLogManager::SetMaximumLogSize(INT32 size)
 {
     m_maxLogSize = size;
 }
 
-void MgdLogManager::SetLogDelimiter(CREFSTRING delimiter)
+void MgPortableLogManager::SetLogDelimiter(CREFSTRING delimiter)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -4020,7 +4020,7 @@
     m_delimiter = delimiter;
 }
 
-STRING MgdLogManager::GetLogDelimiter()
+STRING MgPortableLogManager::GetLogDelimiter()
 {
     ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, STRING(L"")));
 
@@ -4027,17 +4027,17 @@
     return m_delimiter;
 }
 
-void MgdLogManager::EnableMaximumLogSize(bool useMaxSize)
+void MgPortableLogManager::EnableMaximumLogSize(bool useMaxSize)
 {
     m_useMaxLogSize = useMaxSize;
 }
 
-bool MgdLogManager::IsMaximumLogSizeEnabled()
+bool MgPortableLogManager::IsMaximumLogSizeEnabled()
 {
     return m_useMaxLogSize;
 }
 
-bool MgdLogManager::CheckArchiveFrequency(enum MgLogType logType, CREFSTRING logFilename)
+bool MgPortableLogManager::CheckArchiveFrequency(enum MgLogType logType, CREFSTRING logFilename)
 {
     bool bCurrentLog = true;
 
@@ -4086,7 +4086,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLogManager.CheckArchiveFrequency",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLogManager.CheckArchiveFrequency",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidLogType", NULL);
         }
     }
@@ -4134,7 +4134,7 @@
     return bCurrentLog;
 }
 
-STRING MgdLogManager::RemoveArchiveFrequencySpecifier(CREFSTRING logFilename)
+STRING MgPortableLogManager::RemoveArchiveFrequencySpecifier(CREFSTRING logFilename)
 {
     STRING newFileName;
 
@@ -4146,7 +4146,7 @@
     return newFileName;
 }
 
-bool MgdLogManager::IsLogFileInUse(CREFSTRING filename, enum MgLogType& logType)
+bool MgPortableLogManager::IsLogFileInUse(CREFSTRING filename, enum MgLogType& logType)
 {
     bool bResult = false;
 
@@ -4200,7 +4200,7 @@
     return bResult;
 }
 
-bool MgdLogManager::IsLogInUse(enum MgLogType& logType)
+bool MgPortableLogManager::IsLogInUse(enum MgLogType& logType)
 {
     bool bResult = false;
 
@@ -4236,7 +4236,7 @@
     return bResult;
 }
 
-void MgdLogManager::DisableLog(enum MgLogType logType)
+void MgPortableLogManager::DisableLog(enum MgLogType logType)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -4296,7 +4296,7 @@
     }
 }
 
-void MgdLogManager::EnableLog(enum MgLogType logType)
+void MgPortableLogManager::EnableLog(enum MgLogType logType)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -4365,7 +4365,7 @@
     SetLogHasHeader(logType, false);
 }
 
-void MgdLogManager::SetLogHasHeader(enum MgLogType logType, bool bHeader)
+void MgPortableLogManager::SetLogHasHeader(enum MgLogType logType, bool bHeader)
 {
     ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -4397,7 +4397,7 @@
     }
 }
 
-bool MgdLogManager::LogHasHeader(enum MgLogType logType)
+bool MgPortableLogManager::LogHasHeader(enum MgLogType logType)
 {
     bool bResult = false;
 
@@ -4433,7 +4433,7 @@
     return bResult;
 }
 
-void MgdLogManager::UpdateLogFilesTimestampCache()
+void MgPortableLogManager::UpdateLogFilesTimestampCache()
 {
     // mltAccess:
     if (IsAccessLogEnabled())
@@ -4506,7 +4506,7 @@
     }
 }
 
-void MgdLogManager::ParseLogService(INT16 serviceType, CREFSTRING configString)
+void MgPortableLogManager::ParseLogService(INT16 serviceType, CREFSTRING configString)
 {
     STRING serviceString;
     switch (serviceType)

Modified: trunk/MgDev/Portable/MgPortable/Log/LogManager.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogManager.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogManager.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -31,7 +31,7 @@
 //#include "SessionInfo.h"
 //#include "Connection.h"
 
-class MgdLogThread;
+class MgPortableLogThread;
 
 #define MG_DESKTOP_LOG_EXCEPTION() \
     STRING locale = MgResources::DefaultMessageLocale; \
@@ -57,7 +57,7 @@
 
 #define MG_LOG_SYSTEM_ENTRY(Priority, Entry) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     pMan->LogSystemEntry(Priority, Entry); \
   } while (0)
 
@@ -64,7 +64,7 @@
 //TODO: Log macros need session information such as client ID, version etc.
 #define MG_LOG_ACCESS_ENTRY(Entry, Client, ClientIp, UserName) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsAccessLogEnabled()) \
     { \
         pMan->LogAccessEntry(Entry, Client, ClientIp, UserName); \
@@ -73,7 +73,7 @@
 
 #define MG_LOG_ADMIN_ENTRY(Entry, Client, ClientIp, UserName) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsAdminLogEnabled()) \
     { \
         pMan->LogAdminEntry(Entry, Client, ClientIp, UserName); \
@@ -82,7 +82,7 @@
 
 #define MG_LOG_AUTHENTICATION_ENTRY(Entry) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsAuthenticationLogEnabled()) \
     { \
         MG_CONNECTION_INFO \
@@ -92,7 +92,7 @@
 
 #define MG_LOG_ERROR_ENTRY(Entry) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsErrorLogEnabled()) \
     { \
         MG_CONNECTION_INFO \
@@ -102,7 +102,7 @@
 
 #define MG_LOG_EXCEPTION_ENTRY(Entry, StackTrace) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsErrorLogEnabled()) \
     { \
         MG_CONNECTION_INFO \
@@ -112,7 +112,7 @@
 
 #define MG_LOG_WARNING_ENTRY(Service, Entry, StackTrace) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     MG_CONNECTION_INFO \
     pMan->LogWarning(Service, Entry, connInfoClient.c_str(), connInfoClientIp.c_str(), connInfoUserName.c_str(), StackTrace); \
   } while (0)
@@ -119,7 +119,7 @@
 
 #define MG_LOG_TRACE_ENTRY(Entry) \
   do { \
-    MgdLogManager* pMan = MgdLogManager::GetInstance(); \
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance(); \
     if(pMan->IsTraceLogEnabled()) \
     { \
         MG_CONNECTION_INFO \
@@ -204,16 +204,16 @@
     STRING connInfoClientIp = L""; \
     STRING connInfoUserName = L""; 
 
-class MG_DESKTOP_API MgdLogManager : public MgGuardDisposable
+class MG_DESKTOP_API MgPortableLogManager : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgdLogManager)
+    DECLARE_CLASSNAME(MgPortableLogManager)
 
 public:
-    virtual ~MgdLogManager();
+    virtual ~MgPortableLogManager();
 
     virtual void Dispose();
 
-    static MgdLogManager* GetInstance();
+    static MgPortableLogManager* GetInstance();
     void Initialize();
     void LoadConfigurationProperties();
     STRING GetLogsPath();
@@ -349,9 +349,9 @@
 
 private:
     // Constructor
-    MgdLogManager();
+    MgPortableLogManager();
 
-    static Ptr<MgdLogManager> m_logManager;
+    static Ptr<MgPortableLogManager> m_logManager;
     static STRING m_path;
     static INT32 m_maxLogSize;
     static STRING m_delimiter;
@@ -565,7 +565,7 @@
 
     ACE_Recursive_Thread_Mutex m_mutex;
     ACE_Thread_Manager m_threadManager;
-    MgdLogThread* m_pLogThread;
+    MgPortableLogThread* m_pLogThread;
     INT64 m_writeCount;
 
     MgDateTime m_cacheAccessLogTimestamp;

Modified: trunk/MgDev/Portable/MgPortable/Log/LogThread.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogThread.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogThread.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "LogThread.h"
 #include "LogEntryData.h"
 //#include "ServerManager.h"
@@ -25,8 +25,8 @@
 /// <summary>
 /// Constructor
 /// </summary>
-MgdLogThread::MgdLogThread(ACE_Thread_Manager &tm, INT32 nThreads) :
-    MgdThreadBase(tm, nThreads)
+MgPortableLogThread::MgPortableLogThread(ACE_Thread_Manager &tm, INT32 nThreads) :
+    MgPortableThreadBase(tm, nThreads)
 {
     m_bActive = true;
 }
@@ -35,7 +35,7 @@
 /// <summary>
 /// ACE_Task method
 /// </summary>
-int MgdLogThread::svc()
+int MgPortableLogThread::svc()
 {
     INT32 nResult = 0;
 
@@ -42,11 +42,11 @@
     Ptr<MgException> mgException;
     try
     {
-        MgdLogManager* pLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pLogManager = MgPortableLogManager::GetInstance();
 
         while (m_bActive)
         {
-//            ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgdLogThread::svc() Ready\n")));
+//            ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgPortableLogThread::svc() Ready\n")));
 
             ACE_Message_Block* messageBlock = NULL;
 
@@ -58,14 +58,14 @@
                 if(nError == EINTR)
                 {
                     ACE_DEBUG ((LM_DEBUG, ACE_TEXT("  (%t) Interrupted while waiting for message\n")));
-                    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("  (%t) MgdLogThread - Exiting thread\n")));
+                    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("  (%t) MgPortableLogThread - Exiting thread\n")));
                     return 0;
                 }
                 else
                 {
                     // There was an error
-                    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("  (%t) MgdLogThread - Exiting thread\n")));
-                    ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("MgdLogThread::svc()")), -1);
+                    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("  (%t) MgPortableLogThread - Exiting thread\n")));
+                    ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("MgPortableLogThread::svc()")), -1);
                 }
             }
 
@@ -85,7 +85,7 @@
                 else if(messageBlock->msg_type() == ACE_Message_Block::MB_DATA)
                 {
                     // Get the function
-                    MgdLogEntryData* led = (MgdLogEntryData*)messageBlock->data_block();
+                    MgPortableLogEntryData* led = (MgPortableLogEntryData*)messageBlock->data_block();
                     if(led)
                     {
                         Ptr<MgException> mgException;
@@ -118,7 +118,7 @@
                             //MgServerManager* pServerManager = MgServerManager::GetInstance();
                             //STRING locale = pServerManager->GetDefaultMessageLocale();
                             STRING locale = MgResources::DefaultMessageLocale;
-                            mgException = new MgException(MgExceptionCodes::MgFdoException, L"MgdLogThread.svc", __LINE__, __WFILE__, NULL, messageId, &arguments);
+                            mgException = new MgException(MgExceptionCodes::MgFdoException, L"MgPortableLogThread.svc", __LINE__, __WFILE__, NULL, messageId, &arguments);
                             ACE_DEBUG ((LM_ERROR, ACE_TEXT("(%t) %W\n"), mgException->GetDetails(locale).c_str()));
                             MG_LOG_EXCEPTION_ENTRY(mgException->GetExceptionMessage(locale).c_str(), mgException->GetStackTrace(locale).c_str());
 
@@ -130,7 +130,7 @@
                             //STRING locale = pServerManager->GetDefaultMessageLocale();
                             STRING locale = MgResources::DefaultMessageLocale;
 
-                            mgException = MgException::Create(e, L"MgdLogThread.svc", __LINE__, __WFILE__);
+                            mgException = MgException::Create(e, L"MgPortableLogThread.svc", __LINE__, __WFILE__);
                             ACE_DEBUG ((LM_ERROR, ACE_TEXT("(%t) %W\n"), mgException->GetDetails(locale).c_str()));
                             MG_LOG_EXCEPTION_ENTRY(mgException->GetExceptionMessage(locale).c_str(), mgException->GetStackTrace(locale).c_str());
                         }
@@ -139,7 +139,7 @@
                             //MgServerManager* pServerManager = MgServerManager::GetInstance();
                             //STRING locale = pServerManager->GetDefaultMessageLocale();
                             STRING locale = MgResources::DefaultMessageLocale;
-                            mgException = new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgdLogThread.svc", __LINE__, __WFILE__, NULL, L"", NULL);
+                            mgException = new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgPortableLogThread.svc", __LINE__, __WFILE__, NULL, L"", NULL);
                             ACE_DEBUG ((LM_ERROR, ACE_TEXT("(%t) %W\n"), mgException->GetDetails(locale).c_str()));
                             MG_LOG_EXCEPTION_ENTRY(mgException->GetExceptionMessage(locale).c_str(), mgException->GetStackTrace(locale).c_str());
                         }
@@ -171,7 +171,7 @@
         //STRING locale = pServerManager->GetDefaultMessageLocale();
         STRING locale = MgResources::DefaultMessageLocale;
 
-        mgException = MgException::Create(e, L"MgdLogThread.svc", __LINE__, __WFILE__);
+        mgException = MgException::Create(e, L"MgPortableLogThread.svc", __LINE__, __WFILE__);
         ACE_DEBUG ((LM_ERROR, ACE_TEXT("(%t) %W\n"), mgException->GetDetails(locale).c_str()));
         MG_LOG_EXCEPTION_ENTRY(mgException->GetExceptionMessage(locale).c_str(), mgException->GetStackTrace(locale).c_str());
 
@@ -183,7 +183,7 @@
         //STRING locale = pServerManager->GetDefaultMessageLocale();
         STRING locale = MgResources::DefaultMessageLocale;
 
-        mgException = new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgdLogThread.svc", __LINE__, __WFILE__, NULL, L"", NULL);
+        mgException = new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgPortableLogThread.svc", __LINE__, __WFILE__, NULL, L"", NULL);
         ACE_DEBUG ((LM_ERROR, ACE_TEXT("(%t) %W\n"), mgException->GetDetails(locale).c_str()));
         MG_LOG_EXCEPTION_ENTRY(mgException->GetExceptionMessage(locale).c_str(), mgException->GetStackTrace(locale).c_str());
 
@@ -190,6 +190,6 @@
         nResult = -1;
     }
 
-    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgdLogThread - Exiting thread\n")));
+    ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgPortableLogThread - Exiting thread\n")));
     return nResult;
 }

Modified: trunk/MgDev/Portable/MgPortable/Log/LogThread.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Log/LogThread.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Log/LogThread.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,17 +18,17 @@
 #ifndef MG_LOG_THREAD_H
 #define MG_LOG_THREAD_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/ThreadBase.h"
 
-class MgdLogThread : public MgdThreadBase
+class MgPortableLogThread : public MgPortableThreadBase
 {
-    DECLARE_CLASSNAME(MgdLogThread)
+    DECLARE_CLASSNAME(MgPortableLogThread)
 
     ///////////////////////////////////////////////////////
     /// Methods
 public:
-    MgdLogThread(ACE_Thread_Manager &tm, INT32 nThreads);
+    MgPortableLogThread(ACE_Thread_Manager &tm, INT32 nThreads);
 
     // ACE_Task methods
     virtual int svc();

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Layer.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Layer.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Layer.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -26,12 +26,12 @@
 #include "Services/ServiceFactory.h"
 #include "Services/ScrollableFeatureReader.h"
 
-MG_IMPL_DYNCREATE(MgdLayer)
+MG_IMPL_DYNCREATE(MgPortableLayer)
 
 //////////////////////////////////////////////////////////////
 // Creates a MgLayerBase object
 //
-MgdLayer::MgdLayer()
+MgPortableLayer::MgPortableLayer()
     : MgLayerBase()
 {
     m_initIdProps = true;
@@ -40,7 +40,7 @@
 //////////////////////////////////////////////////////////////
 // Creates a MgLayerBase object given a reference to a LayerDefinition
 //
-MgdLayer::MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService)
+MgPortableLayer::MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService)
     : MgLayerBase(layerDefinition, resourceService)
 {
     m_initIdProps = true;
@@ -50,7 +50,7 @@
 //////////////////////////////////////////////////////////////
 // Creates a MgLayerBase object given a reference to a LayerDefinition
 //
-MgdLayer::MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps)
+MgPortableLayer::MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps)
     : MgLayerBase(layerDefinition, resourceService)
 {
     m_initIdProps = initIdProps;
@@ -63,7 +63,7 @@
 //////////////////////////////////////////////////////////////////
 /// Creates an MgLayerBase object from a layer definition, pulls identity properties if required, and init layer definition if required.
 ///
-MgdLayer::MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps, bool initLayerDefinition)
+MgPortableLayer::MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps, bool initLayerDefinition)
     : MgLayerBase(layerDefinition, resourceService, initLayerDefinition)
 {
     m_initIdProps = initIdProps;
@@ -76,7 +76,7 @@
 //////////////////////////////////////////////////////////////
 // Destruct a MgLayerBase object
 //
-MgdLayer::~MgdLayer()
+MgPortableLayer::~MgPortableLayer()
 {
 }
 
@@ -84,7 +84,7 @@
 /// \brief
 /// Return the map object.
 ///
-MgMapBase* MgdLayer::GetMap()
+MgMapBase* MgPortableLayer::GetMap()
 {
     MgMapBase* baseMap = NULL;
 
@@ -95,7 +95,7 @@
 
     if (NULL == baseMap)
     {
-        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdLayer.GetMap",
+        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableLayer.GetMap",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -106,7 +106,7 @@
 // Parse the layer definition XML and extracts scale ranges,
 // feature source and feature class from it
 //
-void MgdLayer::GetLayerInfoFromDefinition(MgResourceService* resourceService)
+void MgPortableLayer::GetLayerInfoFromDefinition(MgResourceService* resourceService)
 {
     MgLayerBase::GetLayerInfoFromDefinition(resourceService);
 
@@ -127,7 +127,7 @@
                 Ptr<MgSiteConnection> conn = new MgSiteConnection();
                 conn->Open(userInfo);
                 */
-                Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+                Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
                 Ptr<MgFeatureService> featureService = static_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
                 Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(m_featureSourceId);
 
@@ -153,7 +153,7 @@
                 // Do nothing here.  A failure to pull selection id's is not critical at this point
             }
         }
-        MG_CATCH_AND_THROW(L"MgdLayer.GetLayerInfoFromDefinition")
+        MG_CATCH_AND_THROW(L"MgPortableLayer.GetLayerInfoFromDefinition")
     }
 }
 
@@ -160,7 +160,7 @@
 //////////////////////////////////////////////////////////////
 // Serialize data to a stream
 //
-void MgdLayer::Serialize(MgStream* stream)
+void MgPortableLayer::Serialize(MgStream* stream)
 {
     Ptr<MgStreamHelper> helper = stream->GetStreamHelper();
     stream->WriteObject(m_definition);
@@ -204,7 +204,7 @@
 //////////////////////////////////////////////////////////////
 // Deserialize data from a stream
 //
-void MgdLayer::Deserialize(MgStream* stream)
+void MgPortableLayer::Deserialize(MgStream* stream)
 {
     Ptr<MgStreamHelper> helper = stream->GetStreamHelper();
 
@@ -262,7 +262,7 @@
 /// classes, then all those properties are also contained in the returned
 /// class definition.
 ///
-MgClassDefinition* MgdLayer::GetClassDefinition()
+MgClassDefinition* MgPortableLayer::GetClassDefinition()
 {
     Ptr<MgFeatureService> featureService = dynamic_cast<MgFeatureService*>(
         GetMap()->GetService(MgServiceType::FeatureService));
@@ -281,7 +281,7 @@
 /// source. If you want to apply the criteria to a subset of the
 /// features, use the MgFeatureService::SelectAggregate Method.
 ///
-MgFeatureReader* MgdLayer::SelectFeatures(MgFeatureQueryOptions* options)
+MgFeatureReader* MgPortableLayer::SelectFeatures(MgFeatureQueryOptions* options)
 {
     Ptr<MgFeatureService> featureService = dynamic_cast<MgFeatureService*>(
         GetMap()->GetService(MgServiceType::FeatureService));
@@ -298,7 +298,7 @@
 /// apply the criteria to all features without grouping them, use
 /// the MgFeatureService::SelectFeatures Method.
 ///
-MgDataReader* MgdLayer::SelectAggregate(MgFeatureAggregateOptions* options)
+MgDataReader* MgPortableLayer::SelectAggregate(MgFeatureAggregateOptions* options)
 {
     Ptr<MgFeatureService> featureService = dynamic_cast<MgFeatureService*>(
         GetMap()->GetService(MgServiceType::FeatureService));
@@ -313,7 +313,7 @@
 /// MgUpdateFeatures, MgLockFeatures or MgUnlockFeatures commands
 /// contained in the given MgFeatureCommandCollection object.
 ///
-MgPropertyCollection* MgdLayer::UpdateFeatures(MgFeatureCommandCollection* commands)
+MgPropertyCollection* MgPortableLayer::UpdateFeatures(MgFeatureCommandCollection* commands)
 {
     Ptr<MgPropertyCollection> propCol;
 
@@ -337,8 +337,8 @@
         STRING errorMsg = parser.GetErrorMessage();
         MgStringCollection arguments;
         arguments.Add(errorMsg);
-        //TODO: MgdInvalidFeatureSourceException
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdLayer::UpdateFeatures", __LINE__, __WFILE__, &arguments, L"", NULL);
+        //TODO: MgPortableInvalidFeatureSourceException
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableLayer::UpdateFeatures", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     std::unique_ptr<MdfModel::FeatureSource> featureSource;
@@ -366,7 +366,7 @@
 
         if (string::npos == endIndex)
         {
-            throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgdLayer.UpdateFeatures",
+            throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgPortableLayer.UpdateFeatures",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
         else
@@ -379,12 +379,12 @@
 
     propCol = featureService->UpdateFeatures(resourceId, commands, useTransaction);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.UpdateFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.UpdateFeatures")
 
     return propCol.Detach();
 }
 
-MgPropertyCollection* MgdLayer::UpdateFeatures(MgFeatureCommandCollection* commands, MgTransaction* trans)
+MgPropertyCollection* MgPortableLayer::UpdateFeatures(MgFeatureCommandCollection* commands, MgTransaction* trans)
 {
     Ptr<MgPropertyCollection> propCol;
 
@@ -397,156 +397,156 @@
 
     propCol = featureService->UpdateFeatures(resourceId, commands, trans);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.UpdateFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.UpdateFeatures")
 
     return propCol.Detach();
 }
 
-MgTransaction* MgdLayer::BeginTransaction()
+MgTransaction* MgPortableLayer::BeginTransaction()
 {
     Ptr<MgTransaction> trans;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     trans = featSvc->BeginTransaction(fsId);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.BeginTransaction")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.BeginTransaction")
 
     return trans.Detach();
 }
 
-MgdScrollableFeatureReader* MgdLayer::SelectFeaturesExtended(MgFeatureQueryOptions* options)
+MgPortableScrollableFeatureReader* MgPortableLayer::SelectFeaturesExtended(MgFeatureQueryOptions* options)
 {
-    Ptr<MgdScrollableFeatureReader> reader;
+    Ptr<MgPortableScrollableFeatureReader> reader;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     reader = featSvc->SelectFeaturesExtended(fsId, GetFeatureClassName(), options);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.SelectFeaturesExtended")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.SelectFeaturesExtended")
 
     return reader.Detach();
 }
 
-MgSpatialContextReader* MgdLayer::GetSpatialContexts(bool active)
+MgSpatialContextReader* MgPortableLayer::GetSpatialContexts(bool active)
 {
     Ptr<MgSpatialContextReader> reader;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     reader = featSvc->GetSpatialContexts(fsId, active);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.GetSpatialContexts")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.GetSpatialContexts")
 
     return reader.Detach();
 }
 
-MgFeatureReader* MgdLayer::InsertFeatures(MgPropertyCollection* propertyValues)
+MgFeatureReader* MgPortableLayer::InsertFeatures(MgPropertyCollection* propertyValues)
 {
     Ptr<MgFeatureReader> reader;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     reader = featSvc->InsertFeatures(fsId, GetFeatureClassName(), propertyValues);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.InsertFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.InsertFeatures")
 
     return reader.Detach();
 }
 
-INT32 MgdLayer::UpdateMatchingFeatures(MgPropertyCollection* propertyValues, CREFSTRING filter)
+INT32 MgPortableLayer::UpdateMatchingFeatures(MgPropertyCollection* propertyValues, CREFSTRING filter)
 {
     int updated = 0;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     updated = featSvc->UpdateMatchingFeatures(fsId, GetFeatureClassName(), propertyValues, filter);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.UpdateMatchingFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.UpdateMatchingFeatures")
 
     return updated;
 }
 
-INT32 MgdLayer::DeleteFeatures(CREFSTRING filter)
+INT32 MgPortableLayer::DeleteFeatures(CREFSTRING filter)
 {
     int deleted = 0;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     deleted = featSvc->DeleteFeatures(fsId, GetFeatureClassName(), filter);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.DeleteFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.DeleteFeatures")
 
     return deleted;
 }
 
-MgFeatureReader* MgdLayer::InsertFeatures(MgPropertyCollection* propertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableLayer::InsertFeatures(MgPropertyCollection* propertyValues, MgTransaction* trans)
 {
     Ptr<MgFeatureReader> reader;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     reader = featSvc->InsertFeatures(fsId, GetFeatureClassName(), propertyValues);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.InsertFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.InsertFeatures")
 
     return reader.Detach();
 }
 
-INT32 MgdLayer::UpdateMatchingFeatures(MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableLayer::UpdateMatchingFeatures(MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
 {
     int updated = 0;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     updated = featSvc->UpdateMatchingFeatures(fsId, GetFeatureClassName(), propertyValues, filter, trans);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.UpdateMatchingFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.UpdateMatchingFeatures")
 
     return updated;
 }
 
-INT32 MgdLayer::DeleteFeatures(CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableLayer::DeleteFeatures(CREFSTRING filter, MgTransaction* trans)
 {
     int deleted = 0;
 
     MG_TRY()
 
-    Ptr<MgdFeatureService> featSvc = static_cast<MgdFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
+    Ptr<MgPortableFeatureService> featSvc = static_cast<MgPortableFeatureService*>(GetMap()->GetService(MgServiceType::FeatureService));
     Ptr<MgResourceIdentifier> fsId = new MgResourceIdentifier(GetFeatureSourceId());
 
     deleted = featSvc->DeleteFeatures(fsId, GetFeatureClassName(), filter, trans);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.DeleteFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableLayer.DeleteFeatures")
 
     return deleted;
 }
 
-void MgdLayer::ParseFeatureName(MgFeatureService* featureService, REFSTRING className, REFSTRING schemaName)
+void MgPortableLayer::ParseFeatureName(MgFeatureService* featureService, REFSTRING className, REFSTRING schemaName)
 {
     // If the class name is fully qualified (prefixed with a schema name),
     // then use it to determine the schema name.
@@ -579,7 +579,7 @@
     schemaName = m_schemaName;
 }
 
-void MgdLayer::PopulateIdentityProperties(MgClassDefinition* classDef)
+void MgPortableLayer::PopulateIdentityProperties(MgClassDefinition* classDef)
 {
     Ptr<MgPropertyDefinitionCollection> idProps = classDef->GetIdentityProperties();
 
@@ -589,10 +589,10 @@
         Ptr<MgDataPropertyDefinition> prop = dynamic_cast<MgDataPropertyDefinition*>(idProps->GetItem(nIds));
         if (0 == (MgDataPropertyDefinition*)prop)
         {
-            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgdLayer.PopulateIdentityProperties",
+            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgPortableLayer.PopulateIdentityProperties",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
-        MgdLayer::IdProperty idProp;
+        MgPortableLayer::IdProperty idProp;
         idProp.type = prop->GetDataType();
         idProp.name = prop->GetName();
         m_idProps.push_back(idProp);
@@ -599,7 +599,7 @@
     }
 }
 
-bool MgdLayer::IsPotentiallyVisibleAtScale(double scale, bool bConsiderParentGroupVisibility)
+bool MgPortableLayer::IsPotentiallyVisibleAtScale(double scale, bool bConsiderParentGroupVisibility)
 {
     //check visibility flags
     Ptr<MgLayerGroup> group = GetGroup();
@@ -622,7 +622,7 @@
     return false;
 }
 
-MgIntCollection* MgdLayer::GetGeometryTypeStyles()
+MgIntCollection* MgPortableLayer::GetGeometryTypeStyles()
 {
     Ptr<MgIntCollection> ret;
 
@@ -630,17 +630,17 @@
 
     ret = GetGeometryTypeStyles(GetMap()->GetViewScale());
 
-    MG_CATCH_AND_THROW(L"MgdLayer.GetGeometryTypeStyles");
+    MG_CATCH_AND_THROW(L"MgPortableLayer.GetGeometryTypeStyles");
 
     return ret.Detach();
 }
 
-INT32 MgdLayer::GetThemeCategoryCount(INT32 geomType)
+INT32 MgPortableLayer::GetThemeCategoryCount(INT32 geomType)
 {
     return GetThemeCategoryCount(GetMap()->GetViewScale(), geomType);
 }
 
-MgByteReader* MgdLayer::GenerateLegendImage(INT32 width, INT32 height, CREFSTRING format, INT32 geomType, INT32 themeCategory)
+MgByteReader* MgPortableLayer::GenerateLegendImage(INT32 width, INT32 height, CREFSTRING format, INT32 geomType, INT32 themeCategory)
 {
     Ptr<MgByteReader> ret;
 
@@ -648,12 +648,12 @@
 
     ret = GenerateLegendImage(GetMap()->GetViewScale(), width, height, format, geomType, themeCategory);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.GenerateLegendImage");
+    MG_CATCH_AND_THROW(L"MgPortableLayer.GenerateLegendImage");
 
     return ret.Detach();
 }
 
-MgIntCollection* MgdLayer::GetGeometryTypeStyles(double scale)
+MgIntCollection* MgPortableLayer::GetGeometryTypeStyles(double scale)
 {
     Ptr<MgIntCollection> ret;
 
@@ -711,12 +711,12 @@
         }
     }
 
-    MG_CATCH_AND_THROW(L"MgdLayer.GenerateLegendImage");
+    MG_CATCH_AND_THROW(L"MgPortableLayer.GenerateLegendImage");
 
     return ret.Detach();
 }
 
-INT32 MgdLayer::GetThemeCategoryCount(double scale, INT32 geomType)
+INT32 MgPortableLayer::GetThemeCategoryCount(double scale, INT32 geomType)
 {
     INT32 ret = -1;
 
@@ -773,12 +773,12 @@
     return ret;
 }
 
-INT32 MgdLayer::GetCompositeThemeCategoryCount(INT32 compositeOffset)
+INT32 MgPortableLayer::GetCompositeThemeCategoryCount(INT32 compositeOffset)
 {
     return GetCompositeThemeCategoryCount(GetMap()->GetViewScale(), compositeOffset);
 }
 
-INT32 MgdLayer::GetCompositeThemeCategoryCount(double scale, INT32 compositeOffset)
+INT32 MgPortableLayer::GetCompositeThemeCategoryCount(double scale, INT32 compositeOffset)
 {
     INT32 ret = -1;
 
@@ -818,21 +818,21 @@
     return ret;
 }
 
-MgByteReader* MgdLayer::GenerateLegendImage(double scale, INT32 width, INT32 height, CREFSTRING format, INT32 geomType, INT32 themeCategory)
+MgByteReader* MgPortableLayer::GenerateLegendImage(double scale, INT32 width, INT32 height, CREFSTRING format, INT32 geomType, INT32 themeCategory)
 {
     Ptr<MgByteReader> ret;
 
     MG_TRY()
 
-    Ptr<MgdMappingService> svcMapping = dynamic_cast<MgdMappingService*>(GetMap()->GetService(MgServiceType::MappingService));
+    Ptr<MgPortableMappingService> svcMapping = dynamic_cast<MgPortableMappingService*>(GetMap()->GetService(MgServiceType::MappingService));
     ret = svcMapping->GenerateLegendImage(m_definition, scale, width, height, format, geomType, themeCategory);
 
-    MG_CATCH_AND_THROW(L"MgdLayer.GenerateLegendImage");
+    MG_CATCH_AND_THROW(L"MgPortableLayer.GenerateLegendImage");
 
     return ret.Detach();
 }
 
-bool MgdLayer::HasTooltips()
+bool MgPortableLayer::HasTooltips()
 {
     return MgLayerBase::HasTooltips();
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Layer.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Layer.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Layer.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,19 +18,19 @@
 #ifndef DESKTOP_MAP_LAYER_H
 #define DESKTOP_MAP_LAYER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MgdScrollableFeatureReader;
+class MgPortableScrollableFeatureReader;
 
 /// \ingroup Desktop_Map_and_Layers_Module
 /// \{
-class MG_DESKTOP_API MgdLayer : public MgLayerBase
+class MG_DESKTOP_API MgPortableLayer : public MgLayerBase
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdLayer)
+    DECLARE_CLASSNAME(MgPortableLayer)
 
 PUBLISHED_API:
-    MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService);
+    MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService);
 
     virtual MgClassDefinition* GetClassDefinition();
 
@@ -44,7 +44,7 @@
 
     virtual MgTransaction* BeginTransaction();
 
-    virtual MgdScrollableFeatureReader* SelectFeaturesExtended(MgFeatureQueryOptions* options);
+    virtual MgPortableScrollableFeatureReader* SelectFeaturesExtended(MgFeatureQueryOptions* options);
 
     virtual MgFeatureReader* InsertFeatures(MgPropertyCollection* propertyValues);
 
@@ -340,19 +340,19 @@
     /// \brief
     /// Creates an empty MgLayer object
     ///
-    MgdLayer();
+    MgPortableLayer();
 
     //////////////////////////////////////////////////////////////////
     /// \brief
     /// Creates an MgLayer object and pulls identity properties if required
     ///
-    MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps);
+    MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps);
 
     //////////////////////////////////////////////////////////////////
     /// \brief
     /// Creates an MgLayerBase object from a layer definition, pulls identity properties if required, and init layer definition if required.
     ///
-    MgdLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps, bool initLayerDefinition);
+    MgPortableLayer(MgResourceIdentifier* layerDefinition, MgResourceService* resourceService, bool initIdProps, bool initLayerDefinition);
 
     //////////////////////////////////////////////////////////////////
     /// Parse the layer definition XML and extracts scale ranges,
@@ -372,7 +372,7 @@
     virtual void Deserialize(MgStream* stream);
 
 protected:
-    virtual ~MgdLayer();
+    virtual ~MgPortableLayer();
 
     virtual void Dispose()
     {

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Map.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Map.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Map.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,11 +23,11 @@
 
 using namespace std;
 
-MG_IMPL_DYNCREATE(MgdMap)
+MG_IMPL_DYNCREATE(MgPortableMap)
 
-STRING MgdMap::m_layerGroupTag = L"LayerGroupData";
+STRING MgPortableMap::m_layerGroupTag = L"LayerGroupData";
 
-MgdMap::MgdMap() 
+MgPortableMap::MgPortableMap() 
     : MgMapBase(),
     m_inSave(false),
     m_unpackedLayersGroups(false),
@@ -37,10 +37,10 @@
 }
 
 //////////////////////////////////////////////////////////////
-// Constructs an empty un-initialized MgdMap object.
+// Constructs an empty un-initialized MgPortableMap object.
 // The object cannot be used until either the Create or Open method is called.
 //
-MgdMap::MgdMap(MgResourceIdentifier* mapDefinition)
+MgPortableMap::MgPortableMap(MgResourceIdentifier* mapDefinition)
     : MgMapBase(),
     m_inSave(false),
     m_unpackedLayersGroups(false),
@@ -51,7 +51,7 @@
     Create(NULL, mapDefinition, name);
 }
 
-MgdMap::MgdMap(MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
+MgPortableMap::MgPortableMap(MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
     : MgMapBase(),
     m_inSave(false),
     m_unpackedLayersGroups(false),
@@ -64,7 +64,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Initialize the resource service on demand only.
 ///
-void MgdMap::InitializeResourceService(MgResourceService* resourceService)
+void MgPortableMap::InitializeResourceService(MgResourceService* resourceService)
 {
     if (NULL != resourceService)
     {
@@ -78,7 +78,7 @@
     ACE_ASSERT(NULL != m_resourceService.p);
 }
 
-void MgdMap::SetViewCenterXY(double x, double y)
+void MgPortableMap::SetViewCenterXY(double x, double y)
 {
     bool set = false;
     if (NULL != m_center)
@@ -100,30 +100,30 @@
     }
 }
 
-void MgdMap::SetViewScale(double scale)
+void MgPortableMap::SetViewScale(double scale)
 {
     MgMapBase::SetViewScale(scale);
 }
 
-void MgdMap::GotoView(double x, double y, double scale)
+void MgPortableMap::GotoView(double x, double y, double scale)
 {
     SetViewCenterXY(x, y);
     SetViewScale(scale);
 }
 
-void MgdMap::SetDisplaySize(INT32 width, INT32 height)
+void MgPortableMap::SetDisplaySize(INT32 width, INT32 height)
 {
     if (width <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdMap::SetDisplaySize", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableMap::SetDisplaySize", __LINE__, __WFILE__, NULL, L"", NULL);
 
     if (height <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdMap::SetDisplaySize", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableMap::SetDisplaySize", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MgMapBase::SetDisplayHeight(height);
     MgMapBase::SetDisplayWidth(width);
 }
 
-void MgdMap::SetDpi(INT32 dpi)
+void MgPortableMap::SetDpi(INT32 dpi)
 {
     MgMapBase::SetDisplayDpi(dpi);
 }
@@ -132,11 +132,11 @@
 /// \brief
 /// Returns an instance of the specified service.
 ///
-MgService* MgdMap::GetService(INT32 serviceType)
+MgService* MgPortableMap::GetService(INT32 serviceType)
 {
-    if (NULL == (MgdServiceFactory*)m_factory)
+    if (NULL == (MgPortableServiceFactory*)m_factory)
     {
-        m_factory = new MgdServiceFactory();
+        m_factory = new MgPortableServiceFactory();
     }
     return m_factory->CreateService(serviceType);
 }
@@ -145,7 +145,7 @@
 // Initializes a new Map object.
 // This method is used for Mg Viewers or for offline map production.
 //
-void MgdMap::Create(MgResourceService* resourceService, MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
+void MgPortableMap::Create(MgResourceService* resourceService, MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
 {
     MG_TRY()
 
@@ -180,7 +180,7 @@
         STRING errorMsg = parser.GetErrorMessage();
         MgStringCollection arguments;
         arguments.Add(errorMsg);
-        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgdMap.Create", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgPortableMap.Create", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // build the runtime map object from the parsed definition
@@ -280,7 +280,7 @@
             itUnres->first->SetGroup(parentGroup);
 
             //insert this group after its parent in the map runtime model, so we won't
-            //have to worry about group order during serialization/deserialization of MgdMap
+            //have to worry about group order during serialization/deserialization of MgPortableMap
             INT32 parentIdx = m_groups->IndexOf(parentGroup);
             assert(parentIdx != -1);
             m_groups->Insert(parentIdx + 1, itUnres->first);
@@ -341,7 +341,7 @@
             //create a runtime layer from this layerDefinition and add it to the layer collection
             //pull identity properties as a batch process after the layers are created
             Ptr<MgResourceIdentifier> layerDefId = new MgResourceIdentifier(layer->GetLayerResourceID());
-            Ptr<MgLayerBase> rtLayer = new MgdLayer(layerDefId, m_resourceService, false, false);
+            Ptr<MgLayerBase> rtLayer = new MgPortableLayer(layerDefId, m_resourceService, false, false);
             rtLayer->SetLayerResourceContent(layerContentPair[layerDefId->ToString()]);
             rtLayer->SetName(layer->GetName());
             rtLayer->SetVisible(layer->IsVisible());
@@ -363,7 +363,7 @@
                 //attach the layer to its group
                 itKg = knownGroups.find(groupName);
                 if(itKg == knownGroups.end())
-                    throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgdMap.Create", __LINE__, __WFILE__, NULL, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgPortableMap.Create", __LINE__, __WFILE__, NULL, L"", NULL);
 
                 rtLayer->SetGroup(itKg->second);
             }
@@ -411,7 +411,7 @@
                     {
                         //create a runtime layer from this base layer and add it to the layer collection
                         Ptr<MgResourceIdentifier> layerDefId = new MgResourceIdentifier(baseLayer->GetLayerResourceID());
-                        Ptr<MgLayerBase> rtLayer = new MgdLayer(layerDefId, m_resourceService, true, false);
+                        Ptr<MgLayerBase> rtLayer = new MgPortableLayer(layerDefId, m_resourceService, true, false);
                         rtLayer->SetLayerResourceContent(layerContentPair[layerDefId->ToString()]);
                         rtLayer->SetName(baseLayer->GetName());
                         rtLayer->SetVisible(true);
@@ -473,14 +473,14 @@
     // there's nothing to unpack anymore in this case
     m_unpackedLayersGroups = true;
 
-    MG_CATCH_AND_THROW(L"MgdMap.Create")
+    MG_CATCH_AND_THROW(L"MgPortableMap.Create")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-/// Initializes a new MgdMap object given a map definition and a name for the map.
+/// Initializes a new MgPortableMap object given a map definition and a name for the map.
 /// This method is used for MapGuide Viewers or for offline map production.
 ///
-void MgdMap::Create(MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
+void MgPortableMap::Create(MgResourceIdentifier* mapDefinition, CREFSTRING mapName)
 {
     Create(NULL, mapDefinition, mapName);
 }
@@ -489,7 +489,7 @@
 // Call down to base class implementation.  Ptr<> seems to be
 // messing this up.  Weird
 //
-void MgdMap::Create(CREFSTRING mapSRS, MgEnvelope* mapExtent, CREFSTRING mapName)
+void MgPortableMap::Create(CREFSTRING mapSRS, MgEnvelope* mapExtent, CREFSTRING mapName)
 {
     m_name = mapName;
     MgMapBase::Create(mapSRS, mapExtent, mapName);
@@ -504,7 +504,7 @@
 //////////////////////////////////////////////////////////////
 // Opens the resource using the specified resource service and resource identifier.
 //
-void MgdMap::Open(MgResourceService* resourceService, CREFSTRING mapName)
+void MgPortableMap::Open(MgResourceService* resourceService, CREFSTRING mapName)
 {
     
 }
@@ -512,7 +512,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Loads the map object from a session repository.
 ///
-void MgdMap::Open(CREFSTRING mapName)
+void MgPortableMap::Open(CREFSTRING mapName)
 {
     Open(NULL, mapName);
 }
@@ -522,7 +522,7 @@
 // This method assumes a valid resource identifier has already been established
 // for this resource via either Open or Save
 //
-void MgdMap::Save(MgResourceService* resourceService)
+void MgPortableMap::Save(MgResourceService* resourceService)
 {
     MG_TRY()
 
@@ -530,7 +530,7 @@
 
     if (NULL == m_resId.p)
     {
-        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMap.Save",
+        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMap.Save",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -548,7 +548,7 @@
         m_resourceService->SetResourceData(m_resId, m_layerGroupTag, L"Stream", resourceData);
     }
 
-    MG_CATCH(L"MgdMap.Save")
+    MG_CATCH(L"MgPortableMap.Save")
     if (NULL != mgException)
     {
         m_inSave = false;
@@ -562,7 +562,7 @@
 //////////////////////////////////////////////////////////////
 // Saves the resource using the specified resource service and resource identifier.
 //
-void MgdMap::Save(MgResourceService* resourceService, MgResourceIdentifier* resourceId)
+void MgPortableMap::Save(MgResourceService* resourceService, MgResourceIdentifier* resourceId)
 {
     MG_TRY()
 
@@ -572,7 +572,7 @@
 
     if (NULL == m_resId.p)
     {
-        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMap.Save",
+        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMap.Save",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -590,7 +590,7 @@
         m_resourceService->SetResourceData(m_resId, m_layerGroupTag, L"Stream", resourceData);
     }
 
-    MG_CATCH(L"MgdMap.Save")
+    MG_CATCH(L"MgPortableMap.Save")
     if (NULL != mgException)
     {
         m_inSave = false;
@@ -603,15 +603,15 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Saves the Map.
 ///
-void MgdMap::Save()
+void MgPortableMap::Save()
 {
     
 }
 
 //////////////////////////////////////////////////////////////
-// Destruct a MgdMap object
+// Destruct a MgPortableMap object
 //
-MgdMap::~MgdMap()
+MgPortableMap::~MgPortableMap()
 {
     // reset the colorlist from our layers (std::list dtor clears the list)
     delete m_colorPalette;
@@ -623,16 +623,16 @@
 /// Unpacks layers and groups from memory stream - lazy initialization
 ///
 /// How does lazy initialization work?  Basically, the layer and group
-/// collections are stored in a separate binary blob within MgdMap.  For
+/// collections are stored in a separate binary blob within MgPortableMap.  For
 /// large maps, the "layers groups" blob can be tens/hundreds of kbytes.
 /// In some cases, the application does not actually need this information
-/// from MgdMap so serializing it is a big waste of resources.
+/// from MgPortableMap so serializing it is a big waste of resources.
 ///
-/// All saved MgdMap objects know how to pull the layer groups blob on the
+/// All saved MgPortableMap objects know how to pull the layer groups blob on the
 /// fly using the internal m_resourceService/m_resId.  If GetLayers() or
 /// GetLayerGroups() is called then the blob will automatically be pulled.
 /// Note: m_resourceService must be set using SetDelayedLoadResourceService
-/// if MgdMap is not set using Create or Open (i.e. when deserialized).
+/// if MgPortableMap is not set using Create or Open (i.e. when deserialized).
 ///
 /// The "layers groups" blob is only serialized on the wire if it has
 /// changed.  If none of the collections contain data then they are assumed
@@ -641,7 +641,7 @@
 /// The same applies to the Save.  If the collections do not contain data
 /// then they will not be saved.
 ///
-void MgdMap::UnpackLayersAndGroups()
+void MgPortableMap::UnpackLayersAndGroups()
 {
     // check if we already unpacked things
     if (m_unpackedLayersGroups)
@@ -665,7 +665,7 @@
         {
             // If this exception is thrown then the calling code should probably initialize the
             // resource service using SetDelayedLoadResourceService()
-            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdMap.UnpackLayersAndGroups", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableMap.UnpackLayersAndGroups", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
 
@@ -745,7 +745,7 @@
 /// \brief
 /// Packs layers and groups to a memory stream (lazy initialization)
 ///
-MgMemoryStreamHelper* MgdMap::PackLayersAndGroups()
+MgMemoryStreamHelper* MgPortableMap::PackLayersAndGroups()
 {
     if (!m_unpackedLayersGroups)
     {
@@ -790,12 +790,12 @@
 //////////////////////////////////////////////////////////////
 // Serialize data to a stream
 //
-void MgdMap::Serialize(MgStream* stream)
+void MgPortableMap::Serialize(MgStream* stream)
 {
     //version of object in case we need to revision again
     stream->WriteInt32(m_serializeVersion);
 
-    //resource id for MgdMap
+    //resource id for MgPortableMap
     stream->WriteObject(m_resId);
     //map name
     stream->WriteString(m_name);
@@ -882,7 +882,7 @@
 //////////////////////////////////////////////////////////////
 // Deserialize data from a stream
 //
-void MgdMap::Deserialize(MgStream* stream)
+void MgPortableMap::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 
@@ -894,10 +894,10 @@
 
     if (version != m_serializeVersion)
     {
-        throw new MgException(MgExceptionCodes::MgStreamIoException, L"MgdMap.Deserialize", __LINE__, __WFILE__, NULL, L"MgInvalidTCPProtocol", NULL);
+        throw new MgException(MgExceptionCodes::MgStreamIoException, L"MgPortableMap.Deserialize", __LINE__, __WFILE__, NULL, L"MgInvalidTCPProtocol", NULL);
     }
 
-    //resource id for MgdMap
+    //resource id for MgPortableMap
     m_resId = (MgResourceIdentifier*)streamReader->GetObject();
     //map name
     streamReader->GetString(m_name);
@@ -995,11 +995,11 @@
 /// \brief
 /// Sets internal resource service references.  Used for Lazy loading
 ///
-void MgdMap::SetDelayedLoadResourceService(MgResourceService* resourceService)
+void MgPortableMap::SetDelayedLoadResourceService(MgResourceService* resourceService)
 {
     if (NULL == resourceService)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMap.SetDelayedLoadResourceService",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMap.SetDelayedLoadResourceService",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -1010,7 +1010,7 @@
 /// \brief
 /// Callback method invoked when the parent of a layer has changed.
 ///
-void MgdMap::OnLayerParentChanged(MgLayerBase* layer, CREFSTRING parentId)
+void MgPortableMap::OnLayerParentChanged(MgLayerBase* layer, CREFSTRING parentId)
 {
     layer->ForceRefresh();
 
@@ -1017,10 +1017,10 @@
     MgMapBase::OnLayerParentChanged(layer, parentId);
 }
 
-void MgdMap::BulkLoadIdentityProperties(MgFeatureService* featureService)
+void MgPortableMap::BulkLoadIdentityProperties(MgFeatureService* featureService)
 {
     /// Typedefs for populating identity properties into the map
-    typedef std::list<MgdLayer*> LayerList;
+    typedef std::list<MgPortableLayer*> LayerList;
     typedef std::map<STRING,LayerList> LayerClassMap;
     typedef std::map<STRING,LayerClassMap> LayerFeatureSourceMap;
 
@@ -1032,7 +1032,7 @@
     {
         STRING className;
         STRING schemaName;
-        Ptr<MgdLayer> layer = dynamic_cast<MgdLayer*>(m_layers->GetItem(i));
+        Ptr<MgPortableLayer> layer = dynamic_cast<MgPortableLayer*>(m_layers->GetItem(i));
         STRING featureSource = layer->GetFeatureSourceId();
         if (!featureSource.empty())
         {
@@ -1085,7 +1085,7 @@
 // RFC60 ColorPalette Accessor uses lazy instantiation as it's not used
 // for truecolor tiles.  It's used for the map colors collected from the
 // stylization of the visible layers.
-ColorStringList& MgdMap::GetColorPalette()
+ColorStringList& MgPortableMap::GetColorPalette()
 {
     if (m_colorPalette == NULL)
         m_colorPalette = new ColorStringList();
@@ -1099,7 +1099,7 @@
 
 ////////////////////////////////////////////////////////////////////////
 // RFC60 setter adds list.
-void MgdMap::AddColorsToPalette(ColorStringList& newColorPalette)
+void MgPortableMap::AddColorsToPalette(ColorStringList& newColorPalette)
 {
     if (NULL == m_colorPalette)
         GetColorPalette();  // lazy instantiation
@@ -1119,24 +1119,24 @@
     }
 }
 
-INT32 MgdMap::GetWatermarkUsage()
+INT32 MgPortableMap::GetWatermarkUsage()
 {
     return m_watermarkUsage;
 }
 
-void MgdMap::SetWatermarkUsage(INT32 watermarkUsage)
+void MgPortableMap::SetWatermarkUsage(INT32 watermarkUsage)
 {
     m_watermarkUsage = watermarkUsage;
 }
 
-double MgdMap::GetMetersPerUnit()
+double MgPortableMap::GetMetersPerUnit()
 {
     return m_metersPerUnit;
 }
 
-void MgdMap::MakeGroupNormal(MgLayerGroup* group)
+void MgPortableMap::MakeGroupNormal(MgLayerGroup* group)
 {
-    CHECKNULL(group, L"MgdMap::MakeGroupNormal");
+    CHECKNULL(group, L"MgPortableMap::MakeGroupNormal");
     group->SetLayerGroupType(MgLayerGroupType::Normal);
 
     //Need to fix the layers too
@@ -1151,20 +1151,20 @@
     }
 }
 
-void MgdMap::SetGroupExpandInLegend(MgLayerGroup* group, bool bExpand)
+void MgPortableMap::SetGroupExpandInLegend(MgLayerGroup* group, bool bExpand)
 {
-    CHECKARGUMENTNULL(group, L"MgdMap::SetGroupExpandInLegend");
+    CHECKARGUMENTNULL(group, L"MgPortableMap::SetGroupExpandInLegend");
     group->SetExpandInLegend(bExpand);
 }
 
-void MgdMap::SetLayerExpandInLegend(MgLayerBase* layer, bool bExpand)
+void MgPortableMap::SetLayerExpandInLegend(MgLayerBase* layer, bool bExpand)
 {
-    CHECKARGUMENTNULL(layer, L"MgdMap::SetGroupExpandInLegend");
+    CHECKARGUMENTNULL(layer, L"MgPortableMap::SetGroupExpandInLegend");
     layer->SetExpandInLegend(bExpand);
 }
 
-void MgdMap::SetLayerGroupType(MgLayerGroup* group, INT32 type)
+void MgPortableMap::SetLayerGroupType(MgLayerGroup* group, INT32 type)
 {
-    CHECKARGUMENTNULL(group, L"MgdMap::SetLayerGroupType");
+    CHECKARGUMENTNULL(group, L"MgPortableMap::SetLayerGroupType");
     group->SetLayerGroupType(type);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Map.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Map.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Map.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_MAP_H
 #define DESKTOP_MAP_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "MdfModel.h"
 #include <vector>
 #include <list>
@@ -26,14 +26,14 @@
 
 typedef std::list<MdfModel::MdfString> ColorStringList;
 
-class MgdServiceFactory;
+class MgPortableServiceFactory;
 
 /// \ingroup Desktop_Map_and_Layers_Module
 /// \{
-class MG_DESKTOP_API MgdMap : public MgMapBase
+class MG_DESKTOP_API MgPortableMap : public MgMapBase
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdMap)
+    DECLARE_CLASSNAME(MgPortableMap)
 
 PUBLISHED_API:
 
@@ -43,11 +43,11 @@
         Viewer = 2
     };
 
-    //MgdMap();
+    //MgPortableMap();
 
-    MgdMap(MgResourceIdentifier* mapDefinition);
+    MgPortableMap(MgResourceIdentifier* mapDefinition);
 
-    MgdMap(MgResourceIdentifier* mapDefinition, CREFSTRING mapName);
+    MgPortableMap(MgResourceIdentifier* mapDefinition, CREFSTRING mapName);
 
     virtual void Create(MgResourceService* resourceService, MgResourceIdentifier* mapDefinition, CREFSTRING mapName);
 
@@ -89,9 +89,9 @@
     static void SetLayerGroupType(MgLayerGroup* group, INT32 type);
 
 INTERNAL_API:
-    MgdMap();
+    MgPortableMap();
 
-    virtual ~MgdMap();
+    virtual ~MgPortableMap();
 
     virtual void Serialize(MgStream* stream);
 
@@ -136,7 +136,7 @@
     static const int m_serializeVersion = (4<<16) + 0;
     static STRING m_layerGroupTag;
 
-    Ptr<MgdServiceFactory> m_factory;
+    Ptr<MgPortableServiceFactory> m_factory;
     Ptr<MgMemoryStreamHelper> m_layerGroupHelper;
     Ptr<MgResourceService> m_resourceService;
     bool m_inSave;

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Selection.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Selection.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Selection.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,12 +19,12 @@
 #include "Selection.h"
 #include "SAX2Parser.h"
 
-MG_IMPL_DYNCREATE(MgdSelection)
+MG_IMPL_DYNCREATE(MgPortableSelection)
 
 /////////////////////////////////////////
 // Dummy constructor for Ptr<> template
 //
-MgdSelection::MgdSelection()
+MgPortableSelection::MgPortableSelection()
 : MgSelectionBase()
 {
 }
@@ -31,7 +31,7 @@
 
 
 // Initialize selection generation from a map
-MgdSelection::MgdSelection(MgdMap* map)
+MgPortableSelection::MgPortableSelection(MgPortableMap* map)
 : MgSelectionBase(map)
 {
 }
@@ -38,7 +38,7 @@
 
 
 // Initialize selection from a map and xml selection
-MgdSelection::MgdSelection(MgdMap* map, CREFSTRING xmlSelectionString)
+MgPortableSelection::MgPortableSelection(MgPortableMap* map, CREFSTRING xmlSelectionString)
 : MgSelectionBase(map, xmlSelectionString)
 {
 }
@@ -45,7 +45,7 @@
 
 
 // Destructor
-MgdSelection::~MgdSelection()
+MgPortableSelection::~MgPortableSelection()
 {
 }
 
@@ -53,9 +53,9 @@
 /////////////////////////////////////////////////////////////////
 // Get the selected feature data for the specified feature class.
 //
-MgFeatureReader* MgdSelection::GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, bool mappedOnly)
+MgFeatureReader* MgPortableSelection::GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, bool mappedOnly)
 {
-    CHECKNULL((MgLayerBase*)layer, L"MgdSelection.GetSelectedFeatures");
+    CHECKNULL((MgLayerBase*)layer, L"MgPortableSelection.GetSelectedFeatures");
 
     if (!mappedOnly)
         return GetSelectedFeatures(layer, className, (MgStringCollection*)NULL);
@@ -82,7 +82,7 @@
     }
     return GetSelectedFeatures(layer, className, propertyNames);
 
-    MG_CATCH_AND_THROW(L"MgdSelection.GetSelectedFeatures")
+    MG_CATCH_AND_THROW(L"MgPortableSelection.GetSelectedFeatures")
 
     return NULL;
 }
@@ -90,9 +90,9 @@
 /////////////////////////////////////////////////////////////////
 /// Get the selected feature data for the specified feature class.
 ///
-MgFeatureReader* MgdSelection::GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, MgStringCollection* propertyNames)
+MgFeatureReader* MgPortableSelection::GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, MgStringCollection* propertyNames)
 {
-    CHECKNULL((MgLayerBase*)layer, L"MgdSelection.GetSelectedFeatures");
+    CHECKNULL((MgLayerBase*)layer, L"MgPortableSelection.GetSelectedFeatures");
 
     Ptr<MgFeatureService> featureService = dynamic_cast<MgFeatureService*>(
         m_map->GetService(MgServiceType::FeatureService));
@@ -113,7 +113,7 @@
 /////////////////////////////////////////////////////////////////
 // Open the resource
 //
-void MgdSelection::Open(MgResourceService* resourceService, CREFSTRING mapName)
+void MgPortableSelection::Open(MgResourceService* resourceService, CREFSTRING mapName)
 {
     /*
     STRING sessionId;
@@ -121,7 +121,7 @@
     if (userInfo.p != NULL) sessionId = userInfo->GetMgSessionId();
     if (sessionId.empty())
     {
-        throw new MgSessionExpiredException(L"MgdSelection.Open",__LINE__,__WFILE__, NULL, L"", NULL);
+        throw new MgSessionExpiredException(L"MgPortableSelection.Open",__LINE__,__WFILE__, NULL, L"", NULL);
     }
 
     Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(GetResourceName(sessionId, mapName));
@@ -133,7 +133,7 @@
 //////////////////////////////////////////////////////////////////
 // Save the resource
 //
-void MgdSelection::Save(MgResourceService* resourceService, CREFSTRING mapName)
+void MgPortableSelection::Save(MgResourceService* resourceService, CREFSTRING mapName)
 {
     /*
     STRING sessionId;
@@ -141,7 +141,7 @@
     if (userInfo.p != NULL) sessionId = userInfo->GetMgSessionId();
     if (sessionId.empty())
     {
-        throw new MgSessionExpiredException(L"MgdSelection.Save",__LINE__,__WFILE__, NULL, L"", NULL);
+        throw new MgSessionExpiredException(L"MgPortableSelection.Save",__LINE__,__WFILE__, NULL, L"", NULL);
     }
 
     Ptr<MgResourceIdentifier> resId = new MgResourceIdentifier(GetResourceName(sessionId, mapName));
@@ -151,18 +151,18 @@
 
 
 //////////////////////////////////////////////////////////////////
-STRING MgdSelection::GetResourceName(CREFSTRING sessionId, CREFSTRING mapName)
+STRING MgPortableSelection::GetResourceName(CREFSTRING sessionId, CREFSTRING mapName)
 {
     return L"Session:" + sessionId + L"//" + mapName + L".Selection"; //MgResourceType::Selection gives LNK2001 (huh?)
 }
 
 //////////////////////////////////////////////////////////////////
-const char* MgdSelection::GetResourceTypeName()
+const char* MgPortableSelection::GetResourceTypeName()
 {
     return "Selection";
 }
 
-void MgdSelection::Clear()
+void MgPortableSelection::Clear()
 {
     m_selections.clear();
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/MapLayer/Selection.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MapLayer/Selection.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MapLayer/Selection.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #ifndef DESKTOP_SELECTION_H
 #define DESKTOP_SELECTION_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Map.h"
 
 /// \ingroup Desktop_Map_and_Layers_Module
 /// \{
-class MG_DESKTOP_API MgdSelection : public MgSelectionBase
+class MG_DESKTOP_API MgPortableSelection : public MgSelectionBase
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdSelection)
+    DECLARE_CLASSNAME(MgPortableSelection)
 
 PUBLISHED_API: 
-    MgdSelection(MgdMap* map);
+    MgPortableSelection(MgPortableMap* map);
 
-    MgdSelection(MgdMap* map, CREFSTRING xmlSelectionString);
+    MgPortableSelection(MgPortableMap* map, CREFSTRING xmlSelectionString);
 
     MgFeatureReader* GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, bool mappedOnly);
 
@@ -39,9 +39,9 @@
 
     void Clear();
 
-    MgdSelection();
+    MgPortableSelection();
 
-    virtual ~MgdSelection();
+    virtual ~MgPortableSelection();
 
 public:
     virtual void Open(MgResourceService* resourceService, CREFSTRING mapName);

Deleted: trunk/MgDev/Portable/MgPortable/MgDesktop.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MgDesktop.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MgDesktop.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,99 +0,0 @@
-//
-//  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
-//
-
-#ifndef MGDESKTOP_H
-#define MGDESKTOP_H
-
-#include "Foundation.h"
-#include "PlatformBase.h"
-
-#ifdef _WIN32
-#ifdef DESKTOP_EXPORTS
-#    define MG_DESKTOP_API __declspec(dllexport)
-#else
-#    define MG_DESKTOP_API __declspec(dllimport)
-#endif
-#else
-#define MG_DESKTOP_API
-#endif
-
-#if !defined(DWFTK_USE_DWFCORE_ZLIB)
-    #define DWFTK_USE_DWFCORE_ZLIB
-#endif
-#pragma warning( disable : 4290 )
-
-#include "System/ClassId.h"
-#include "System/ConfigProperties.h"
-#include "System/PlatformInit.h"
-#include "System/ExceptionCodes.h"
-
-#include "MapLayer/Layer.h"
-#include "MapLayer/Map.h"
-#include "MapLayer/Selection.h"
-
-#include "Services/DataReader.h"
-#include "Services/DrawingService.h"
-#include "Services/FeatureReader.h"
-#include "Services/ScrollableFeatureReader.h"
-#include "Services/FeatureService.h"
-#include "Services/ImageFormats.h"
-#include "Services/MappingService.h"
-#include "Services/ProfilingService.h"
-#include "Services/RenderingService.h"
-#include "Services/ResourceService.h"
-#include "Services/ServiceFactory.h"
-#include "Services/SqlReader.h"
-#include "Services/TileService.h"
-#include "Services/Transaction.h"
-
-#include "Services/Feature/RdbmsFeatureSourceParams.h"
-
-#include "Services/Rendering/CustomLogoInfo.h"
-#include "Services/Rendering/CustomTextInfo.h"
-#include "Services/Rendering/DwfVersion.h"
-#include "Services/Rendering/FeatureInformation.h"
-#include "Services/Rendering/Layout.h"
-#include "Services/Rendering/MapPlot.h"
-#include "Services/Rendering/MapPlotCollection.h"
-#include "Services/Rendering/MapPlotInstruction.h"
-#include "Services/Rendering/PlotSpecification.h"
-#include "Services/Rendering/PrintLayout.h"
-#include "Services/Rendering/RenderingOptions.h"
-#include "Services/Rendering/UnitType.h"
-
-#include "Services/Resource/UnmanagedDataType.h"
-
-#define NOT_IMPLEMENTED(method) \
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, method, __LINE__, __WFILE__, NULL, L"", NULL)
-
-//Uncomment to debug memory leaks. This is the header for Visual Leak Detector
-//See: http://vld.codeplex.com for download and setup
-/*
-#ifdef _WIN32
-#ifdef _DEBUG
-#define USING_VLD
-#include <vld.h>
-#endif
-#endif
-*/
-
-//Uncomment to get extra FDO join chatter when running unit tests
-//#define DEBUG_FDOJOIN
-//Uncomment to get extra connection pool chatter
-//#define DEBUG_FDO_CONNECTION_POOL
-
-#endif
\ No newline at end of file

Deleted: trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MgDesktop.vcxproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,1037 +0,0 @@
-<?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|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{CBC0339F-E68B-48BA-9059-945483BEBDCA}</ProjectGuid>
-    <RootNamespace>MgDesktop</RootNamespace>
-    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v142</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v142</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v142</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v142</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 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|Win32'" 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)'=='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.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\debug\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\bin\release\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\bin\release64\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <IntrinsicFunctions>false</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <ExceptionHandling>Sync</ExceptionHandling>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;MgGwsCommond.lib;MgGwsQueryEngined.lib;xerces-c_3mgD.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurityd.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ShowProgress>NotSet</ShowProgress>
-      <OutputFile>$(OutDir)MgDesktopd.dll</OutputFile>
-      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\..\Server\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>FDO.dll;FDOCommon.dll;FDOGeometry.dll;FDOSpatial.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>
-      </OptimizeReferences>
-      <EnableCOMDATFolding>
-      </EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <ImportLibrary>..\lib\debug\MgDesktopd.lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
-xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
-xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
-</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ExceptionHandling>Sync</ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;MgGwsCommon.lib;MgGwsQueryEngine.lib;xerces-c_3mg.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurity.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
-      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\..\Server\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>MgMdfParser.dll;MgGeometry.dll;MgGwsCommon.dll;MgGwsResource.dll;FDO.dll;FDOCommon.dll;FDOSpatial.dll;MgStylization.dll;FDOGeometry.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>..\lib\release\MgDesktop.lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
-xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
-xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
-</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <IntrinsicFunctions>false</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <ExceptionHandling>Sync</ExceptionHandling>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;MgGwsCommond.lib;MgGwsQueryEngined.lib;xerces-c_3mgD.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurityd.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ShowProgress>NotSet</ShowProgress>
-      <OutputFile>$(OutDir)MgDesktopd.dll</OutputFile>
-      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\x64\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\..\Server\lib\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>FDO.dll;FDOCommon.dll;FDOGeometry.dll;FDOSpatial.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>
-      </OptimizeReferences>
-      <EnableCOMDATFolding>
-      </EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <ImportLibrary>..\lib\debug64\MgDesktopd.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
-xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
-xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
-</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ExceptionHandling>Sync</ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;MgGwsCommon.lib;MgGwsQueryEngine.lib;xerces-c_3mg.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurity.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
-      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\x64\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\..\Server\lib\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>MgMdfParser.dll;MgGeometry.dll;MgGwsCommon.dll;MgGwsResource.dll;FDO.dll;FDOCommon.dll;FDOSpatial.dll;MgStylization.dll;FDOGeometry.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>..\lib\release64\MgDesktop.lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
-xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
-xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
-</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="Log\LogDetail.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Log\LogEntryData.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Log\LogManager.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Log\LogThread.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\ApplySchema.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\CreateFeatureSource.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\DeleteCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\DescribeSchema.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\EnumerateDataStores.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\ExtendedSelectCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\FeatureManipulationCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\FeatureServiceCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetConnectionPropertyValues.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetFeatureProviders.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetLongTransactions.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetProviderCapabilities.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetSchemaMapping.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetSpatialContexts.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\InsertCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectAggregateCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectFeatures.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SqlCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\UpdateCommand.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\UpdateFeatures.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoFilterCollection.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoReaderCollection.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureDistribution.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureGeometricFunctions.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureNumericFunctions.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSetReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureStringFunctions.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\ProxyDataReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\MappingService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ProfilingService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\FeatureInformation.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ByteSourceDwfInputStreamImpl.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ByteSourceRasterStreamImpl.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourceContentCache.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="System\ConfigProperties.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\CustomLogoInfo.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\CustomTextInfo.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\DataReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\DrawingService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Drawing\DrawingServiceUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\DwfVersion.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoConnectionPool.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoConnectionUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoForcedOneToOneFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureClassCacheItem.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureConnection.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\FeatureInfoRenderer.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\FeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSchemaCacheItem.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\FeatureService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureServiceCache.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureServiceCacheEntry.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSourceCacheItem.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\GwsConnectionPool.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\GwsFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ImageFormats.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\JoinFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Layer.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\Layout.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\LegendPlotUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Map.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MappingUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MapPlot.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MapPlotCollection.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\MgCSTrans.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="MgDesktopBuild.cpp" />
-    <ClCompile Include="Services\Resource\OperationInfo.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\OperationParameter.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="System\ExceptionCodes.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="System\PlatformInit.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\PlotSpecification.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\PrintLayout.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\ProjectedFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\RasterHelper.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\RdbmsFeatureSourceParams.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RenderingOptions.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\RenderingService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourceDefs.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageHandler.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageLoader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageManifestHandler.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageManifestParser.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ResourceService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgRaster.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgSymbolManager.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ScrollableFeatureReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Selection.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Stylization\SEMgSymbolManager.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\ServiceFactory.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\SpatialContextCacheItem.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\SqlReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Tile\TileCache.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Tile\TileDefs.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\TileService.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Transaction.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\TransformCache.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\UnitType.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\UnmanagedDataManager.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\UnmanagedDataType.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ZipFileHandler.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ZipFileReader.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="System\ThreadBase.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="System\TimerUtil.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="Log\LogDetail.h" />
-    <ClInclude Include="Log\LogEntryData.h" />
-    <ClInclude Include="Log\LogManager.h" />
-    <ClInclude Include="Log\LogThread.h" />
-    <ClInclude Include="Log\LogType.h" />
-    <ClInclude Include="ExceptionCodes.h" />
-    <ClInclude Include="Services\CryptoDefs.h" />
-    <ClInclude Include="Services\Feature\BooleanDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\ByteDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\Commands\ApplySchema.h" />
-    <ClInclude Include="Services\Feature\Commands\CreateFeatureSource.h" />
-    <ClInclude Include="Services\Feature\Commands\DeleteCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\DescribeSchema.h" />
-    <ClInclude Include="Services\Feature\Commands\EnumerateDataStores.h" />
-    <ClInclude Include="Services\Feature\Commands\ExtendedSelectCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\FeatureManipulationCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\FeatureServiceCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\GetConnectionPropertyValues.h" />
-    <ClInclude Include="Services\Feature\Commands\GetFeatureProviders.h" />
-    <ClInclude Include="Services\Feature\Commands\GetLongTransactions.h" />
-    <ClInclude Include="Services\Feature\Commands\GetProviderCapabilities.h" />
-    <ClInclude Include="Services\Feature\Commands\GetSchemaMapping.h" />
-    <ClInclude Include="Services\Feature\Commands\GetSpatialContexts.h" />
-    <ClInclude Include="Services\Feature\Commands\InsertCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\SelectAggregateCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\SelectCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\SelectFeatures.h" />
-    <ClInclude Include="Services\Feature\Commands\SqlCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\UpdateCommand.h" />
-    <ClInclude Include="Services\Feature\Commands\UpdateFeatures.h" />
-    <ClInclude Include="Services\Feature\DataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\DateTimeDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\DoubleDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\FdoFeatureReader.h" />
-    <ClInclude Include="Services\Feature\FdoFilterCollection.h" />
-    <ClInclude Include="Services\Feature\FdoReaderCollection.h" />
-    <ClInclude Include="Services\Feature\FeatureDistribution.h" />
-    <ClInclude Include="Services\Feature\FeatureGeometricFunctions.h" />
-    <ClInclude Include="Services\Feature\FeatureNumericFunctions.h" />
-    <ClInclude Include="Services\Feature\FeatureSetReader.h" />
-    <ClInclude Include="Services\Feature\FeatureStringFunctions.h" />
-    <ClInclude Include="Services\Feature\GeometryDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\Int16DataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\Int32DataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\Int64DataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\Matrix.h" />
-    <ClInclude Include="Services\Feature\ProxyDataReader.h" />
-    <ClInclude Include="Services\Feature\SingleDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\StringDataReaderCreator.h" />
-    <ClInclude Include="Services\Feature\UniqueFunction.h" />
-    <ClInclude Include="Services\MappingService.h" />
-    <ClInclude Include="Services\ProfilingService.h" />
-    <ClInclude Include="Services\Rendering\FeatureInformation.h" />
-    <ClInclude Include="Services\Resource\ByteSourceDwfInputStreamImpl.h" />
-    <ClInclude Include="Services\ByteSourceRasterStreamImpl.h" />
-    <ClInclude Include="Services\Resource\ResourceContentCache.h" />
-    <ClInclude Include="System\ClassId.h" />
-    <ClInclude Include="System\ConfigProperties.h" />
-    <ClInclude Include="Services\Rendering\CustomLogoInfo.h" />
-    <ClInclude Include="Services\Rendering\CustomTextInfo.h" />
-    <ClInclude Include="Services\DataReader.h" />
-    <ClInclude Include="Services\Drawing\DrawingDefs.h" />
-    <ClInclude Include="Services\DrawingService.h" />
-    <ClInclude Include="Services\Drawing\DrawingServiceUtil.h" />
-    <ClInclude Include="Exception\DwfException.h" />
-    <ClInclude Include="Services\Rendering\DwfVersion.h" />
-    <ClInclude Include="Services\Feature\FdoConnectionPool.h" />
-    <ClInclude Include="Services\Feature\FdoConnectionUtil.h" />
-    <ClInclude Include="Services\Feature\FdoForcedOneToOneFeatureReader.h" />
-    <ClInclude Include="Services\Feature\FeatureClassCacheItem.h" />
-    <ClInclude Include="Services\Feature\FeatureConnection.h" />
-    <ClInclude Include="Services\Feature\FeatureDefs.h" />
-    <ClInclude Include="Services\Rendering\FeatureInfoRenderer.h" />
-    <ClInclude Include="Services\FeatureReader.h" />
-    <ClInclude Include="Services\Feature\FeatureSchemaCacheItem.h" />
-    <ClInclude Include="Services\FeatureService.h" />
-    <ClInclude Include="Services\Feature\FeatureServiceCache.h" />
-    <ClInclude Include="Services\Feature\FeatureServiceCacheEntry.h" />
-    <ClInclude Include="Services\Feature\FeatureSourceCacheItem.h" />
-    <ClInclude Include="Services\Feature\FeatureUtil.h" />
-    <ClInclude Include="Services\Feature\GwsConnectionPool.h" />
-    <ClInclude Include="Services\Feature\GwsFeatureReader.h" />
-    <ClInclude Include="Services\Rendering\icons.h" />
-    <ClInclude Include="Services\ImageFormats.h" />
-    <ClInclude Include="Services\Feature\JoinFeatureReader.h" />
-    <ClInclude Include="MapLayer\Layer.h" />
-    <ClInclude Include="Services\Rendering\Layout.h" />
-    <ClInclude Include="Services\Rendering\LegendPlotUtil.h" />
-    <ClInclude Include="MapLayer\Map.h" />
-    <ClInclude Include="Services\Rendering\MappingDefs.h" />
-    <ClInclude Include="Services\Rendering\MappingUtil.h" />
-    <ClInclude Include="Services\Rendering\MapPlot.h" />
-    <ClInclude Include="Services\Rendering\MapPlotCollection.h" />
-    <ClInclude Include="Services\Rendering\MapPlotInstruction.h" />
-    <ClInclude Include="Services\Feature\MgCSTrans.h" />
-    <ClInclude Include="MgDesktop.h" />
-    <ClInclude Include="System\ExceptionCodes.h" />
-    <ClInclude Include="System\Mutex.h" />
-    <ClInclude Include="Services\Resource\OperationInfo.h" />
-    <ClInclude Include="Services\Resource\OperationParameter.h" />
-    <ClInclude Include="Exception\ParameterNotFoundException.h" />
-    <ClInclude Include="System\PlatformInit.h" />
-    <ClInclude Include="Services\Rendering\PlotSpecification.h" />
-    <ClInclude Include="Services\Rendering\PrintLayout.h" />
-    <ClInclude Include="Services\Feature\ProjectedFeatureReader.h" />
-    <ClInclude Include="Services\Feature\RasterHelper.h" />
-    <ClInclude Include="Services\Feature\RdbmsFeatureSourceParams.h" />
-    <ClInclude Include="Services\Rendering\RenderingOptions.h" />
-    <ClInclude Include="Services\RenderingService.h" />
-    <ClInclude Include="Services\Resource\ResourceDefs.h" />
-    <ClInclude Include="Services\Resource\ResourcePackageHandler.h" />
-    <ClInclude Include="Services\Resource\ResourcePackageLoader.h" />
-    <ClInclude Include="Services\Resource\ResourcePackageManifestHandler.h" />
-    <ClInclude Include="Services\Resource\ResourcePackageManifestParser.h" />
-    <ClInclude Include="Services\ResourceService.h" />
-    <ClInclude Include="Services\Rendering\RSMgFeatureReader.h" />
-    <ClInclude Include="Services\Rendering\RSMgInputStream.h" />
-    <ClInclude Include="Services\Rendering\RSMgRaster.h" />
-    <ClInclude Include="Services\Rendering\RSMgSymbolManager.h" />
-    <ClInclude Include="Services\ScrollableFeatureReader.h" />
-    <ClInclude Include="MapLayer\Selection.h" />
-    <ClInclude Include="Services\Stylization\SEMgSymbolManager.h" />
-    <ClInclude Include="Services\ServiceFactory.h" />
-    <ClInclude Include="Services\Feature\SpatialContextCacheItem.h" />
-    <ClInclude Include="Services\SqlReader.h" />
-    <ClInclude Include="Exception\StylizeLayerFailedException.h" />
-    <ClInclude Include="Services\Tile\TileCache.h" />
-    <ClInclude Include="Services\Tile\TileDefs.h" />
-    <ClInclude Include="Services\TileService.h" />
-    <ClInclude Include="Services\Transaction.h" />
-    <ClInclude Include="Services\Feature\TransformCache.h" />
-    <ClInclude Include="Services\Rendering\UnitType.h" />
-    <ClInclude Include="Services\Resource\UnmanagedDataManager.h" />
-    <ClInclude Include="Services\Resource\UnmanagedDataType.h" />
-    <ClInclude Include="Services\Resource\ZipFileHandler.h" />
-    <ClInclude Include="Services\Resource\ZipFileReader.h" />
-    <ClInclude Include="System\ThreadBase.h" />
-    <ClInclude Include="System\TimerUtil.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Platform.ini" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file

Deleted: trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj.filters
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MgDesktop.vcxproj.filters	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MgDesktop.vcxproj.filters	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,771 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="Services\Resource\ByteSourceDwfInputStreamImpl.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ByteSourceRasterStreamImpl.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="System\ConfigProperties.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\CustomLogoInfo.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\CustomTextInfo.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\DataReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\DrawingService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Drawing\DrawingServiceUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\DwfVersion.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoConnectionPool.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoConnectionUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoForcedOneToOneFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureClassCacheItem.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureConnection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\FeatureInfoRenderer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\FeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSchemaCacheItem.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\FeatureService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureServiceCache.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureServiceCacheEntry.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSourceCacheItem.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\GwsConnectionPool.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\GwsFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ImageFormats.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\JoinFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Layer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\Layout.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\LegendPlotUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Map.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MappingUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MapPlot.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\MapPlotCollection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\MgCSTrans.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="MgDesktopBuild.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\OperationInfo.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\OperationParameter.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="System\PlatformInit.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\PlotSpecification.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\PrintLayout.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\ProjectedFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\RasterHelper.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\RdbmsFeatureSourceParams.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RenderingOptions.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\RenderingService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourceDefs.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageHandler.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageLoader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageManifestHandler.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourcePackageManifestParser.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ResourceService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgRaster.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\RSMgSymbolManager.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ScrollableFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="MapLayer\Selection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Stylization\SEMgSymbolManager.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ServiceFactory.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\SpatialContextCacheItem.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\SqlReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Tile\TileCache.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Tile\TileDefs.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\TileService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Transaction.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\TransformCache.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\UnitType.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\UnmanagedDataManager.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\UnmanagedDataType.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ZipFileHandler.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ZipFileReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\ProfilingService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="System\TimerUtil.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureDistribution.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureGeometricFunctions.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureNumericFunctions.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureStringFunctions.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\ProxyDataReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Log\LogDetail.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Log\LogEntryData.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Log\LogManager.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Log\LogThread.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="System\ThreadBase.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\MappingService.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Rendering\FeatureInformation.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\ApplySchema.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\CreateFeatureSource.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\DeleteCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\DescribeSchema.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\EnumerateDataStores.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\ExtendedSelectCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\FeatureManipulationCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\FeatureServiceCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetConnectionPropertyValues.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetFeatureProviders.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetLongTransactions.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetProviderCapabilities.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetSchemaMapping.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\GetSpatialContexts.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\InsertCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectAggregateCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SelectFeatures.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\SqlCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\UpdateCommand.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\Commands\UpdateFeatures.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoFeatureReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoFilterCollection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FdoReaderCollection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Feature\FeatureSetReader.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Services\Resource\ResourceContentCache.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="System\ExceptionCodes.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="Services\Resource\ByteSourceDwfInputStreamImpl.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ByteSourceRasterStreamImpl.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\ClassId.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\ConfigProperties.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\CustomLogoInfo.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\CustomTextInfo.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\DataReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Drawing\DrawingDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\DrawingService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Drawing\DrawingServiceUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DwfException.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\DwfVersion.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoConnectionPool.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoConnectionUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoForcedOneToOneFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureClassCacheItem.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureConnection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\FeatureInfoRenderer.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\FeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureSchemaCacheItem.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\FeatureService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureServiceCache.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureServiceCacheEntry.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureSourceCacheItem.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\GwsConnectionPool.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\GwsFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\icons.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ImageFormats.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\JoinFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="MapLayer\Layer.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\Layout.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\LegendPlotUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="MapLayer\Map.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\MappingDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\MappingUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\MapPlot.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\MapPlotCollection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\MapPlotInstruction.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\MgCSTrans.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="MgDesktop.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\Mutex.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\OperationInfo.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\OperationParameter.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ParameterNotFoundException.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\PlatformInit.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\PlotSpecification.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\PrintLayout.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\ProjectedFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\RasterHelper.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\RdbmsFeatureSourceParams.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\RenderingOptions.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\RenderingService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourceDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourcePackageHandler.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourcePackageLoader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourcePackageManifestHandler.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourcePackageManifestParser.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ResourceService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\RSMgFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\RSMgInputStream.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\RSMgRaster.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\RSMgSymbolManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ScrollableFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="MapLayer\Selection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Stylization\SEMgSymbolManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ServiceFactory.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\SpatialContextCacheItem.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\SqlReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\StylizeLayerFailedException.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Tile\TileCache.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Tile\TileDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\TileService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Transaction.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\TransformCache.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\UnitType.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\UnmanagedDataManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\UnmanagedDataType.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ZipFileHandler.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ZipFileReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\ProfilingService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\TimerUtil.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\BooleanDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\ByteDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\DataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\DateTimeDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\DoubleDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureDistribution.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureGeometricFunctions.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureNumericFunctions.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureStringFunctions.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\GeometryDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Int16DataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Int32DataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Int64DataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\UniqueFunction.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\StringDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\SingleDataReaderCreator.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\ProxyDataReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Matrix.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Log\LogType.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Log\LogDetail.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Log\LogEntryData.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Log\LogManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Log\LogThread.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\ThreadBase.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\MappingService.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Rendering\FeatureInformation.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\UpdateFeatures.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\ApplySchema.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\CreateFeatureSource.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\DeleteCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\DescribeSchema.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\EnumerateDataStores.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\ExtendedSelectCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\FeatureManipulationCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\FeatureServiceCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetConnectionPropertyValues.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetFeatureProviders.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetLongTransactions.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetProviderCapabilities.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetSchemaMapping.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\GetSpatialContexts.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\InsertCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\SelectAggregateCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\SelectCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\SelectFeatures.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\SqlCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\Commands\UpdateCommand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoFilterCollection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoFeatureReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FdoReaderCollection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Feature\FeatureSetReader.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\CryptoDefs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Services\Resource\ResourceContentCache.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ExceptionCodes.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="System\ExceptionCodes.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Platform.ini" />
-  </ItemGroup>
-</Project>
\ No newline at end of file

Deleted: trunk/MgDev/Portable/MgPortable/MgDesktopBuild.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/MgDesktopBuild.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/MgDesktopBuild.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,136 +0,0 @@
-//
-//  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
-//
-
-#include "System/ConfigProperties.cpp"
-#include "System/ExceptionCodes.cpp"
-#include "System/PlatformInit.cpp"
-#include "System/TimerUtil.cpp"
-#include "System/ThreadBase.cpp"
-
-#include "Log/LogDetail.cpp"
-#include "Log/LogEntryData.cpp"
-#include "Log/LogManager.cpp"
-#include "Log/LogThread.cpp"
-
-#include "MapLayer/Layer.cpp"
-#include "MapLayer/Map.cpp"
-#include "MapLayer/Selection.cpp"
-
-#include "Services/ByteSourceRasterStreamImpl.cpp"
-#include "Services/DataReader.cpp"
-#include "Services/DrawingService.cpp"
-#include "Services/FeatureReader.cpp"
-#include "Services/FeatureService.cpp"
-#include "Services/ImageFormats.cpp"
-#include "Services/MappingService.cpp"
-#include "Services/ProfilingService.cpp"
-#include "Services/RenderingService.cpp"
-#include "Services/ResourceService.cpp"
-#include "Services/ScrollableFeatureReader.cpp"
-#include "Services/ServiceFactory.cpp"
-#include "Services/SqlReader.cpp"
-#include "Services/TileService.cpp"
-#include "Services/Transaction.cpp"
-
-#include "Services/Drawing/DrawingServiceUtil.cpp"
-
-#include "Services/Feature/FdoConnectionPool.cpp"
-#include "Services/Feature/FdoConnectionUtil.cpp"
-#include "Services/Feature/FdoFeatureReader.cpp"
-#include "Services/Feature/FdoFilterCollection.cpp"
-#include "Services/Feature/FdoForcedOneToOneFeatureReader.cpp"
-#include "Services/Feature/FdoReaderCollection.cpp"
-#include "Services/Feature/FeatureClassCacheItem.cpp"
-#include "Services/Feature/FeatureConnection.cpp"
-#include "Services/Feature/FeatureDistribution.cpp"
-#include "Services/Feature/FeatureGeometricFunctions.cpp"
-#include "Services/Feature/FeatureNumericFunctions.cpp"
-#include "Services/Feature/FeatureSchemaCacheItem.cpp"
-#include "Services/Feature/FeatureServiceCacheEntry.cpp"
-#include "Services/Feature/FeatureServiceCache.cpp"
-#include "Services/Feature/FeatureSetReader.cpp"
-#include "Services/Feature/FeatureSourceCacheItem.cpp"
-#include "Services/Feature/FeatureStringFunctions.cpp"
-#include "Services/Feature/FeatureUtil.cpp"
-#include "Services/Feature/GwsConnectionPool.cpp"
-#include "Services/Feature/GwsFeatureReader.cpp"
-#include "Services/Feature/JoinFeatureReader.cpp"
-#include "Services/Feature/MgCSTrans.cpp"
-#include "Services/Feature/ProjectedFeatureReader.cpp"
-#include "Services/Feature/ProxyDataReader.cpp"
-#include "Services/Feature/RasterHelper.cpp"
-#include "Services/Feature/RdbmsFeatureSourceParams.cpp"
-#include "Services/Feature/SpatialContextCacheItem.cpp"
-#include "Services/Feature/TransformCache.cpp"
-#include "Services/Feature/Commands/ApplySchema.cpp"
-#include "Services/Feature/Commands/CreateFeatureSource.cpp"
-#include "Services/Feature/Commands/DeleteCommand.cpp"
-#include "Services/Feature/Commands/DescribeSchema.cpp"
-#include "Services/Feature/Commands/EnumerateDataStores.cpp"
-#include "Services/Feature/Commands/ExtendedSelectCommand.cpp"
-#include "Services/Feature/Commands/FeatureManipulationCommand.cpp"
-#include "Services/Feature/Commands/FeatureServiceCommand.cpp"
-#include "Services/Feature/Commands/GetConnectionPropertyValues.cpp"
-#include "Services/Feature/Commands/GetFeatureProviders.cpp"
-#include "Services/Feature/Commands/GetLongTransactions.cpp"
-#include "Services/Feature/Commands/GetProviderCapabilities.cpp"
-#include "Services/Feature/Commands/GetSchemaMapping.cpp"
-#include "Services/Feature/Commands/GetSpatialContexts.cpp"
-#include "Services/Feature/Commands/InsertCommand.cpp"
-#include "Services/Feature/Commands/SelectAggregateCommand.cpp"
-#include "Services/Feature/Commands/SelectCommand.cpp"
-#include "Services/Feature/Commands/SelectFeatures.cpp"
-#include "Services/Feature/Commands/SqlCommand.cpp"
-#include "Services/Feature/Commands/UpdateCommand.cpp"
-#include "Services/Feature/Commands/UpdateFeatures.cpp"
-
-#include "Services/Rendering/CustomLogoInfo.cpp"
-#include "Services/Rendering/CustomTextInfo.cpp"
-#include "Services/Rendering/DwfVersion.cpp"
-#include "Services/Rendering/FeatureInfoRenderer.cpp"
-#include "Services/Rendering/FeatureInformation.cpp"
-#include "Services/Rendering/Layout.cpp"
-#include "Services/Rendering/LegendPlotUtil.cpp"
-#include "Services/Rendering/MappingUtil.cpp"
-#include "Services/Rendering/MapPlot.cpp"
-#include "Services/Rendering/MapPlotCollection.cpp"
-#include "Services/Rendering/PrintLayout.cpp"
-#include "Services/Rendering/PlotSpecification.cpp"
-#include "Services/Rendering/RenderingOptions.cpp"
-#include "Services/Rendering/RSMgFeatureReader.cpp"
-#include "Services/Rendering/RSMgRaster.cpp"
-#include "Services/Rendering/RSMgSymbolManager.cpp"
-#include "Services/Rendering/UnitType.cpp"
-
-#include "Services/Resource/ByteSourceDwfInputStreamImpl.cpp"
-#include "Services/Resource/OperationInfo.cpp"
-#include "Services/Resource/OperationParameter.cpp"
-#include "Services/Resource/ResourceContentCache.cpp"
-#include "Services/Resource/ResourceDefs.cpp"
-#include "Services/Resource/ResourcePackageHandler.cpp"
-#include "Services/Resource/ResourcePackageLoader.cpp"
-#include "Services/Resource/ResourcePackageManifestHandler.cpp"
-#include "Services/Resource/ResourcePackageManifestParser.cpp"
-#include "Services/Resource/UnmanagedDataManager.cpp"
-#include "Services/Resource/UnmanagedDataType.cpp"
-#include "Services/Resource/ZipFileHandler.cpp"
-#include "Services/Resource/ZipFileReader.cpp"
-
-#include "Services/Stylization/SEMgSymbolManager.cpp"
-
-#include "Services/Tile/TileDefs.cpp"
-#include "Services/Tile/TileCache.cpp"
\ No newline at end of file

Copied: trunk/MgDev/Portable/MgPortable/MgPortable.h (from rev 9814, sandbox/jng/vanilla_swig/Portable/MgPortable/MgPortable.h)
===================================================================
--- trunk/MgDev/Portable/MgPortable/MgPortable.h	                        (rev 0)
+++ trunk/MgDev/Portable/MgPortable/MgPortable.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,99 @@
+//
+//  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
+//
+
+#ifndef MgPortable_H
+#define MgPortable_H
+
+#include "Foundation.h"
+#include "PlatformBase.h"
+
+#ifdef _WIN32
+#ifdef DESKTOP_EXPORTS
+#    define MG_DESKTOP_API __declspec(dllexport)
+#else
+#    define MG_DESKTOP_API __declspec(dllimport)
+#endif
+#else
+#define MG_DESKTOP_API
+#endif
+
+#if !defined(DWFTK_USE_DWFCORE_ZLIB)
+    #define DWFTK_USE_DWFCORE_ZLIB
+#endif
+#pragma warning( disable : 4290 )
+
+#include "System/ClassId.h"
+#include "System/ConfigProperties.h"
+#include "System/PlatformInit.h"
+#include "System/ExceptionCodes.h"
+
+#include "MapLayer/Layer.h"
+#include "MapLayer/Map.h"
+#include "MapLayer/Selection.h"
+
+#include "Services/DataReader.h"
+#include "Services/DrawingService.h"
+#include "Services/FeatureReader.h"
+#include "Services/ScrollableFeatureReader.h"
+#include "Services/FeatureService.h"
+#include "Services/ImageFormats.h"
+#include "Services/MappingService.h"
+#include "Services/ProfilingService.h"
+#include "Services/RenderingService.h"
+#include "Services/ResourceService.h"
+#include "Services/ServiceFactory.h"
+#include "Services/SqlReader.h"
+#include "Services/TileService.h"
+#include "Services/Transaction.h"
+
+#include "Services/Feature/RdbmsFeatureSourceParams.h"
+
+#include "Services/Rendering/CustomLogoInfo.h"
+#include "Services/Rendering/CustomTextInfo.h"
+#include "Services/Rendering/DwfVersion.h"
+#include "Services/Rendering/FeatureInformation.h"
+#include "Services/Rendering/Layout.h"
+#include "Services/Rendering/MapPlot.h"
+#include "Services/Rendering/MapPlotCollection.h"
+#include "Services/Rendering/MapPlotInstruction.h"
+#include "Services/Rendering/PlotSpecification.h"
+#include "Services/Rendering/PrintLayout.h"
+#include "Services/Rendering/RenderingOptions.h"
+#include "Services/Rendering/UnitType.h"
+
+#include "Services/Resource/UnmanagedDataType.h"
+
+#define NOT_IMPLEMENTED(method) \
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, method, __LINE__, __WFILE__, NULL, L"", NULL)
+
+//Uncomment to debug memory leaks. This is the header for Visual Leak Detector
+//See: http://vld.codeplex.com for download and setup
+/*
+#ifdef _WIN32
+#ifdef _DEBUG
+#define USING_VLD
+#include <vld.h>
+#endif
+#endif
+*/
+
+//Uncomment to get extra FDO join chatter when running unit tests
+//#define DEBUG_FDOJOIN
+//Uncomment to get extra connection pool chatter
+//#define DEBUG_FDO_CONNECTION_POOL
+
+#endif
\ No newline at end of file

Copied: trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj (from rev 9814, sandbox/jng/vanilla_swig/Portable/MgPortable/MgPortable.vcxproj)
===================================================================
--- trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj	                        (rev 0)
+++ trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,1037 @@
+<?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|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CBC0339F-E68B-48BA-9059-945483BEBDCA}</ProjectGuid>
+    <RootNamespace>MgPortable</RootNamespace>
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v140</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 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|Win32'" 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)'=='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.30319.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\debug\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\bin\release\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\bin\release64\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\obj\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <IntrinsicFunctions>false</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;MgGwsCommond.lib;MgGwsQueryEngined.lib;xerces-c_3mgD.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurityd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>NotSet</ShowProgress>
+      <OutputFile>$(OutDir)MgPortabled.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\..\Server\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <DelayLoadDLLs>FDO.dll;FDOCommon.dll;FDOGeometry.dll;FDOSpatial.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>
+      </OptimizeReferences>
+      <EnableCOMDATFolding>
+      </EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>..\lib\debug\MgPortabled.lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <PostBuildEvent>
+      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
+xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
+xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
+</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;MgGwsCommon.lib;MgGwsQueryEngine.lib;xerces-c_3mg.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurity.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\..\Server\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <DelayLoadDLLs>MgMdfParser.dll;MgGeometry.dll;MgGwsCommon.dll;MgGwsResource.dll;FDO.dll;FDOCommon.dll;FDOSpatial.dll;MgStylization.dll;FDOGeometry.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <ImportLibrary>..\lib\release\MgPortable.lib</ImportLibrary>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+    <PostBuildEvent>
+      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
+xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
+xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
+</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <IntrinsicFunctions>false</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;MgGwsCommond.lib;MgGwsQueryEngined.lib;xerces-c_3mgD.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurityd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ShowProgress>NotSet</ShowProgress>
+      <OutputFile>$(OutDir)MgPortabled.dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\x64\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\..\Server\lib\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <DelayLoadDLLs>FDO.dll;FDOCommon.dll;FDOGeometry.dll;FDOSpatial.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>
+      </OptimizeReferences>
+      <EnableCOMDATFolding>
+      </EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <ImportLibrary>..\lib\debug64\MgPortabled.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+    <PostBuildEvent>
+      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
+xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
+xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
+</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Server\src\Gws\Include;..\..\Server\src\Gws\GwsCommon\inc;..\..\Server\src\Gws\GwsQueryEngine\inc;..\..\Common\Security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DESKTOP_EXPORTS;DWFCORE_STATIC;DWFTK_STATIC;DWFTK_USE_DWFCORE_ZLIB;DWFTK_BUILD_EXPAT;WHIP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>FDO.lib;FDOCommon.lib;FDOGeometry.lib;FDOSpatial.lib;ExpressionEngine.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;MgGwsCommon.lib;MgGwsQueryEngine.lib;xerces-c_3mg.lib;dwfcore_wt.1.7.0.lib;dwftk_wt.7.7.0.lib;w3dtk_wt.1.7.1555.lib;whiptk_wt.7.13.601.lib;MgSecurity.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
+      <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\x64\static\$(Configuration)\vc10.0;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\..\Server\lib\$(Configuration)64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <DelayLoadDLLs>MgMdfParser.dll;MgGeometry.dll;MgGwsCommon.dll;MgGwsResource.dll;FDO.dll;FDOCommon.dll;FDOSpatial.dll;MgStylization.dll;FDOGeometry.dll;ExpressionEngine.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <ImportLibrary>..\lib\release64\MgPortable.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+    <PostBuildEvent>
+      <Command>xcopy /S /Y /I ..\..\Common\MapGuideCommon\Resources\*.* $(OutDir)Resources
+xcopy /S /Y /I ..\..\Common\Schema\*.xsd $(OutDir)Schema
+xcopy /Y $(ProjectDir)Platform.ini $(OutDir)
+</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="Log\LogDetail.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Log\LogEntryData.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Log\LogManager.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Log\LogThread.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\ApplySchema.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\CreateFeatureSource.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\DeleteCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\DescribeSchema.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\EnumerateDataStores.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\ExtendedSelectCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\FeatureManipulationCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\FeatureServiceCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetConnectionPropertyValues.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetFeatureProviders.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetLongTransactions.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetProviderCapabilities.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetSchemaMapping.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetSpatialContexts.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\InsertCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectAggregateCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectFeatures.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SqlCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\UpdateCommand.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\UpdateFeatures.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoFilterCollection.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoReaderCollection.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureDistribution.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureGeometricFunctions.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureNumericFunctions.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSetReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureStringFunctions.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\ProxyDataReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\MappingService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ProfilingService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\FeatureInformation.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ByteSourceDwfInputStreamImpl.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ByteSourceRasterStreamImpl.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourceContentCache.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="System\ConfigProperties.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\CustomLogoInfo.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\CustomTextInfo.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\DataReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\DrawingService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Drawing\DrawingServiceUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\DwfVersion.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoConnectionPool.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoConnectionUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoForcedOneToOneFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureClassCacheItem.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureConnection.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\FeatureInfoRenderer.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\FeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSchemaCacheItem.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\FeatureService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureServiceCache.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureServiceCacheEntry.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSourceCacheItem.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\GwsConnectionPool.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\GwsFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ImageFormats.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\JoinFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Layer.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\Layout.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\LegendPlotUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Map.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MappingUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MapPlot.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MapPlotCollection.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\MgCSTrans.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="MgPortableBuild.cpp" />
+    <ClCompile Include="Services\Resource\OperationInfo.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\OperationParameter.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="System\ExceptionCodes.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="System\PlatformInit.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\PlotSpecification.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\PrintLayout.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\ProjectedFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\RasterHelper.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\RdbmsFeatureSourceParams.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RenderingOptions.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\RenderingService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourceDefs.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageHandler.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageLoader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageManifestHandler.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageManifestParser.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ResourceService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgRaster.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgSymbolManager.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ScrollableFeatureReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Selection.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Stylization\SEMgSymbolManager.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\ServiceFactory.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\SpatialContextCacheItem.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\SqlReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Tile\TileCache.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Tile\TileDefs.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\TileService.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Transaction.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\TransformCache.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\UnitType.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\UnmanagedDataManager.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\UnmanagedDataType.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ZipFileHandler.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ZipFileReader.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="System\ThreadBase.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="System\TimerUtil.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Log\LogDetail.h" />
+    <ClInclude Include="Log\LogEntryData.h" />
+    <ClInclude Include="Log\LogManager.h" />
+    <ClInclude Include="Log\LogThread.h" />
+    <ClInclude Include="Log\LogType.h" />
+    <ClInclude Include="ExceptionCodes.h" />
+    <ClInclude Include="Services\CryptoDefs.h" />
+    <ClInclude Include="Services\Feature\BooleanDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\ByteDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\Commands\ApplySchema.h" />
+    <ClInclude Include="Services\Feature\Commands\CreateFeatureSource.h" />
+    <ClInclude Include="Services\Feature\Commands\DeleteCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\DescribeSchema.h" />
+    <ClInclude Include="Services\Feature\Commands\EnumerateDataStores.h" />
+    <ClInclude Include="Services\Feature\Commands\ExtendedSelectCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\FeatureManipulationCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\FeatureServiceCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\GetConnectionPropertyValues.h" />
+    <ClInclude Include="Services\Feature\Commands\GetFeatureProviders.h" />
+    <ClInclude Include="Services\Feature\Commands\GetLongTransactions.h" />
+    <ClInclude Include="Services\Feature\Commands\GetProviderCapabilities.h" />
+    <ClInclude Include="Services\Feature\Commands\GetSchemaMapping.h" />
+    <ClInclude Include="Services\Feature\Commands\GetSpatialContexts.h" />
+    <ClInclude Include="Services\Feature\Commands\InsertCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\SelectAggregateCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\SelectCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\SelectFeatures.h" />
+    <ClInclude Include="Services\Feature\Commands\SqlCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\UpdateCommand.h" />
+    <ClInclude Include="Services\Feature\Commands\UpdateFeatures.h" />
+    <ClInclude Include="Services\Feature\DataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\DateTimeDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\DoubleDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\FdoFeatureReader.h" />
+    <ClInclude Include="Services\Feature\FdoFilterCollection.h" />
+    <ClInclude Include="Services\Feature\FdoReaderCollection.h" />
+    <ClInclude Include="Services\Feature\FeatureDistribution.h" />
+    <ClInclude Include="Services\Feature\FeatureGeometricFunctions.h" />
+    <ClInclude Include="Services\Feature\FeatureNumericFunctions.h" />
+    <ClInclude Include="Services\Feature\FeatureSetReader.h" />
+    <ClInclude Include="Services\Feature\FeatureStringFunctions.h" />
+    <ClInclude Include="Services\Feature\GeometryDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\Int16DataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\Int32DataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\Int64DataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\Matrix.h" />
+    <ClInclude Include="Services\Feature\ProxyDataReader.h" />
+    <ClInclude Include="Services\Feature\SingleDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\StringDataReaderCreator.h" />
+    <ClInclude Include="Services\Feature\UniqueFunction.h" />
+    <ClInclude Include="Services\MappingService.h" />
+    <ClInclude Include="Services\ProfilingService.h" />
+    <ClInclude Include="Services\Rendering\FeatureInformation.h" />
+    <ClInclude Include="Services\Resource\ByteSourceDwfInputStreamImpl.h" />
+    <ClInclude Include="Services\ByteSourceRasterStreamImpl.h" />
+    <ClInclude Include="Services\Resource\ResourceContentCache.h" />
+    <ClInclude Include="System\ClassId.h" />
+    <ClInclude Include="System\ConfigProperties.h" />
+    <ClInclude Include="Services\Rendering\CustomLogoInfo.h" />
+    <ClInclude Include="Services\Rendering\CustomTextInfo.h" />
+    <ClInclude Include="Services\DataReader.h" />
+    <ClInclude Include="Services\Drawing\DrawingDefs.h" />
+    <ClInclude Include="Services\DrawingService.h" />
+    <ClInclude Include="Services\Drawing\DrawingServiceUtil.h" />
+    <ClInclude Include="Exception\DwfException.h" />
+    <ClInclude Include="Services\Rendering\DwfVersion.h" />
+    <ClInclude Include="Services\Feature\FdoConnectionPool.h" />
+    <ClInclude Include="Services\Feature\FdoConnectionUtil.h" />
+    <ClInclude Include="Services\Feature\FdoForcedOneToOneFeatureReader.h" />
+    <ClInclude Include="Services\Feature\FeatureClassCacheItem.h" />
+    <ClInclude Include="Services\Feature\FeatureConnection.h" />
+    <ClInclude Include="Services\Feature\FeatureDefs.h" />
+    <ClInclude Include="Services\Rendering\FeatureInfoRenderer.h" />
+    <ClInclude Include="Services\FeatureReader.h" />
+    <ClInclude Include="Services\Feature\FeatureSchemaCacheItem.h" />
+    <ClInclude Include="Services\FeatureService.h" />
+    <ClInclude Include="Services\Feature\FeatureServiceCache.h" />
+    <ClInclude Include="Services\Feature\FeatureServiceCacheEntry.h" />
+    <ClInclude Include="Services\Feature\FeatureSourceCacheItem.h" />
+    <ClInclude Include="Services\Feature\FeatureUtil.h" />
+    <ClInclude Include="Services\Feature\GwsConnectionPool.h" />
+    <ClInclude Include="Services\Feature\GwsFeatureReader.h" />
+    <ClInclude Include="Services\Rendering\icons.h" />
+    <ClInclude Include="Services\ImageFormats.h" />
+    <ClInclude Include="Services\Feature\JoinFeatureReader.h" />
+    <ClInclude Include="MapLayer\Layer.h" />
+    <ClInclude Include="Services\Rendering\Layout.h" />
+    <ClInclude Include="Services\Rendering\LegendPlotUtil.h" />
+    <ClInclude Include="MapLayer\Map.h" />
+    <ClInclude Include="Services\Rendering\MappingDefs.h" />
+    <ClInclude Include="Services\Rendering\MappingUtil.h" />
+    <ClInclude Include="Services\Rendering\MapPlot.h" />
+    <ClInclude Include="Services\Rendering\MapPlotCollection.h" />
+    <ClInclude Include="Services\Rendering\MapPlotInstruction.h" />
+    <ClInclude Include="Services\Feature\MgCSTrans.h" />
+    <ClInclude Include="MgPortable.h" />
+    <ClInclude Include="System\ExceptionCodes.h" />
+    <ClInclude Include="System\Mutex.h" />
+    <ClInclude Include="Services\Resource\OperationInfo.h" />
+    <ClInclude Include="Services\Resource\OperationParameter.h" />
+    <ClInclude Include="Exception\ParameterNotFoundException.h" />
+    <ClInclude Include="System\PlatformInit.h" />
+    <ClInclude Include="Services\Rendering\PlotSpecification.h" />
+    <ClInclude Include="Services\Rendering\PrintLayout.h" />
+    <ClInclude Include="Services\Feature\ProjectedFeatureReader.h" />
+    <ClInclude Include="Services\Feature\RasterHelper.h" />
+    <ClInclude Include="Services\Feature\RdbmsFeatureSourceParams.h" />
+    <ClInclude Include="Services\Rendering\RenderingOptions.h" />
+    <ClInclude Include="Services\RenderingService.h" />
+    <ClInclude Include="Services\Resource\ResourceDefs.h" />
+    <ClInclude Include="Services\Resource\ResourcePackageHandler.h" />
+    <ClInclude Include="Services\Resource\ResourcePackageLoader.h" />
+    <ClInclude Include="Services\Resource\ResourcePackageManifestHandler.h" />
+    <ClInclude Include="Services\Resource\ResourcePackageManifestParser.h" />
+    <ClInclude Include="Services\ResourceService.h" />
+    <ClInclude Include="Services\Rendering\RSMgFeatureReader.h" />
+    <ClInclude Include="Services\Rendering\RSMgInputStream.h" />
+    <ClInclude Include="Services\Rendering\RSMgRaster.h" />
+    <ClInclude Include="Services\Rendering\RSMgSymbolManager.h" />
+    <ClInclude Include="Services\ScrollableFeatureReader.h" />
+    <ClInclude Include="MapLayer\Selection.h" />
+    <ClInclude Include="Services\Stylization\SEMgSymbolManager.h" />
+    <ClInclude Include="Services\ServiceFactory.h" />
+    <ClInclude Include="Services\Feature\SpatialContextCacheItem.h" />
+    <ClInclude Include="Services\SqlReader.h" />
+    <ClInclude Include="Exception\StylizeLayerFailedException.h" />
+    <ClInclude Include="Services\Tile\TileCache.h" />
+    <ClInclude Include="Services\Tile\TileDefs.h" />
+    <ClInclude Include="Services\TileService.h" />
+    <ClInclude Include="Services\Transaction.h" />
+    <ClInclude Include="Services\Feature\TransformCache.h" />
+    <ClInclude Include="Services\Rendering\UnitType.h" />
+    <ClInclude Include="Services\Resource\UnmanagedDataManager.h" />
+    <ClInclude Include="Services\Resource\UnmanagedDataType.h" />
+    <ClInclude Include="Services\Resource\ZipFileHandler.h" />
+    <ClInclude Include="Services\Resource\ZipFileReader.h" />
+    <ClInclude Include="System\ThreadBase.h" />
+    <ClInclude Include="System\TimerUtil.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Platform.ini" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file

Copied: trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj.filters (from rev 9814, sandbox/jng/vanilla_swig/Portable/MgPortable/MgPortable.vcxproj.filters)
===================================================================
--- trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj.filters	                        (rev 0)
+++ trunk/MgDev/Portable/MgPortable/MgPortable.vcxproj.filters	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,771 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="Services\Resource\ByteSourceDwfInputStreamImpl.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ByteSourceRasterStreamImpl.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="System\ConfigProperties.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\CustomLogoInfo.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\CustomTextInfo.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\DataReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\DrawingService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Drawing\DrawingServiceUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\DwfVersion.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoConnectionPool.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoConnectionUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoForcedOneToOneFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureClassCacheItem.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureConnection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\FeatureInfoRenderer.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\FeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSchemaCacheItem.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\FeatureService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureServiceCache.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureServiceCacheEntry.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSourceCacheItem.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\GwsConnectionPool.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\GwsFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ImageFormats.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\JoinFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Layer.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\Layout.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\LegendPlotUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Map.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MappingUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MapPlot.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\MapPlotCollection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\MgCSTrans.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="MgPortableBuild.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\OperationInfo.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\OperationParameter.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="System\PlatformInit.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\PlotSpecification.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\PrintLayout.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\ProjectedFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\RasterHelper.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\RdbmsFeatureSourceParams.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RenderingOptions.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\RenderingService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourceDefs.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageLoader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageManifestHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourcePackageManifestParser.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ResourceService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgRaster.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\RSMgSymbolManager.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ScrollableFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="MapLayer\Selection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Stylization\SEMgSymbolManager.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ServiceFactory.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\SpatialContextCacheItem.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\SqlReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Tile\TileCache.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Tile\TileDefs.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\TileService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Transaction.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\TransformCache.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\UnitType.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\UnmanagedDataManager.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\UnmanagedDataType.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ZipFileHandler.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ZipFileReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\ProfilingService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="System\TimerUtil.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureDistribution.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureGeometricFunctions.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureNumericFunctions.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureStringFunctions.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\ProxyDataReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Log\LogDetail.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Log\LogEntryData.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Log\LogManager.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Log\LogThread.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="System\ThreadBase.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\MappingService.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Rendering\FeatureInformation.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\ApplySchema.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\CreateFeatureSource.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\DeleteCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\DescribeSchema.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\EnumerateDataStores.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\ExtendedSelectCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\FeatureManipulationCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\FeatureServiceCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetConnectionPropertyValues.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetFeatureProviders.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetLongTransactions.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetProviderCapabilities.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetSchemaMapping.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\GetSpatialContexts.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\InsertCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectAggregateCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SelectFeatures.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\SqlCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\UpdateCommand.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\Commands\UpdateFeatures.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoFeatureReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoFilterCollection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FdoReaderCollection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Feature\FeatureSetReader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Services\Resource\ResourceContentCache.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="System\ExceptionCodes.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Services\Resource\ByteSourceDwfInputStreamImpl.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ByteSourceRasterStreamImpl.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\ClassId.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\ConfigProperties.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\CustomLogoInfo.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\CustomTextInfo.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\DataReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Drawing\DrawingDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\DrawingService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Drawing\DrawingServiceUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Exception\DwfException.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\DwfVersion.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoConnectionPool.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoConnectionUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoForcedOneToOneFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureClassCacheItem.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureConnection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\FeatureInfoRenderer.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\FeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureSchemaCacheItem.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\FeatureService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureServiceCache.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureServiceCacheEntry.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureSourceCacheItem.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\GwsConnectionPool.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\GwsFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\icons.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ImageFormats.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\JoinFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="MapLayer\Layer.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\Layout.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\LegendPlotUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="MapLayer\Map.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\MappingDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\MappingUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\MapPlot.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\MapPlotCollection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\MapPlotInstruction.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\MgCSTrans.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="MgPortable.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\Mutex.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\OperationInfo.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\OperationParameter.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Exception\ParameterNotFoundException.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\PlatformInit.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\PlotSpecification.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\PrintLayout.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\ProjectedFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\RasterHelper.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\RdbmsFeatureSourceParams.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\RenderingOptions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\RenderingService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourceDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourcePackageHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourcePackageLoader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourcePackageManifestHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourcePackageManifestParser.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ResourceService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\RSMgFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\RSMgInputStream.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\RSMgRaster.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\RSMgSymbolManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ScrollableFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="MapLayer\Selection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Stylization\SEMgSymbolManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ServiceFactory.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\SpatialContextCacheItem.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\SqlReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Exception\StylizeLayerFailedException.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Tile\TileCache.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Tile\TileDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\TileService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Transaction.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\TransformCache.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\UnitType.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\UnmanagedDataManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\UnmanagedDataType.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ZipFileHandler.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ZipFileReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\ProfilingService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\TimerUtil.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\BooleanDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\ByteDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\DataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\DateTimeDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\DoubleDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureDistribution.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureGeometricFunctions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureNumericFunctions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureStringFunctions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\GeometryDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Int16DataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Int32DataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Int64DataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\UniqueFunction.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\StringDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\SingleDataReaderCreator.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\ProxyDataReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Matrix.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Log\LogType.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Log\LogDetail.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Log\LogEntryData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Log\LogManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Log\LogThread.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\ThreadBase.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\MappingService.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Rendering\FeatureInformation.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\UpdateFeatures.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\ApplySchema.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\CreateFeatureSource.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\DeleteCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\DescribeSchema.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\EnumerateDataStores.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\ExtendedSelectCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\FeatureManipulationCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\FeatureServiceCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetConnectionPropertyValues.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetFeatureProviders.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetLongTransactions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetProviderCapabilities.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetSchemaMapping.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\GetSpatialContexts.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\InsertCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\SelectAggregateCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\SelectCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\SelectFeatures.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\SqlCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\Commands\UpdateCommand.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoFilterCollection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoFeatureReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FdoReaderCollection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Feature\FeatureSetReader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\CryptoDefs.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Services\Resource\ResourceContentCache.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="ExceptionCodes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="System\ExceptionCodes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Platform.ini" />
+  </ItemGroup>
+</Project>
\ No newline at end of file

Copied: trunk/MgDev/Portable/MgPortable/MgPortableBuild.cpp (from rev 9814, sandbox/jng/vanilla_swig/Portable/MgPortable/MgPortableBuild.cpp)
===================================================================
--- trunk/MgDev/Portable/MgPortable/MgPortableBuild.cpp	                        (rev 0)
+++ trunk/MgDev/Portable/MgPortable/MgPortableBuild.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,136 @@
+//
+//  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
+//
+
+#include "System/ConfigProperties.cpp"
+#include "System/ExceptionCodes.cpp"
+#include "System/PlatformInit.cpp"
+#include "System/TimerUtil.cpp"
+#include "System/ThreadBase.cpp"
+
+#include "Log/LogDetail.cpp"
+#include "Log/LogEntryData.cpp"
+#include "Log/LogManager.cpp"
+#include "Log/LogThread.cpp"
+
+#include "MapLayer/Layer.cpp"
+#include "MapLayer/Map.cpp"
+#include "MapLayer/Selection.cpp"
+
+#include "Services/ByteSourceRasterStreamImpl.cpp"
+#include "Services/DataReader.cpp"
+#include "Services/DrawingService.cpp"
+#include "Services/FeatureReader.cpp"
+#include "Services/FeatureService.cpp"
+#include "Services/ImageFormats.cpp"
+#include "Services/MappingService.cpp"
+#include "Services/ProfilingService.cpp"
+#include "Services/RenderingService.cpp"
+#include "Services/ResourceService.cpp"
+#include "Services/ScrollableFeatureReader.cpp"
+#include "Services/ServiceFactory.cpp"
+#include "Services/SqlReader.cpp"
+#include "Services/TileService.cpp"
+#include "Services/Transaction.cpp"
+
+#include "Services/Drawing/DrawingServiceUtil.cpp"
+
+#include "Services/Feature/FdoConnectionPool.cpp"
+#include "Services/Feature/FdoConnectionUtil.cpp"
+#include "Services/Feature/FdoFeatureReader.cpp"
+#include "Services/Feature/FdoFilterCollection.cpp"
+#include "Services/Feature/FdoForcedOneToOneFeatureReader.cpp"
+#include "Services/Feature/FdoReaderCollection.cpp"
+#include "Services/Feature/FeatureClassCacheItem.cpp"
+#include "Services/Feature/FeatureConnection.cpp"
+#include "Services/Feature/FeatureDistribution.cpp"
+#include "Services/Feature/FeatureGeometricFunctions.cpp"
+#include "Services/Feature/FeatureNumericFunctions.cpp"
+#include "Services/Feature/FeatureSchemaCacheItem.cpp"
+#include "Services/Feature/FeatureServiceCacheEntry.cpp"
+#include "Services/Feature/FeatureServiceCache.cpp"
+#include "Services/Feature/FeatureSetReader.cpp"
+#include "Services/Feature/FeatureSourceCacheItem.cpp"
+#include "Services/Feature/FeatureStringFunctions.cpp"
+#include "Services/Feature/FeatureUtil.cpp"
+#include "Services/Feature/GwsConnectionPool.cpp"
+#include "Services/Feature/GwsFeatureReader.cpp"
+#include "Services/Feature/JoinFeatureReader.cpp"
+#include "Services/Feature/MgCSTrans.cpp"
+#include "Services/Feature/ProjectedFeatureReader.cpp"
+#include "Services/Feature/ProxyDataReader.cpp"
+#include "Services/Feature/RasterHelper.cpp"
+#include "Services/Feature/RdbmsFeatureSourceParams.cpp"
+#include "Services/Feature/SpatialContextCacheItem.cpp"
+#include "Services/Feature/TransformCache.cpp"
+#include "Services/Feature/Commands/ApplySchema.cpp"
+#include "Services/Feature/Commands/CreateFeatureSource.cpp"
+#include "Services/Feature/Commands/DeleteCommand.cpp"
+#include "Services/Feature/Commands/DescribeSchema.cpp"
+#include "Services/Feature/Commands/EnumerateDataStores.cpp"
+#include "Services/Feature/Commands/ExtendedSelectCommand.cpp"
+#include "Services/Feature/Commands/FeatureManipulationCommand.cpp"
+#include "Services/Feature/Commands/FeatureServiceCommand.cpp"
+#include "Services/Feature/Commands/GetConnectionPropertyValues.cpp"
+#include "Services/Feature/Commands/GetFeatureProviders.cpp"
+#include "Services/Feature/Commands/GetLongTransactions.cpp"
+#include "Services/Feature/Commands/GetProviderCapabilities.cpp"
+#include "Services/Feature/Commands/GetSchemaMapping.cpp"
+#include "Services/Feature/Commands/GetSpatialContexts.cpp"
+#include "Services/Feature/Commands/InsertCommand.cpp"
+#include "Services/Feature/Commands/SelectAggregateCommand.cpp"
+#include "Services/Feature/Commands/SelectCommand.cpp"
+#include "Services/Feature/Commands/SelectFeatures.cpp"
+#include "Services/Feature/Commands/SqlCommand.cpp"
+#include "Services/Feature/Commands/UpdateCommand.cpp"
+#include "Services/Feature/Commands/UpdateFeatures.cpp"
+
+#include "Services/Rendering/CustomLogoInfo.cpp"
+#include "Services/Rendering/CustomTextInfo.cpp"
+#include "Services/Rendering/DwfVersion.cpp"
+#include "Services/Rendering/FeatureInfoRenderer.cpp"
+#include "Services/Rendering/FeatureInformation.cpp"
+#include "Services/Rendering/Layout.cpp"
+#include "Services/Rendering/LegendPlotUtil.cpp"
+#include "Services/Rendering/MappingUtil.cpp"
+#include "Services/Rendering/MapPlot.cpp"
+#include "Services/Rendering/MapPlotCollection.cpp"
+#include "Services/Rendering/PrintLayout.cpp"
+#include "Services/Rendering/PlotSpecification.cpp"
+#include "Services/Rendering/RenderingOptions.cpp"
+#include "Services/Rendering/RSMgFeatureReader.cpp"
+#include "Services/Rendering/RSMgRaster.cpp"
+#include "Services/Rendering/RSMgSymbolManager.cpp"
+#include "Services/Rendering/UnitType.cpp"
+
+#include "Services/Resource/ByteSourceDwfInputStreamImpl.cpp"
+#include "Services/Resource/OperationInfo.cpp"
+#include "Services/Resource/OperationParameter.cpp"
+#include "Services/Resource/ResourceContentCache.cpp"
+#include "Services/Resource/ResourceDefs.cpp"
+#include "Services/Resource/ResourcePackageHandler.cpp"
+#include "Services/Resource/ResourcePackageLoader.cpp"
+#include "Services/Resource/ResourcePackageManifestHandler.cpp"
+#include "Services/Resource/ResourcePackageManifestParser.cpp"
+#include "Services/Resource/UnmanagedDataManager.cpp"
+#include "Services/Resource/UnmanagedDataType.cpp"
+#include "Services/Resource/ZipFileHandler.cpp"
+#include "Services/Resource/ZipFileReader.cpp"
+
+#include "Services/Stylization/SEMgSymbolManager.cpp"
+
+#include "Services/Tile/TileDefs.cpp"
+#include "Services/Tile/TileCache.cpp"
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/ByteSourceRasterStreamImpl.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ByteSourceRasterStreamImpl.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ByteSourceRasterStreamImpl.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef MG_BYTE_SOURCE_RASTER_STREAM_IMPL_H_
 #define MG_BYTE_SOURCE_RASTER_STREAM_IMPL_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Fdo.h"
 
 ///\cond INTERNAL

Modified: trunk/MgDev/Portable/MgPortable/Services/DataReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/DataReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/DataReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,7 +23,7 @@
 #include "Services/Feature/FdoConnectionUtil.h"
 #include "Fdo.h"
 
-MgdDataReader::MgdDataReader(MgdFeatureConnection* conn, FdoIDataReader* reader)
+MgPortableDataReader::MgPortableDataReader(MgPortableFeatureConnection* conn, FdoIDataReader* reader)
 {
     m_reader = FDO_SAFE_ADDREF(reader);
     m_connection = SAFE_ADDREF(conn);
@@ -32,41 +32,41 @@
     m_connection->OwnReader();
 }
 
-MgdDataReader::~MgdDataReader() 
+MgPortableDataReader::~MgPortableDataReader() 
 {
     FDO_SAFE_RELEASE(m_reader);
     m_connection = NULL;
 } 
 
-bool MgdDataReader::ReadNext() 
+bool MgPortableDataReader::ReadNext() 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->ReadNext(); 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::ReadNext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::ReadNext")
     return ret;
 }
 
-INT32 MgdDataReader::GetPropertyCount() 
+INT32 MgPortableDataReader::GetPropertyCount() 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetPropertyCount(); 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetPropertyCount")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetPropertyCount")
     return ret;
 }
 
-STRING MgdDataReader::GetPropertyName(INT32 index) 
+STRING MgPortableDataReader::GetPropertyName(INT32 index) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
     FdoString* name = m_reader->GetPropertyName(index);
     ret = STRING(name);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetPropertyName")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetPropertyName")
     return ret;
 }
 
-INT32 MgdDataReader::GetPropertyType(CREFSTRING propertyName) 
+INT32 MgPortableDataReader::GetPropertyType(CREFSTRING propertyName) 
 { 
     INT32 type = MgPropertyType::Null;
 
@@ -87,11 +87,11 @@
             FdoDataType dataType = m_reader->GetDataType(propertyName.c_str());
             if (FdoDataType(-1) == dataType)
             {
-                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdDataReader.GetPropertyType",
+                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableDataReader.GetPropertyType",
                     __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
-            type = MgdFeatureUtil::GetMgPropertyType(dataType);
+            type = MgPortableFeatureUtil::GetMgPropertyType(dataType);
             break;
         }
         case FdoPropertyType_RasterProperty:
@@ -101,35 +101,35 @@
         }
         default:
         {
-            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdDataReader.GetPropertyType",
+            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableDataReader.GetPropertyType",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader.GetPropertyType")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader.GetPropertyType")
 
     return type;
 }
 
-INT32 MgdDataReader::GetPropertyType(INT32 index) 
+INT32 MgPortableDataReader::GetPropertyType(INT32 index) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetPropertyType(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetPropertyType")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetPropertyType")
     return ret;
 }
 
-bool MgdDataReader::IsNull(CREFSTRING propertyName) 
+bool MgPortableDataReader::IsNull(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->IsNull(propertyName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::IsNull")
     return ret;
 }
 
-bool MgdDataReader::GetBoolean(CREFSTRING propertyName) 
+bool MgPortableDataReader::GetBoolean(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
@@ -144,17 +144,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetBoolean",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetBoolean",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdDataReader::GetByte(CREFSTRING propertyName) 
+BYTE MgPortableDataReader::GetByte(CREFSTRING propertyName) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -169,17 +169,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetByte",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetByte",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdDataReader::GetDateTime(CREFSTRING propertyName) 
+MgDateTime* MgPortableDataReader::GetDateTime(CREFSTRING propertyName) 
 { 
     Ptr<MgDateTime> mdt;
     MG_FEATURE_SERVICE_TRY()
@@ -196,17 +196,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetDateTime",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetDateTime",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetByte")
     return mdt.Detach();
 }
 
-float MgdDataReader::GetSingle(CREFSTRING propertyName) 
+float MgPortableDataReader::GetSingle(CREFSTRING propertyName) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
@@ -221,17 +221,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetSingle",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetSingle",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetSingle")
     return ret;
 }
 
-double MgdDataReader::GetDouble(CREFSTRING propertyName) 
+double MgPortableDataReader::GetDouble(CREFSTRING propertyName) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
@@ -246,17 +246,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetDouble",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetDouble",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetDouble")
     return ret;
 }
 
-INT16 MgdDataReader::GetInt16(CREFSTRING propertyName) 
+INT16 MgPortableDataReader::GetInt16(CREFSTRING propertyName) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -271,17 +271,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetInt16",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetInt16",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt16")
     return ret;
 }
 
-INT32 MgdDataReader::GetInt32(CREFSTRING propertyName) 
+INT32 MgPortableDataReader::GetInt32(CREFSTRING propertyName) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -296,17 +296,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetInt32",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetInt32",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt32")
     return ret;
 }
 
-INT64 MgdDataReader::GetInt64(CREFSTRING propertyName) 
+INT64 MgPortableDataReader::GetInt64(CREFSTRING propertyName) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -321,17 +321,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetInt64",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetInt64",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt64")
     return ret;
 }
 
-STRING MgdDataReader::GetString(CREFSTRING propertyName) 
+STRING MgPortableDataReader::GetString(CREFSTRING propertyName) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
@@ -351,17 +351,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetString",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetString",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdDataReader::GetBLOB(CREFSTRING propertyName) 
+MgByteReader* MgPortableDataReader::GetBLOB(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> blob;
     MG_FEATURE_SERVICE_TRY()
@@ -377,11 +377,11 @@
             blob = byteSource->GetReader();
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetBLOB")
     return blob.Detach();
 }
 
-MgByteReader* MgdDataReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableDataReader::GetCLOB(CREFSTRING propertyName)
 { 
     Ptr<MgByteReader> clob;
     MG_FEATURE_SERVICE_TRY()
@@ -397,11 +397,11 @@
             clob = byteSource->GetReader();
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetCLOB")
     return clob.Detach();
 }
 
-MgByteReader* MgdDataReader::GetGeometry(CREFSTRING propertyName) 
+MgByteReader* MgPortableDataReader::GetGeometry(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> geom;
     MG_FEATURE_SERVICE_TRY()
@@ -426,17 +426,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetGeometry")
     return geom.Detach();
 }
 
-MgRaster* MgdDataReader::GetRaster(CREFSTRING propertyName) 
+MgRaster* MgPortableDataReader::GetRaster(CREFSTRING propertyName) 
 { 
     Ptr<MgRaster> retVal;
 
@@ -443,14 +443,14 @@
     MG_FEATURE_SERVICE_TRY()
 
     FdoPtr<FdoIRaster> raster = m_reader->GetRaster(propertyName.c_str());
-    CHECKNULL((FdoIRaster*)raster, L"MgdDataReader::GetRaster");
+    CHECKNULL((FdoIRaster*)raster, L"MgPortableDataReader::GetRaster");
 
-    retVal = MgdFeatureUtil::GetMgRaster(raster, propertyName);
-    CHECKNULL((MgRaster*)retVal, L"MgdDataReader::GetRaster");
+    retVal = MgPortableFeatureUtil::GetMgRaster(raster, propertyName);
+    CHECKNULL((MgRaster*)retVal, L"MgPortableDataReader::GetRaster");
 
     //This is a clunky way to do what is effectively calling the overloaded GetRaster(propName, xSize, ySize)
     //method, but MgRaster demands this
-    Ptr<MgFeatureService> rasterHelp = new MgdRasterHelper(this);
+    Ptr<MgFeatureService> rasterHelp = new MgPortableRasterHelper(this);
     retVal->SetMgService(rasterHelp);
     //MgRaster demands a handle
     STRING handle;
@@ -457,14 +457,14 @@
     MgUtil::GenerateUuid(handle);
     retVal->SetHandle(handle);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetRaster")
 
     return retVal.Detach();
 }
 
-MgByteReader* MgdDataReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
+MgByteReader* MgPortableDataReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
 {
-    CHECKNULL(m_reader, L"MgdDataReader::GetRaster");
+    CHECKNULL(m_reader, L"MgPortableDataReader::GetRaster");
 
     Ptr<MgByteReader> byteReader;
 
@@ -477,18 +477,18 @@
     if (rasterPropName.empty())
     {
         // TODO: specify which argument and message, once we have the mechanism
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingRasterProperty");
-        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdDataReader::GetRaster",
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingRasterProperty");
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableDataReader::GetRaster",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
-    byteReader = MgdFeatureUtil::GetRaster(m_reader, rasterPropName, xSize, ySize);
+    byteReader = MgPortableFeatureUtil::GetRaster(m_reader, rasterPropName, xSize, ySize);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetRaster")
 
     return byteReader.Detach();
 }
 
-STRING MgdDataReader::GetRasterPropertyName()
+STRING MgPortableDataReader::GetRasterPropertyName()
 {
     STRING name = L"";
 
@@ -507,156 +507,156 @@
     return name;
 }
 
-INT32 MgdDataReader::GetPropertyIndex(CREFSTRING propertyName) 
+INT32 MgPortableDataReader::GetPropertyIndex(CREFSTRING propertyName) 
 { 
     INT32 ret = -1;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetPropertyIndex(propertyName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetPropertyIndex")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetPropertyIndex")
     return ret;
 }
 
-bool MgdDataReader::IsNull(INT32 index) 
+bool MgPortableDataReader::IsNull(INT32 index) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = IsNull(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::IsNull")
     return ret;
 }
 
-bool MgdDataReader::GetBoolean(INT32 index) 
+bool MgPortableDataReader::GetBoolean(INT32 index) 
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBoolean(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdDataReader::GetByte(INT32 index) 
+BYTE MgPortableDataReader::GetByte(INT32 index) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetByte(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdDataReader::GetDateTime(INT32 index) 
+MgDateTime* MgPortableDataReader::GetDateTime(INT32 index) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDateTime(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetDateTime")
     return ret;
 }
 
-float MgdDataReader::GetSingle(INT32 index) 
+float MgPortableDataReader::GetSingle(INT32 index) 
 {
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetSingle(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetSingle")
     return ret;
 }
 
-double MgdDataReader::GetDouble(INT32 index) 
+double MgPortableDataReader::GetDouble(INT32 index) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDouble(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetDouble")
     return ret;
 }
 
-INT16 MgdDataReader::GetInt16(INT32 index) 
+INT16 MgPortableDataReader::GetInt16(INT32 index) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt16(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt16")
     return ret;
 }
 
-INT32 MgdDataReader::GetInt32(INT32 index)
+INT32 MgPortableDataReader::GetInt32(INT32 index)
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt32(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt32")
     return ret;
 }
 
-INT64 MgdDataReader::GetInt64(INT32 index) 
+INT64 MgPortableDataReader::GetInt64(INT32 index) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt64(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetInt64")
     return ret;
 }
 
-STRING MgdDataReader::GetString(INT32 index) 
+STRING MgPortableDataReader::GetString(INT32 index) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetString(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdDataReader::GetBLOB(INT32 index) 
+MgByteReader* MgPortableDataReader::GetBLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetBLOB")
     return ret;
 }
 
-MgByteReader* MgdDataReader::GetCLOB(INT32 index) 
+MgByteReader* MgPortableDataReader::GetCLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetCLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetCLOB")
     return ret;
 }
 
-MgByteReader* MgdDataReader::GetGeometry(INT32 index) 
+MgByteReader* MgPortableDataReader::GetGeometry(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetGeometry(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetGeometry")
     return ret;
 }
 
-MgRaster* MgdDataReader::GetRaster(INT32 index) 
+MgRaster* MgPortableDataReader::GetRaster(INT32 index) 
 { 
     Ptr<MgRaster> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetRaster(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetRaster")
     return ret;
 }
 
-void MgdDataReader::Close() 
+void MgPortableDataReader::Close() 
 { 
     MG_FEATURE_SERVICE_TRY()
 
@@ -667,14 +667,14 @@
 
     // Release the connection.
     //m_connection = NULL;
-    MgdFdoConnectionPool::ReturnConnection(m_connection);
+    MgPortableFdoConnectionPool::ReturnConnection(m_connection);
     m_connection = NULL;
-    //MgdFdoConnectionUtil::CloseConnection(fdoConnection);
+    //MgPortableFdoConnectionUtil::CloseConnection(fdoConnection);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::Close");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::Close");
 }
 
-INT32 MgdDataReader::GetReaderType() 
+INT32 MgPortableDataReader::GetReaderType() 
 { 
     return MgReaderType::FeatureReader;
 }
@@ -681,32 +681,32 @@
 
 //EXTERNAL_API:
 
-MgByteReader* MgdDataReader::ToXml() 
+MgByteReader* MgPortableDataReader::ToXml() 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdDataReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableDataReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 //INTERNAL_API:
 
-string MgdDataReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+string MgPortableDataReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-string MgdDataReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+string MgPortableDataReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-void MgdDataReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+void MgPortableDataReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-void MgdDataReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+void MgPortableDataReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-void MgdDataReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+void MgPortableDataReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-void MgdDataReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::GetResponseElementName"); }
+void MgPortableDataReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::GetResponseElementName"); }
 
-void MgdDataReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::CurrentToStringUtf8"); }
+void MgPortableDataReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::CurrentToStringUtf8"); }
 
-void MgdDataReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgdDataReader::CurrentToStringUtf8"); }
+void MgPortableDataReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgPortableDataReader::CurrentToStringUtf8"); }
 
-void MgdDataReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdDataReader::HeaderToStringUtf8"); }
+void MgPortableDataReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableDataReader::HeaderToStringUtf8"); }
 
-const wchar_t* MgdDataReader::GetString(CREFSTRING propertyName, INT32& length) 
+const wchar_t* MgPortableDataReader::GetString(CREFSTRING propertyName, INT32& length) 
 { 
     FdoString* retVal;
 
@@ -717,7 +717,7 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdDataReader::GetString",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableDataReader::GetString",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
@@ -729,18 +729,18 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::GetString");
 
     return ((const wchar_t*)retVal);
 
 }
 
-void MgdDataReader::Serialize(MgStream* stream) 
+void MgPortableDataReader::Serialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdDataReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableDataReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-void MgdDataReader::Deserialize(MgStream* stream) 
+void MgPortableDataReader::Deserialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdDataReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableDataReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/DataReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/DataReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/DataReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #ifndef DESKTOP_DATA_READER_H
 #define DESKTOP_DATA_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 class FdoIDataReader;
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdDataReader : public MgDataReader
+class MG_DESKTOP_API MgPortableDataReader : public MgDataReader
 {
 INTERNAL_API:
-    MgdDataReader(MgdFeatureConnection* conn, FdoIDataReader* reader);
+    MgPortableDataReader(MgPortableFeatureConnection* conn, FdoIDataReader* reader);
 
 EXTERNAL_API:
-    virtual ~MgdDataReader();
+    virtual ~MgPortableDataReader();
 
 PUBLISHED_API:
     virtual bool ReadNext();
@@ -209,7 +209,7 @@
     STRING GetRasterPropertyName();
 
     FdoIDataReader* m_reader;
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
 };
 /// \}
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Drawing/DrawingServiceUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "DrawingServiceUtil.h"
 #include "DrawingDefs.h"
 #include "System/XmlUtil.h"
@@ -26,7 +26,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdDrawingServiceUtil::MgdDrawingServiceUtil()
+MgPortableDrawingServiceUtil::MgPortableDrawingServiceUtil()
 {
 }
 
@@ -37,12 +37,12 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdDrawingServiceUtil::~MgdDrawingServiceUtil()
+MgPortableDrawingServiceUtil::~MgPortableDrawingServiceUtil()
 {
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_read(WT_File &file, int desired_bytes, int &bytes_read, void * buffer)
+WT_Result MgPortableDrawingServiceUtil::MgWt_read(WT_File &file, int desired_bytes, int &bytes_read, void * buffer)
 {
     FILE * fp = (FILE *) file.stream_user_data();
     if (feof(fp))
@@ -56,13 +56,13 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_open(WT_File &)
+WT_Result MgPortableDrawingServiceUtil::MgWt_open(WT_File &)
 {
     return WT_Result::Success;
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_close(WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_close(WT_File &file)
 {
     FILE * fp = (FILE *) file.stream_user_data();
     fclose (fp);
@@ -71,7 +71,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_layer(WT_Layer &layer, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_layer(WT_Layer &layer, WT_File &file)
 {
     MgStringCollection* layerList = (MgStringCollection*) file.heuristics().user_data();
     WT_String layerName = layer.layer_name();
@@ -87,7 +87,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_color(WT_Color &color, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_color(WT_Color &color, WT_File &file)
 {
     TargetLayer* targetLayer = (TargetLayer*)file.heuristics().user_data();
     if (0 == targetLayer)
@@ -100,7 +100,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_contour_set(WT_Contour_Set &contour_set, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_contour_set(WT_Contour_Set &contour_set, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -113,7 +113,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_filled_ellipse(WT_Filled_Ellipse &filled_ellipse, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_filled_ellipse(WT_Filled_Ellipse &filled_ellipse, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -126,7 +126,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_gouraud_polyline(WT_Gouraud_Polyline &gouraud_polyline, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_gouraud_polyline(WT_Gouraud_Polyline &gouraud_polyline, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -139,7 +139,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_gouraud_polytriangle(WT_Gouraud_Polytriangle &gouraud_polytriangle, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_gouraud_polytriangle(WT_Gouraud_Polytriangle &gouraud_polytriangle, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -152,7 +152,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_image(WT_Image &image, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_image(WT_Image &image, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -165,7 +165,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_png_group4_image(WT_PNG_Group4_Image &image, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_png_group4_image(WT_PNG_Group4_Image &image, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -178,7 +178,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_outline_ellipse(WT_Outline_Ellipse &outline_ellipse, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_outline_ellipse(WT_Outline_Ellipse &outline_ellipse, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -191,7 +191,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_polyline(WT_Polyline &polyline, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_polyline(WT_Polyline &polyline, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -204,7 +204,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_polygon(WT_Polygon &polygon, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_polygon(WT_Polygon &polygon, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -217,7 +217,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_polymarker(WT_Polymarker &polymarker, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_polymarker(WT_Polymarker &polymarker, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -237,7 +237,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_polytriangle(WT_Polytriangle &polytriangle, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_polytriangle(WT_Polytriangle &polytriangle, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -250,7 +250,7 @@
 }
 
 
-WT_Result MgdDrawingServiceUtil::MgWt_process_text(WT_Text &text, WT_File &file)
+WT_Result MgPortableDrawingServiceUtil::MgWt_process_text(WT_Text &text, WT_File &file)
 {
     if ( DetectTargetLayer(file) )
     {
@@ -263,7 +263,7 @@
 }
 
 
-bool MgdDrawingServiceUtil::DetectTargetLayer(WT_File &file)
+bool MgPortableDrawingServiceUtil::DetectTargetLayer(WT_File &file)
 {
     bool bIsTargetLayer = false;
     TargetLayer* targetLayer = (TargetLayer*)file.heuristics().user_data();
@@ -295,7 +295,7 @@
 }
 
 
-DWFPackageReader* MgdDrawingServiceUtil::OpenDrawingResource(
+DWFPackageReader* MgPortableDrawingServiceUtil::OpenDrawingResource(
     MgResourceService* resourceService, MgResourceIdentifier* resource,
     bool& bOpenTempFile, REFSTRING tempFileName)
 {
@@ -306,7 +306,7 @@
 
     if (resourceService == 0)
     {
-        throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"MgdDrawingServiceUtil.OpenDrawingResource", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"MgPortableDrawingServiceUtil.OpenDrawingResource", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     byteReader = resourceService->GetResourceContent(resource, L"Substitution");
@@ -346,16 +346,16 @@
     {
         MgStringCollection arguments;
         arguments.Add(dwfFileName);
-        throw new MgException(MgExceptionCodes::MgInvalidDwfPackageException, L"MgdDrawingServiceUtil.OpenDrawingResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidDwfPackageException, L"MgPortableDrawingServiceUtil.OpenDrawingResource", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
-    MG_SERVER_DRAWING_SERVICE_CATCH_AND_THROW(L"MgdDrawingServiceUtil.OpenDrawingResource")
+    MG_SERVER_DRAWING_SERVICE_CATCH_AND_THROW(L"MgPortableDrawingServiceUtil.OpenDrawingResource")
 
     return reader.release();
 }
 
 
-void MgdDrawingServiceUtil::CloseDrawingResource(bool& bOpenTempFile, CREFSTRING tempFileName)
+void MgPortableDrawingServiceUtil::CloseDrawingResource(bool& bOpenTempFile, CREFSTRING tempFileName)
 {
     if (bOpenTempFile)
     {
@@ -368,7 +368,7 @@
 }
 
 
-void MgdDrawingServiceUtil::ParseDrawingResourceContent(
+void MgPortableDrawingServiceUtil::ParseDrawingResourceContent(
     MgByteReader* byteReader, REFSTRING dwfPathName, REFSTRING dwfCoordinateSpace)
 {
     try
@@ -407,7 +407,7 @@
     {
         MgStringCollection arguments;
         arguments.Add(X2W(e.getMessage()));
-        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgdDrawingServiceUtil.ParseDrawingResourceContent",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgPortableDrawingServiceUtil.ParseDrawingResourceContent",
             __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments);
     }
     catch (const DOMException& e)
@@ -414,12 +414,12 @@
     {
         MgStringCollection arguments;
         arguments.Add(X2W(e.msg));
-        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgdDrawingServiceUtil.ParseDrawingResourceContent",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgPortableDrawingServiceUtil.ParseDrawingResourceContent",
             __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments);
     }
     catch (...)
     {
-        throw new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgdDrawingServiceUtil.ParseDrawingResourceContent",
+        throw new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgPortableDrawingServiceUtil.ParseDrawingResourceContent",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Drawing/DrawingServiceUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -47,20 +47,20 @@
 };
 
 /// \cond INTERNAL
-class MG_DESKTOP_API MgdDrawingServiceUtil
+class MG_DESKTOP_API MgPortableDrawingServiceUtil
 {
     /// Constructors/Destructor
 
     public:
 
-        MgdDrawingServiceUtil();
-        virtual ~MgdDrawingServiceUtil();
+        MgPortableDrawingServiceUtil();
+        virtual ~MgPortableDrawingServiceUtil();
 
     private:
 
         // Unimplemented Methods
-        MgdDrawingServiceUtil(const MgdDrawingServiceUtil& util);
-        MgdDrawingServiceUtil& operator=(const MgdDrawingServiceUtil& util);
+        MgPortableDrawingServiceUtil(const MgPortableDrawingServiceUtil& util);
+        MgPortableDrawingServiceUtil& operator=(const MgPortableDrawingServiceUtil& util);
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Services/DrawingService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/DrawingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/DrawingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -41,7 +41,7 @@
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::GetDrawing(MgResourceIdentifier* resource)
+MgByteReader* MgPortableDrawingService::GetDrawing(MgResourceIdentifier* resource)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -54,11 +54,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::GetDrawing()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::GetDrawing()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.GetDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.GetDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Get the name of the dwf file from the resource content and remove the path from the filename
@@ -65,7 +65,7 @@
     STRING dwfFileName = L"";
     STRING dwfCoordinateSpace = L"";
     Ptr<MgByteReader> reader = m_resourceService->GetResourceContent(resource, L"");
-    MgdDrawingServiceUtil::ParseDrawingResourceContent(reader, dwfFileName, dwfCoordinateSpace);
+    MgPortableDrawingServiceUtil::ParseDrawingResourceContent(reader, dwfFileName, dwfCoordinateSpace);
     dwfFileName = dwfFileName.substr( dwfFileName.rfind(L"%") + 1 );
 
     // Return the drawing via a MgByteReader
@@ -74,7 +74,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::GetDrawing")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::GetDrawing")
 
     if (mgException != NULL)
     {
@@ -107,10 +107,10 @@
 /// - MgInvalidCastException if there are problems reading the DWF into memory.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::DescribeDrawing(MgResourceIdentifier* resource)
+MgByteReader* MgPortableDrawingService::DescribeDrawing(MgResourceIdentifier* resource)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -123,15 +123,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::DescribeDrawing()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::DescribeDrawing()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.DescribeDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.DescribeDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Obtain the manifest from the DWF.
         DWFInputStream* pStream = reader->extract(MANIFEST_XML.c_str(), false);
@@ -157,7 +157,7 @@
                 DWFCORE_FREE_OBJECT(pStream);
             if (0 != pBuffer)
                 DWFCORE_FREE_MEMORY(pBuffer);
-            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgdDrawingService.DescribeDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgPortableDrawingService.DescribeDrawing", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Return the manifest via a MgByteReader
@@ -171,12 +171,12 @@
             DWFCORE_FREE_MEMORY(pBuffer);
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::DescribeDrawing")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::DescribeDrawing")
 
     if (mgException != NULL)
     {
@@ -197,13 +197,13 @@
 //////////////////////////////////////////////////////////////////
 /// <summary>
 /// GetSection() returns a DWF containing only the requested section.  The section is specified by resource identifier (to get the DWF from the repository),
-/// and the section name.  The section names can be retrieved via call to MgdDrawingService::EnumerateSections() or from manifest.xml via call to MgdDrawingService::DescribeDrawing().
+/// and the section name.  The section names can be retrieved via call to MgPortableDrawingService::EnumerateSections() or from manifest.xml via call to MgPortableDrawingService::DescribeDrawing().
 /// </summary>
 /// <param name="resource">Input
 /// MgResourceIdentifier object identifying the DWF resource
 /// </param>
 /// <param name="sectionName">Input
-/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgdDrawingService::EnumerateSections() or from manifest.xml via call to MgdDrawingService::DescribeDrawing().
+/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgPortableDrawingService::EnumerateSections() or from manifest.xml via call to MgPortableDrawingService::DescribeDrawing().
 /// </param>
 /// <returns>
 /// Returns DWF stream containing the specified section.
@@ -210,17 +210,17 @@
 /// </returns>
 /// EXCEPTIONS:
 /// - MgInvalidArgumentException if the section name is blank
-/// - MgdDwfSectionNotFoundException if the requested section does not exist in the DWF package.
-/// - MgdInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
+/// - MgPortableDwfSectionNotFoundException if the requested section does not exist in the DWF package.
+/// - MgPortableInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
 /// - MgNullReferenceException no data could be read from the DWF resource.
 /// - MgOutOfMemoryException if there is insufficient memory to complete the operation.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - MgTemporaryFileNotAvailableException if a temporary file need to complete the operation cannot be generated or accessed.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::GetSection(MgResourceIdentifier* resource, CREFSTRING sectionName)
+MgByteReader* MgPortableDrawingService::GetSection(MgResourceIdentifier* resource, CREFSTRING sectionName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -235,11 +235,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(sectionName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::GetSection()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::GetSection()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.GetSection", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.GetSection", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (sectionName.empty())
     {
@@ -247,12 +247,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.GetSection",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.GetSection",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Check if the section exists in the manifest (and get the mime type from the manifest)
         DWFManifest& manifest = reader->getManifest();
@@ -261,7 +261,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgdDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgPortableDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Create a DWFPackageWriter for writing the section to a temporary DWF file
@@ -290,12 +290,12 @@
         byteReader = byteSource->GetReader();
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::GetSection")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::GetSection")
 
     if (mgException != NULL)
     {
@@ -318,8 +318,8 @@
 /// GetSectionResource() extracts a specific resource from the DWF package.
 /// It is specified by the resource identifier (to get the DWF from the repository)
 /// and the resource name (to get the DWF resource from the DWF package).
-/// A list of resource names can be retrieved via call to MgdDrawingServices::EnumerateSectionResources(),
-/// or from the manifest.xml via call to MgdDrawingServices::DescribeDrawing().
+/// A list of resource names can be retrieved via call to MgPortableDrawingServices::EnumerateSectionResources(),
+/// or from the manifest.xml via call to MgPortableDrawingServices::DescribeDrawing().
 /// Refer to the DWF Format Specification at http://viewers/web/Olema/pdf/DWF%206%20Corporate%20Publishing%20Format.pdf for more information resource files associated with a particular section.
 ///
 /// </summary>
@@ -328,8 +328,8 @@
 /// </param>
 /// <param name="resourceName">Input
 /// Unique resource name of an item in the DWF.
-/// The item's name can be retrieved from call to MgdDrawingServices::EnumerateDrawingServices(),
-/// or from the manifest.xml via call to MgdDrawingServices::DescribeDrawing().
+/// The item's name can be retrieved from call to MgPortableDrawingServices::EnumerateDrawingServices(),
+/// or from the manifest.xml via call to MgPortableDrawingServices::DescribeDrawing().
 /// </param>
 /// <returns>
 /// Returns byte stream for the item.
@@ -339,16 +339,16 @@
 /// EXCEPTIONS:
 /// - MgInvalidArgumentException if the requested resourceName does not specify a section name.
 /// - MgInvalidArgumentException if the section name is blank
-/// - MgdDwfSectionNotFoundException if the requested section does not exist in the DWF package.
-/// - MgdDwfSectionResourceNotFoundException if the requested section resource does not exist in the DWF package.
+/// - MgPortableDwfSectionNotFoundException if the requested section does not exist in the DWF package.
+/// - MgPortableDwfSectionResourceNotFoundException if the requested section resource does not exist in the DWF package.
 /// - MgInvalidCastException if there are problems reading the DWF into memory.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - MgTemporaryFileNotAvailableException if a temporary file need to complete the operation cannot be generated or accessed.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::GetSectionResource(MgResourceIdentifier* resource, CREFSTRING resourceName)
+MgByteReader* MgPortableDrawingService::GetSectionResource(MgResourceIdentifier* resource, CREFSTRING resourceName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -363,11 +363,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(resourceName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::GetSectionResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::GetSectionResource()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.GetSectionResource", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.GetSectionResource", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (resourceName.empty())
     {
@@ -375,12 +375,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.GetSectionResource",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.GetSectionResource",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Parse the section name from the resourceName
         STRING::size_type index = resourceName.rfind(RESOURCENAME_SEPARATOR);
@@ -391,7 +391,7 @@
             arguments.Add(L"2");
             arguments.Add(resourceName);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.GetSectionResource",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.GetSectionResource",
                 __LINE__, __WFILE__, &arguments, L"MgResourceNameSeparatorNotFound", NULL);
         }
         sectionName = resourceName.substr(0, index);
@@ -402,7 +402,7 @@
             arguments.Add(L"2");
             arguments.Add(resourceName);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.GetSectionResource",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.GetSectionResource",
                 __LINE__, __WFILE__, &arguments, L"MgResourceNameDoesNotContainSectionName", NULL);
         }
 
@@ -413,7 +413,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgdDrawingService.GetSectionResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgPortableDrawingService.GetSectionResource", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         // ...check if the resource exists in the section
         DWFResource* pResource = pSection->findResourceByHREF(resourceName.c_str());
@@ -421,7 +421,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(resourceName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionResourceNotFoundException, L"MgdDrawingService.GetSectionResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionResourceNotFoundException, L"MgPortableDrawingService.GetSectionResource", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         // ...get the mime type for the resource
         STRING wsMimeType = (STRING)pResource->mime();
@@ -438,7 +438,7 @@
                 DWFCORE_FREE_OBJECT(pStream);
             if (0 != pBuffer)
                 DWFCORE_FREE_MEMORY(pBuffer);
-            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgdDrawingService.GetSectionResource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidCastException, L"MgPortableDrawingService.GetSectionResource", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Return the resource via a MgByteReader
@@ -452,12 +452,12 @@
             DWFCORE_FREE_MEMORY(pBuffer);
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::GetSectionResource")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::GetSectionResource")
 
     if (mgException != NULL)
     {
@@ -479,8 +479,8 @@
 /// <summary>
 /// EnumerateLayers() returns the layer names in a DWF ePlot section.  An ePlot section is also known as a "sheet" in DWF viewers.
 /// The ePlot section is specified by resource identifier (to get the DWF from the repository), and section name.
-/// A list of all sections in a DWF can be retrieved from call to MgdDrawingServices::EnumerateSections(),
-/// or from the manifest.xml via call to MgdDrawingServices::DescribeDrawing().
+/// A list of all sections in a DWF can be retrieved from call to MgPortableDrawingServices::EnumerateSections(),
+/// or from the manifest.xml via call to MgPortableDrawingServices::DescribeDrawing().
 //  Refer to the DWF Format Specification at http://viewers/web/Olema/pdf/DWF%206%20Corporate%20Publishing%20Format.pdf for more information on the manifest and sections.
 /// </summary>
 /// <param name="resource">Input
@@ -487,7 +487,7 @@
 /// MgResourceIdentifier object identifying the DWF resource
 /// </param>
 /// <param name="sectionName">Input
-/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgdDrawingService::EnumerateSections() or from manifest.xml via call to MgdDrawingService::DescribeDrawing().
+/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgPortableDrawingService::EnumerateSections() or from manifest.xml via call to MgPortableDrawingService::DescribeDrawing().
 /// </param>
 /// <returns>
 /// Returns the pointer to a StringCollection of layer names.
@@ -494,16 +494,16 @@
 /// </returns>
 /// EXCEPTIONS:
 /// - MgInvalidArgumentException if the section name is blank
-/// - MgdDwfSectionNotFoundException if the requested section does not exist in the DWF package.
-/// - MgdInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
+/// - MgPortableDwfSectionNotFoundException if the requested section does not exist in the DWF package.
+/// - MgPortableInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
 /// - MgNullReferenceException no data could be read from the DWF resource.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - MgTemporaryFileNotAvailableException if a temporary file need to complete the operation cannot be generated or accessed.
 /// - See MgResourceService for additional exceptions.
-MgStringCollection* MgdDrawingService::EnumerateLayers(MgResourceIdentifier* resource, CREFSTRING sectionName)
+MgStringCollection* MgPortableDrawingService::EnumerateLayers(MgResourceIdentifier* resource, CREFSTRING sectionName)
 {
     Ptr<MgStringCollection> layers;
 
@@ -518,11 +518,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(sectionName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::EnumerateLayers()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::EnumerateLayers()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (sectionName.empty())
     {
@@ -530,12 +530,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.EnumerateLayers",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.EnumerateLayers",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Check if the section exists in the manifest
         DWFManifest& manifest = reader->getManifest();
@@ -544,7 +544,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Get the resources for the section
@@ -564,7 +564,7 @@
                 {
                     MgStringCollection arguments;
                     arguments.Add(sectionName);
-                    throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgdDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgPortableDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
                 }
 
                 pResource = piResources->get();
@@ -576,13 +576,13 @@
 
         if (0 == pResource)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         DWFInputStream* pStream = pResource->getInputStream();
         if (0 == pStream)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         size_t nBytes = pStream->available();
         char* pBuffer = DWFCORE_ALLOC_MEMORY( char, nBytes );
@@ -590,7 +590,7 @@
         DWFCORE_FREE_OBJECT(pStream);
         if (0 == pBuffer)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Write the memory buffer to a temporary file
@@ -600,7 +600,7 @@
         FILE* fp = fopen( tempW2dFileName.c_str(), "wb+" );  // NOXLATE
         if (0 == fp)
         {
-            throw new MgException(MgExceptionCodes::MgTemporaryFileNotAvailableException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgTemporaryFileNotAvailableException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         fwrite(pBuffer, sizeof(char), nBytes, fp);
@@ -614,9 +614,9 @@
         WT_Result result;
 
         // Set overrides for IO handling of the W2D file
-        file.set_stream_open_action (MgdDrawingServiceUtil::MgWt_open);
-        file.set_stream_close_action(MgdDrawingServiceUtil::MgWt_close);
-        file.set_stream_read_action (MgdDrawingServiceUtil::MgWt_read);
+        file.set_stream_open_action (MgPortableDrawingServiceUtil::MgWt_open);
+        file.set_stream_close_action(MgPortableDrawingServiceUtil::MgWt_close);
+        file.set_stream_read_action (MgPortableDrawingServiceUtil::MgWt_read);
 
         // Open the W2D for reading
         file.set_file_mode(WT_File::File_Read);
@@ -626,7 +626,7 @@
         // Process the W2D
         layers = new MgStringCollection();
         file.heuristics().set_user_data(layers);
-        file.set_layer_action(MgdDrawingServiceUtil::MgWt_process_layer);
+        file.set_layer_action(MgPortableDrawingServiceUtil::MgWt_process_layer);
         do
         {
             result = file.process_next_object();
@@ -639,12 +639,12 @@
         m_bOpenTempW2dFile = false;
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::EnumerateLayers")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::EnumerateLayers")
 
     if (mgException != NULL)
     {
@@ -670,10 +670,10 @@
 /// MgResourceIdentifier object identifying the DWF resource
 /// </param>
 /// <param name="sectionName">Input
-/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgdDrawingService::EnumerateSections() or from manifest.xml via call to MgdDrawingService::DescribeDrawing().
+/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgPortableDrawingService::EnumerateSections() or from manifest.xml via call to MgPortableDrawingService::DescribeDrawing().
 /// </param>
 /// <param name="layerName">Input
-/// layerName specifies the name of the layer to retrieve from a particular section.  A list of layer names can can be retrieved via call to MgdDrawingService::EnumerateLayers().
+/// layerName specifies the name of the layer to retrieve from a particular section.  A list of layer names can can be retrieved via call to MgPortableDrawingService::EnumerateLayers().
 /// </param>
 /// <returns>
 /// Returns DWF stream containing the specified layer (in a section)
@@ -680,17 +680,17 @@
 /// </returns>
 /// EXCEPTIONS:
 /// - MgInvalidArgumentException if the section name is blank
-/// - MgdDwfSectionNotFoundException if the requested section does not exist in the DWF package.
-/// - MgdInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
+/// - MgPortableDwfSectionNotFoundException if the requested section does not exist in the DWF package.
+/// - MgPortableInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
 /// - MgNullReferenceException if data could not be read from the DWF resource.
 /// - MgOutOfMemoryException if there is insufficient memory to complete the operation.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
 /// - MgLayerNotFoundException if the requested layer does not exist in the requested section of the DWF package.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::GetLayer( MgResourceIdentifier* resource, CREFSTRING sectionName, CREFSTRING layerName )
+MgByteReader* MgPortableDrawingService::GetLayer( MgResourceIdentifier* resource, CREFSTRING sectionName, CREFSTRING layerName )
 {
     Ptr<MgByteReader> byteReader;
     Ptr<MgStringCollection> layers;
@@ -708,11 +708,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(layerName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::GetLayer()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::GetLayer()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (sectionName.empty())
     {
@@ -720,12 +720,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.GetLayer",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.GetLayer",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Check if the section exists in the manifest
         DWFManifest& manifest = reader->getManifest();
@@ -734,7 +734,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         pSection->readDescriptor();
 
@@ -755,7 +755,7 @@
                 {
                     MgStringCollection arguments;
                     arguments.Add(sectionName);
-                    throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgdDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgPortableDrawingService.GetSection", __LINE__, __WFILE__, &arguments, L"", NULL);
                 }
 
                 pResource = piResources->get();
@@ -767,13 +767,13 @@
 
         if (0 == pResource)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.EnumerateLayers", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         DWFInputStream* pStream = pResource->getInputStream();
         if (0 == pStream)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         size_t nBytes = pStream->available();
         char* pBuffer = DWFCORE_ALLOC_MEMORY( char, nBytes );
@@ -781,7 +781,7 @@
         DWFCORE_FREE_OBJECT(pStream);
         if (0 == pBuffer)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Write the memory buffer to a temporary file
@@ -791,7 +791,7 @@
         FILE* fp = fopen( tempW2dFileName.c_str(), "wb+" );  // NOXLATE
         if (0 == fp)
         {
-            throw new MgException(MgExceptionCodes::MgTemporaryFileNotAvailableException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgTemporaryFileNotAvailableException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         fwrite(pBuffer, sizeof(char), nBytes, fp);
@@ -805,9 +805,9 @@
         WT_Result result;
 
         // Set overrides for IO handling of the W2D file
-        infile.set_stream_open_action (MgdDrawingServiceUtil::MgWt_open);
-        infile.set_stream_close_action(MgdDrawingServiceUtil::MgWt_close);
-        infile.set_stream_read_action (MgdDrawingServiceUtil::MgWt_read);
+        infile.set_stream_open_action (MgPortableDrawingServiceUtil::MgWt_open);
+        infile.set_stream_close_action(MgPortableDrawingServiceUtil::MgWt_close);
+        infile.set_stream_read_action (MgPortableDrawingServiceUtil::MgWt_read);
 
         // Open the W2D for reading
         infile.set_file_mode(WT_File::File_Read);
@@ -831,19 +831,19 @@
         targetLayer.name = layerName;
         targetLayer.pFile = &outfile;
         infile.heuristics().set_user_data(&targetLayer);
-        infile.set_color_action(MgdDrawingServiceUtil::MgWt_process_color);
-        infile.set_contour_set_action(MgdDrawingServiceUtil::MgWt_process_contour_set);
-        infile.set_filled_ellipse_action(MgdDrawingServiceUtil::MgWt_process_filled_ellipse);
-        infile.set_gouraud_polyline_action(MgdDrawingServiceUtil::MgWt_process_gouraud_polyline);
-        infile.set_gouraud_polytriangle_action(MgdDrawingServiceUtil::MgWt_process_gouraud_polytriangle);
-        infile.set_image_action(MgdDrawingServiceUtil::MgWt_process_image);
-        infile.set_png_group4_image_action(MgdDrawingServiceUtil::MgWt_process_png_group4_image);
-        infile.set_outline_ellipse_action(MgdDrawingServiceUtil::MgWt_process_outline_ellipse);
-        infile.set_polygon_action(MgdDrawingServiceUtil::MgWt_process_polygon);
-        infile.set_polyline_action(MgdDrawingServiceUtil::MgWt_process_polyline);
-        infile.set_polymarker_action(MgdDrawingServiceUtil::MgWt_process_polymarker);
-        infile.set_polytriangle_action(MgdDrawingServiceUtil::MgWt_process_polytriangle);
-        infile.set_text_action(MgdDrawingServiceUtil::MgWt_process_text);
+        infile.set_color_action(MgPortableDrawingServiceUtil::MgWt_process_color);
+        infile.set_contour_set_action(MgPortableDrawingServiceUtil::MgWt_process_contour_set);
+        infile.set_filled_ellipse_action(MgPortableDrawingServiceUtil::MgWt_process_filled_ellipse);
+        infile.set_gouraud_polyline_action(MgPortableDrawingServiceUtil::MgWt_process_gouraud_polyline);
+        infile.set_gouraud_polytriangle_action(MgPortableDrawingServiceUtil::MgWt_process_gouraud_polytriangle);
+        infile.set_image_action(MgPortableDrawingServiceUtil::MgWt_process_image);
+        infile.set_png_group4_image_action(MgPortableDrawingServiceUtil::MgWt_process_png_group4_image);
+        infile.set_outline_ellipse_action(MgPortableDrawingServiceUtil::MgWt_process_outline_ellipse);
+        infile.set_polygon_action(MgPortableDrawingServiceUtil::MgWt_process_polygon);
+        infile.set_polyline_action(MgPortableDrawingServiceUtil::MgWt_process_polyline);
+        infile.set_polymarker_action(MgPortableDrawingServiceUtil::MgWt_process_polymarker);
+        infile.set_polytriangle_action(MgPortableDrawingServiceUtil::MgWt_process_polytriangle);
+        infile.set_text_action(MgPortableDrawingServiceUtil::MgWt_process_text);
 
         //Process the input W2D file.
         do
@@ -863,7 +863,7 @@
             // Cannot find specified layer in the Dwf section
             MgStringCollection arguments;
             arguments.Add(targetLayer.name);
-            throw new MgException(MgExceptionCodes::MgLayerNotFoundException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgLayerNotFoundException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Use EPlotSection to get section color, paper
@@ -886,7 +886,7 @@
             pPaper) );
         if (0 == pPage)
         {
-            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         // Set properties for the section
         pPage->provideProperty(
@@ -903,7 +903,7 @@
             L"") );
         if (0 == p2Dgfx)
         {
-            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         p2Dgfx->configureGraphic(pTransform, pExtents, pClip);
 
@@ -913,7 +913,7 @@
         if (pW2DFile == NULL)
         {
             DWFCORE_FREE_OBJECT( p2Dgfx );
-            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         DWFFileInputStream* pW2DFilestream = DWFCORE_ALLOC_OBJECT( DWFFileInputStream );
         if (pW2DFilestream == NULL)
@@ -920,7 +920,7 @@
         {
             DWFCORE_FREE_OBJECT( p2Dgfx );
             DWFCORE_FREE_OBJECT( pW2DFile );
-            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgdDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgPortableDrawingService.GetLayer", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         //... open the file and bind it to the stream
         pW2DFile->open();
@@ -966,12 +966,12 @@
         m_bOpenTempOutputW2dFile = false;
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::GetLayer")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::GetLayer")
 
     if (mgException != NULL)
     {
@@ -1005,10 +1005,10 @@
 /// - MgNullReferenceException no data could be read from the DWF resource.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::EnumerateSections(MgResourceIdentifier* resource)
+MgByteReader* MgPortableDrawingService::EnumerateSections(MgResourceIdentifier* resource)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1022,15 +1022,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::EnumerateSections()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::EnumerateSections()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.EnumerateSections", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.EnumerateSections", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Get the ePlot sections in the DWF
         DWFManifest& manifest = reader->getManifest();
@@ -1104,12 +1104,12 @@
         byteReader = byteSource->GetReader();
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::EnumerateSections")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::EnumerateSections")
 
     if (mgException != NULL)
     {
@@ -1131,13 +1131,13 @@
 /// <summary>
 /// EnumerateSectionResources() enumerates the resources of a DWF section.  The DWF is identified by it's
 /// resource identifier and the section is identified by name.  The section name
-/// will be retrieved from manifest.xml or from MgdDrawingServices::EnumerateSections() API.
+/// will be retrieved from manifest.xml or from MgPortableDrawingServices::EnumerateSections() API.
 /// </summary>
 /// <param name="resource">Input
 /// MgResourceIdentifier object identifying the DWF resource
 /// </param>
 /// <param name="sectionName">Input
-/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgdDrawingService::EnumerateSections() or from manifest.xml via call to MgdDrawingService::DescribeDrawing().
+/// sectionName specifies the unique name of the section in the DWF resource.  Section names can be retrieved via call to MgPortableDrawingService::EnumerateSections() or from manifest.xml via call to MgPortableDrawingService::DescribeDrawing().
 /// </param>
 /// <returns>
 /// Returns MgByteReader object representing resources in a DWF section.
@@ -1145,15 +1145,15 @@
 /// </returns>
 /// EXCEPTIONS:
 /// - MgInvalidArgumentException if the section name is blank
-/// - MgdDwfSectionNotFoundException if the requested section does not exist in the DWF package.
-/// - MgdInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
+/// - MgPortableDwfSectionNotFoundException if the requested section does not exist in the DWF package.
+/// - MgPortableInvalidDwfSectionException if the 2d graphics resource for the DWF section cannot be found.
 /// - MgNullReferenceException no data could be read from the DWF resource.
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing in the resource repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
-/// - MgdInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
-/// - MgdDwfException if the DWF component encounters errors.
+/// - MgPortableInvalidDwfPackageException if the DWF specified by the resource identifier is not a DWF of version 6.0 or greater.
+/// - MgPortableDwfException if the DWF component encounters errors.
 /// - See MgResourceService for additional exceptions.
-MgByteReader* MgdDrawingService::EnumerateSectionResources(MgResourceIdentifier* resource, CREFSTRING sectionName)
+MgByteReader* MgPortableDrawingService::EnumerateSectionResources(MgResourceIdentifier* resource, CREFSTRING sectionName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1168,11 +1168,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(sectionName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::EnumerateSectionResources()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::EnumerateSectionResources()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (sectionName.empty())
     {
@@ -1180,12 +1180,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdDrawingService.EnumerateSectionResources",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableDrawingService.EnumerateSectionResources",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
     else
     {
-        std::unique_ptr<DWFPackageReader> reader(MgdDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
+        std::unique_ptr<DWFPackageReader> reader(MgPortableDrawingServiceUtil::OpenDrawingResource(m_resourceService, resource, m_bOpenTempDwfFile, m_tempDwfFileName));
 
         // Check if the section exists in the manifest
         DWFManifest& manifest = reader->getManifest();
@@ -1194,7 +1194,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgdDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDwfSectionNotFoundException, L"MgPortableDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Get all the resources in the section
@@ -1204,7 +1204,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(sectionName);
-            throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgdDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidDwfSectionException, L"MgPortableDrawingService.EnumerateSectionResources", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Iterate through the resources and write to xml document
@@ -1265,12 +1265,12 @@
         byteReader = byteSource->GetReader();
     }
 
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::EnumerateSections")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::EnumerateSections")
 
     if (mgException != NULL)
     {
@@ -1304,7 +1304,7 @@
 /// - MgServiceNotAvailableException if the underlying resource service cannot be obtained to access the drawing resource in the repository.
 /// - MgXmlParserException if there are problems parsing the resource content specified by the resource identifier.
 /// - See MgResourceService for additional exceptions.
-STRING MgdDrawingService::GetCoordinateSpace(MgResourceIdentifier* resource)
+STRING MgPortableDrawingService::GetCoordinateSpace(MgResourceIdentifier* resource)
 {
     STRING dwfCoordinateSpace = L"";
 
@@ -1317,17 +1317,17 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdDrawingService::GetCoordinateSpace()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableDrawingService::GetCoordinateSpace()");
 
     if (0 == resource)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDrawingService.GetCoordinateSpace", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDrawingService.GetCoordinateSpace", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Get the coordinate space from the resource content.
     STRING dwfFileName = L"";
     Ptr<MgByteReader> reader = m_resourceService->GetResourceContent(resource, L"");
-    MgdDrawingServiceUtil::ParseDrawingResourceContent(reader, dwfFileName, dwfCoordinateSpace);
+    MgPortableDrawingServiceUtil::ParseDrawingResourceContent(reader, dwfFileName, dwfCoordinateSpace);
 
     // Assume coordinate space is LL84 if none is specified in the resource content.
     if (dwfCoordinateSpace.empty())
@@ -1338,7 +1338,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::GetCoordinateSpace")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::GetCoordinateSpace")
 
     if (mgException != NULL)
     {
@@ -1358,9 +1358,9 @@
 
 //////////////////////////////////////////////////////////////////
 /// <summary>
-/// Construct an MgdDrawingService object
+/// Construct an MgPortableDrawingService object
 /// </summary>
-MgdDrawingService::MgdDrawingService() :
+MgPortableDrawingService::MgPortableDrawingService() :
     MgService(),
     m_bOpenTempDwfFile(false),
     m_bOpenTempW2dFile(false),
@@ -1375,11 +1375,11 @@
     m_resourceService = dynamic_cast<MgResourceService*>(
         serviceMan->RequestService(MgServiceType::ResourceService));
         */
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
     m_resourceService = static_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     assert(m_resourceService != NULL);
 
-    MG_SERVER_DRAWING_SERVICE_CATCH_AND_THROW(L"MgdDrawingService::MgdDrawingService")
+    MG_SERVER_DRAWING_SERVICE_CATCH_AND_THROW(L"MgPortableDrawingService::MgPortableDrawingService")
 }
 
 
@@ -1387,13 +1387,13 @@
 /// <summary>
 /// Destructor
 /// </summary>
-MgdDrawingService::~MgdDrawingService()
+MgPortableDrawingService::~MgPortableDrawingService()
 {
     MG_SERVER_DRAWING_SERVICE_TRY()
 
     CleanUpTempFiles();
 
-    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgdDrawingService::~MgdDrawingService")
+    MG_SERVER_DRAWING_SERVICE_CATCH(L"MgPortableDrawingService::~MgPortableDrawingService")
 }
 
 
@@ -1404,9 +1404,9 @@
 /// <returns>
 /// Nothing
 /// </returns>
-void MgdDrawingService::CleanUpTempFiles()
+void MgPortableDrawingService::CleanUpTempFiles()
 {
-    MgdDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
+    MgPortableDrawingServiceUtil::CloseDrawingResource(m_bOpenTempDwfFile, m_tempDwfFileName);
 
     if (m_bOpenTempW2dFile)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/DrawingService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/DrawingService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/DrawingService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_DRAWING_SERVICE_H
 #define DESKTOP_DRAWING_SERVICE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 /// \ingroup Desktop_Service_Module
 /// \{
@@ -25,8 +25,8 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Allows low level access to \link DWF DWF™ \endlink
-/// (Design Web Format™) data stored in a resource repository as
+/// Allows low level access to \link DWF DWF� \endlink
+/// (Design Web Format�) data stored in a resource repository as
 /// part of a drawing source.
 ///
 /// \remarks
@@ -54,9 +54,9 @@
 /// provides access to the coordinate space assigned to the DWF
 /// in the DrawingSource resource.
 ///
-class MG_DESKTOP_API MgdDrawingService : public MgService
+class MG_DESKTOP_API MgPortableDrawingService : public MgService
 {
-    DECLARE_CLASSNAME(MgdDrawingService)
+    DECLARE_CLASSNAME(MgPortableDrawingService)
 
 public:
     //////////////////////////////////////////////////////////////////
@@ -63,13 +63,13 @@
     /// <summary>
     /// Destructor
     /// </summary>
-    virtual ~MgdDrawingService();
+    virtual ~MgPortableDrawingService();
 
     //////////////////////////////////////////////////////////////////
     /// <summary>
-    /// Construct an MgdDrawingService object
+    /// Construct an MgPortableDrawingService object
     /// </summary>
-    MgdDrawingService();
+    MgPortableDrawingService();
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/BooleanDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,22 +23,22 @@
 #include <vector>
 
 /// \cond INTERNAL
-class MgdBooleanDataReaderCreator : public MgdDataReaderCreator<INT16>
+class MgPortableBooleanDataReaderCreator : public MgPortableDataReaderCreator<INT16>
 {
-    DECLARE_CLASSNAME(MgdBooleanDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableBooleanDataReaderCreator)
 
 public:
-    MgdBooleanDataReaderCreator()
+    MgPortableBooleanDataReaderCreator()
     {
     }
 
-    MgdBooleanDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableBooleanDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Boolean;
     }
 
-    ~MgdBooleanDataReaderCreator()
+    ~MgPortableBooleanDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/ByteDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,22 +23,22 @@
 #include <vector>
 
 /// \cond INTERNAL
-class MgdByteDataReaderCreator : public MgdDataReaderCreator<INT8>
+class MgPortableByteDataReaderCreator : public MgPortableDataReaderCreator<INT8>
 {
-    DECLARE_CLASSNAME(MgdByteDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableByteDataReaderCreator)
 
 public:
-    MgdByteDataReaderCreator()
+    MgPortableByteDataReaderCreator()
     {
     }
 
-    MgdByteDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableByteDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Byte;
     }
 
-    ~MgdByteDataReaderCreator()
+    ~MgPortableByteDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/ApplySchema.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,17 +22,17 @@
 #include "Services/Feature/FeatureServiceCache.h"
 
 //////////////////////////////////////////////////////////////////
-MgdApplySchema::MgdApplySchema()
+MgPortableApplySchema::MgPortableApplySchema()
 {
 }
 
 //////////////////////////////////////////////////////////////////
-MgdApplySchema::~MgdApplySchema()
+MgPortableApplySchema::~MgPortableApplySchema()
 {
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdApplySchema::ApplySchema(MgResourceIdentifier* resource,
+void MgPortableApplySchema::ApplySchema(MgResourceIdentifier* resource,
     MgFeatureSchema* schema)
 {
     MG_FEATURE_SERVICE_TRY()
@@ -39,11 +39,11 @@
 
     if (NULL == resource || NULL == schema)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdApplySchema.ApplySchema", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableApplySchema.ApplySchema", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Connect to provider
-    Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(resource);
+    Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(resource);
 
     // connection must be open
     bool bRefresh = false;
@@ -56,18 +56,18 @@
             !msfc->SupportsCommand((INT32)FdoCommandType_DescribeSchema))
         {
             // TODO: specify which argument and message, once we have the mechanism
-            STRING message = MgdFeatureUtil::GetMessage(L"MgCommandNotSupported");
-            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdApplySchema.ApplySchema", __LINE__, __WFILE__, NULL, L"", NULL);
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgCommandNotSupported");
+            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableApplySchema.ApplySchema", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoIDescribeSchema> fdoDecribeSchemaCmd = (FdoIDescribeSchema*) fdoConn->CreateCommand(FdoCommandType_DescribeSchema);
-        CHECKNULL((FdoIDescribeSchema*)fdoDecribeSchemaCmd, L"MgdApplySchema.ApplySchema");
+        CHECKNULL((FdoIDescribeSchema*)fdoDecribeSchemaCmd, L"MgPortableApplySchema.ApplySchema");
 
         FdoPtr<FdoFeatureSchemaCollection> schemas = fdoDecribeSchemaCmd->Execute();
-        CHECKNULL((FdoFeatureSchemaCollection*)schemas, L"MgdApplySchema.ApplySchema");
+        CHECKNULL((FdoFeatureSchemaCollection*)schemas, L"MgPortableApplySchema.ApplySchema");
 
         FdoPtr<FdoIApplySchema> fdoApplySchemaCmd = (FdoIApplySchema*)fdoConn->CreateCommand(FdoCommandType_ApplySchema);
-        CHECKNULL((FdoIApplySchema*)fdoApplySchemaCmd, L"MgdApplySchema.ApplySchema");
+        CHECKNULL((FdoIApplySchema*)fdoApplySchemaCmd, L"MgPortableApplySchema.ApplySchema");
 
         STRING schemaName = schema->GetName();
         FdoPtr<FdoFeatureSchema> fdoOldSchema = schemas->FindItem(schemaName.c_str());
@@ -75,7 +75,7 @@
         {
             if (!schema->IsDeleted())
             {
-                FdoPtr<FdoFeatureSchema> fdoNewSchema = MgdFeatureUtil::GetFdoFeatureSchema(schema);
+                FdoPtr<FdoFeatureSchema> fdoNewSchema = MgPortableFeatureUtil::GetFdoFeatureSchema(schema);
                 fdoApplySchemaCmd->SetFeatureSchema(fdoNewSchema);
                 fdoApplySchemaCmd->Execute();
                 bRefresh = true;
@@ -84,7 +84,7 @@
         else
         {
             if (!schema->IsDeleted())
-                MgdFeatureUtil::UpdateFdoFeatureSchema(schema, fdoOldSchema);
+                MgPortableFeatureUtil::UpdateFdoFeatureSchema(schema, fdoOldSchema);
             else
                 fdoOldSchema->Delete();
 
@@ -98,7 +98,7 @@
     // can return the correct schema
     if (bRefresh)
     {
-        MgdFeatureServiceCache* m_cacheManager = MgdFeatureServiceCache::GetInstance();
+        MgPortableFeatureServiceCache* m_cacheManager = MgPortableFeatureServiceCache::GetInstance();
         m_cacheManager->RemoveEntry(resource);
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/ApplySchema.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,18 +18,18 @@
 #ifndef MG_SERVER_APPLY_SCHEMA_H_
 #define MG_SERVER_APPLY_SCHEMA_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 #include "FSDSAX2Parser.h"
 
-class MgdApplySchema
+class MgPortableApplySchema
 {
 /// Constructors/Destructor
 public:
-    MgdApplySchema();
-    ~MgdApplySchema();
+    MgPortableApplySchema();
+    ~MgPortableApplySchema();
 public:
     void ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema);
 };

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/CreateFeatureSource.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,66 +15,66 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "CreateFeatureSource.h"
 #include "Services/Feature/FdoConnectionUtil.h"
 #include "Services/Feature/FeatureUtil.h"
 
-MgdCreateFeatureSource::MgdCreateFeatureSource()
+MgPortableCreateFeatureSource::MgPortableCreateFeatureSource()
 {
 }
 
-MgdCreateFeatureSource::~MgdCreateFeatureSource()
+MgPortableCreateFeatureSource::~MgPortableCreateFeatureSource()
 {
 }
 
-void MgdCreateFeatureSource::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams)
+void MgPortableCreateFeatureSource::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams)
 {
     MG_FEATURE_SERVICE_TRY()
 
     MgFileFeatureSourceParams* params = dynamic_cast<MgFileFeatureSourceParams*>(sourceParams);
-    MgdRdbmsFeatureSourceParams* rdbParams = dynamic_cast<MgdRdbmsFeatureSourceParams*>(sourceParams);
+    MgPortableRdbmsFeatureSourceParams* rdbParams = dynamic_cast<MgPortableRdbmsFeatureSourceParams*>(sourceParams);
     if (NULL != params)
     {
         STRING providerName = params->GetProviderName();
-        Ptr<MgdCreateFileFeatureSource> creator = NULL;    
+        Ptr<MgPortableCreateFileFeatureSource> creator = NULL;    
         if (providerName == L"OSGeo.SDF") // NOXLATE
         {
-            creator = new MgdCreateSdfFeatureSource(resource, params);
+            creator = new MgPortableCreateSdfFeatureSource(resource, params);
             creator->CreateFeatureSource(false, false);
         }
         else if (providerName == L"OSGeo.SHP") // NOXLATE
         {
-            creator = new MgdCreateShpFeatureSource(resource, params);
+            creator = new MgPortableCreateShpFeatureSource(resource, params);
             creator->CreateFeatureSource(true, false);
         }
         else if (providerName == L"OSGeo.SQLite") // NOXLATE
         {
-            creator = new MgdCreateSqliteFeatureSource(resource, params);
+            creator = new MgPortableCreateSqliteFeatureSource(resource, params);
             creator->CreateFeatureSource(false, false);
         }
         else
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (NULL != rdbParams)
     {
         STRING providerName = rdbParams->GetProviderName();
-        Ptr<MgdCreateRdbmsFeatureSource> creator = NULL;
+        Ptr<MgPortableCreateRdbmsFeatureSource> creator = NULL;
         if (providerName == L"OSGeo.MySQL" ||
             providerName == L"OSGeo.SQLServerSpatial" ||
             providerName == L"OSGeo.PostgreSQL")
         {
-            creator = new MgdCreateRdbmsFeatureSource(resource, rdbParams);
+            creator = new MgPortableCreateRdbmsFeatureSource(resource, rdbParams);
             creator->CreateFeatureSource();
         }
         else
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdCreateFeatureSource.CreateFeatureSource")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableCreateFeatureSource.CreateFeatureSource")
 }
 
-MgdCreateFileFeatureSource::MgdCreateFileFeatureSource(
+MgPortableCreateFileFeatureSource::MgPortableCreateFileFeatureSource(
     MgResourceIdentifier* resource,
     MgFileFeatureSourceParams* params)
 {
@@ -85,13 +85,13 @@
     SAFE_ADDREF(params);
 }
 
-MgdCreateFileFeatureSource::~MgdCreateFileFeatureSource()
+MgPortableCreateFileFeatureSource::~MgPortableCreateFileFeatureSource()
 {
     SAFE_RELEASE(m_resource);
     SAFE_RELEASE(m_params);
 }
 
-void MgdCreateFileFeatureSource::CreateFeatureSource(bool bCheckFeatureClass, bool bCheckSpatialContext)
+void MgPortableCreateFileFeatureSource::CreateFeatureSource(bool bCheckFeatureClass, bool bCheckSpatialContext)
 {
     MG_FEATURE_SERVICE_TRY()
 
@@ -103,13 +103,13 @@
     //
     Ptr<MgFeatureSchema> schema = m_params->GetFeatureSchema();
     if(schema == NULL)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingSchema", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingSchema", NULL);
 
     if (bCheckFeatureClass)
     {
         Ptr<MgClassDefinitionCollection> classes = schema->GetClasses();
         if(classes == NULL || classes->GetCount() == 0)
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingClassDef", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingClassDef", NULL);
 
         for(INT32 ci = 0; ci < classes->GetCount(); ci++)
         {
@@ -116,7 +116,7 @@
             Ptr<MgClassDefinition> classDef = classes->GetItem(ci);
             Ptr<MgPropertyDefinitionCollection> idProps = classDef->GetIdentityProperties();
             if(idProps == NULL || idProps->GetCount() == 0)
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgClassWOIdentity", NULL);
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgClassWOIdentity", NULL);
         }
     }
 
@@ -124,7 +124,7 @@
     {
         // A coordinate system must be defined
         if(m_params->GetCoordinateSystemWkt().empty())
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingSrs", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"MgMissingSrs", NULL);
     }
 
     // Connect to provider
@@ -132,23 +132,23 @@
     STRING providerName = m_params->GetProviderName();
     
     
-    Ptr<MgdFeatureConnection> connWrap = new MgdFeatureConnection(providerName, connString);
+    Ptr<MgPortableFeatureConnection> connWrap = new MgPortableFeatureConnection(providerName, connString);
     {
         if(NULL == connWrap.p)
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoIConnection> conn = connWrap->GetConnection();
         if (conn == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableCreateFileFeatureSource.CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         CreateDataStore(conn);
         ApplySchemaAndCreateSpatialContext(conn);
 
-        MgdFdoConnectionUtil::CloseConnection(conn);
+        MgPortableFdoConnectionUtil::CloseConnection(conn);
 
         Ptr<MgResourceService> resourceService = GetResourceService();
         if (NULL != (MgResourceService*)resourceService)
@@ -158,10 +158,10 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::CreateFeatureSource")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::CreateFeatureSource")
 }
 
-void MgdCreateFileFeatureSource::CreateDataStore(
+void MgPortableCreateFileFeatureSource::CreateDataStore(
     FdoIConnection* conn)
 {
     MG_FEATURE_SERVICE_TRY()
@@ -172,10 +172,10 @@
     FdoPtr<FdoIDataStorePropertyDictionary> dsProp = createDsCmd->GetDataStoreProperties();
     dsProp->SetProperty (m_connectParamName.c_str(), m_tempFileName.c_str());
     createDsCmd->Execute();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::CreateDataStore")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::CreateDataStore")
 }
 
-void MgdCreateFileFeatureSource::ApplySchemaAndCreateSpatialContextInternal(FdoIConnection* conn)
+void MgPortableCreateFileFeatureSource::ApplySchemaAndCreateSpatialContextInternal(FdoIConnection* conn)
 {
     MG_FEATURE_SERVICE_TRY()
     // Create the spatialcontext
@@ -192,14 +192,14 @@
 
     // Create and set the schema
     Ptr<MgFeatureSchema> featureSchema = m_params->GetFeatureSchema();
-    FdoPtr<FdoFeatureSchema> fdoSchema = MgdFeatureUtil::GetFdoFeatureSchema(featureSchema);
+    FdoPtr<FdoFeatureSchema> fdoSchema = MgPortableFeatureUtil::GetFdoFeatureSchema(featureSchema);
     FdoPtr<FdoIApplySchema> applyschema = (FdoIApplySchema*)conn->CreateCommand(FdoCommandType_ApplySchema);
     applyschema->SetFeatureSchema(fdoSchema);
     applyschema->Execute();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::ApplySchemaAndCreateSpatialContextInternal")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::ApplySchemaAndCreateSpatialContextInternal")
 }
 
-void MgdCreateFileFeatureSource::ApplySchemaAndCreateSpatialContext(FdoIConnection* conn)
+void MgPortableCreateFileFeatureSource::ApplySchemaAndCreateSpatialContext(FdoIConnection* conn)
 {
     MG_FEATURE_SERVICE_TRY()
     // Open the connection to the newly created file
@@ -208,10 +208,10 @@
     conn->Open();
 
     ApplySchemaAndCreateSpatialContextInternal(conn);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::ApplySchemaAndCreateSpatialContext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::ApplySchemaAndCreateSpatialContext")
 }
 
-STRING MgdCreateFileFeatureSource::GetFileName() const
+STRING MgPortableCreateFileFeatureSource::GetFileName() const
 {
     STRING fileName = m_params->GetFileName();
     if (fileName.empty())
@@ -221,7 +221,7 @@
 }
 
 
-void MgdCreateFileFeatureSource::SetFeatureSourceDefinition(MgResourceService* resourceService)
+void MgPortableCreateFileFeatureSource::SetFeatureSourceDefinition(MgResourceService* resourceService)
 {
     MG_FEATURE_SERVICE_TRY()
     STRING fileName = GetFileName();
@@ -236,10 +236,10 @@
     Ptr<MgByteSource> xmlSource = new MgByteSource((BYTE_ARRAY_IN) utf8Text.c_str(), (INT32)utf8Text.length());
     Ptr<MgByteReader> xmlReader = xmlSource->GetReader();
     resourceService->SetResource(m_resource, xmlReader, NULL);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::SetFeatureSourceDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::SetFeatureSourceDefinition")
 }
 
-void MgdCreateFileFeatureSource::SetResourceDataInternal(MgResourceService* resourceService,
+void MgPortableCreateFileFeatureSource::SetResourceDataInternal(MgResourceService* resourceService,
                                                         STRING source,
                                                         STRING target)
 {
@@ -247,36 +247,36 @@
     Ptr<MgByteSource> byteSource = new MgByteSource(source, true);
     Ptr<MgByteReader> reader = byteSource->GetReader();
     resourceService->SetResourceData(m_resource, target, MgResourceDataType::File, reader);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::SetResourceDataInternal")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::SetResourceDataInternal")
 }
 
-void MgdCreateFileFeatureSource::SetResourceData(MgResourceService* resourceService)
+void MgPortableCreateFileFeatureSource::SetResourceData(MgResourceService* resourceService)
 {
     MG_FEATURE_SERVICE_TRY()
     STRING target = GetFileName();
     SetResourceDataInternal(resourceService, m_tempFileName, target);
     MgFileUtil::DeleteFile(m_tempFileName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateFileFeatureSource::SetResourceData")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateFileFeatureSource::SetResourceData")
 }
 
-MgResourceService* MgdCreateFileFeatureSource::GetResourceService()
+MgResourceService* MgPortableCreateFileFeatureSource::GetResourceService()
 {
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
     return static_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
 }
 
-STRING MgdCreateFileFeatureSource::GetFirstConnectionString()
+STRING MgPortableCreateFileFeatureSource::GetFirstConnectionString()
 {
     return L"";
 }
 
-STRING MgdCreateFileFeatureSource::GetSecondConnectionString()
+STRING MgPortableCreateFileFeatureSource::GetSecondConnectionString()
 {
     STRING connstr = m_connectParamName + L"=" + m_tempFileName;  // NOXLATE
     return connstr;
 }
 
-STRING MgdCreateFileFeatureSource::GetFeatureSourceParameterString() const
+STRING MgPortableCreateFileFeatureSource::GetFeatureSourceParameterString() const
 {
     STRING fileName = GetFileName();
     STRING featureSource = L"  <Parameter>\n    <Name>" + m_connectParamName + L"</Name>\n"; // NOXLATE
@@ -285,25 +285,25 @@
     return featureSource;
 }
 
-void MgdCreateFileFeatureSource::Dispose()
+void MgPortableCreateFileFeatureSource::Dispose()
 {
     delete this;
 }
 
-MgdCreateSdfFeatureSource::MgdCreateSdfFeatureSource(
+MgPortableCreateSdfFeatureSource::MgPortableCreateSdfFeatureSource(
     MgResourceIdentifier* resource,
     MgFileFeatureSourceParams* params):
-    MgdCreateFileFeatureSource(resource, params)
+    MgPortableCreateFileFeatureSource(resource, params)
 {
     m_fileExtension = L"sdf";  // NOXLATE
     m_connectParamName = L"File";  // NOXLATE
 }
 
-MgdCreateSdfFeatureSource::~MgdCreateSdfFeatureSource()
+MgPortableCreateSdfFeatureSource::~MgPortableCreateSdfFeatureSource()
 {
 }
 
-STRING MgdCreateSdfFeatureSource::GetFeatureSourceParameterString() const
+STRING MgPortableCreateSdfFeatureSource::GetFeatureSourceParameterString() const
 {
     STRING fileName = GetFileName();
     STRING featureSource = L"  <Parameter>\n    <Name>" + m_connectParamName + L"</Name>\n"; // NOXLATE
@@ -316,20 +316,20 @@
     return featureSource;
 }
 
-MgdCreateShpFeatureSource::MgdCreateShpFeatureSource(
+MgPortableCreateShpFeatureSource::MgPortableCreateShpFeatureSource(
     MgResourceIdentifier* resource,
     MgFileFeatureSourceParams* params):
-    MgdCreateFileFeatureSource(resource, params)
+    MgPortableCreateFileFeatureSource(resource, params)
 {
     m_fileExtension = L"shp";  // NOXLATE
     m_connectParamName = L"DefaultFileLocation";  // NOXLATE
 }
 
-MgdCreateShpFeatureSource::~MgdCreateShpFeatureSource()
+MgPortableCreateShpFeatureSource::~MgPortableCreateShpFeatureSource()
 {
 }
 
-void MgdCreateShpFeatureSource::CreateDataStore(
+void MgPortableCreateShpFeatureSource::CreateDataStore(
     FdoIConnection* conn)
 {
     // Do nothing because SHP files are created by FdoIApplySchema command.
@@ -336,14 +336,14 @@
 }
 
 
-void MgdCreateShpFeatureSource::ApplySchemaAndCreateSpatialContext(FdoIConnection* conn)
+void MgPortableCreateShpFeatureSource::ApplySchemaAndCreateSpatialContext(FdoIConnection* conn)
 {
     MG_FEATURE_SERVICE_TRY()
     ApplySchemaAndCreateSpatialContextInternal(conn);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateShpFeatureSource::ApplySchemaAndCreateSpatialContext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateShpFeatureSource::ApplySchemaAndCreateSpatialContext")
 }
 
-void MgdCreateShpFeatureSource::SetResourceData(MgResourceService* resourceService)
+void MgPortableCreateShpFeatureSource::SetResourceData(MgResourceService* resourceService)
 {
     MG_FEATURE_SERVICE_TRY()
     Ptr<MgStringCollection> sourceFiles = new MgStringCollection();
@@ -357,10 +357,10 @@
         SetResourceDataInternal(resourceService, sourceFiles->GetItem(i), targetFiles->GetItem(i));
     }
     MgFileUtil::DeleteDirectory(m_tempFileName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateShpFeatureSource::SetResourceData")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateShpFeatureSource::SetResourceData")
 }
 
-STRING MgdCreateShpFeatureSource::GetFirstConnectionString()
+STRING MgPortableCreateShpFeatureSource::GetFirstConnectionString()
 {
     // For SHP feature source, m_tempFileName saves a temporary path
     // instead of a temporary file name.
@@ -369,7 +369,7 @@
     return connstr;
 }
 
-STRING MgdCreateShpFeatureSource::GetSecondConnectionString()
+STRING MgPortableCreateShpFeatureSource::GetSecondConnectionString()
 {
     if (m_tempFileName.empty())
         m_tempFileName = MgFileUtil::GenerateTempPath();
@@ -377,7 +377,7 @@
     return connstr;
 }
 
-STRING MgdCreateShpFeatureSource::GetFeatureSourceParameterString() const
+STRING MgPortableCreateShpFeatureSource::GetFeatureSourceParameterString() const
 {
     STRING featureSource = L"  <Parameter>\n    <Name>" + m_connectParamName + L"</Name>\n"; // NOXLATE
     featureSource += L"     <Value>%MG_DATA_FILE_PATH%</Value>\n"; // NOXLATE
@@ -385,26 +385,26 @@
     return featureSource;
 }
 
-MgdCreateSqliteFeatureSource::MgdCreateSqliteFeatureSource(
+MgPortableCreateSqliteFeatureSource::MgPortableCreateSqliteFeatureSource(
     MgResourceIdentifier* resource,
     MgFileFeatureSourceParams* params):
-    MgdCreateFileFeatureSource(resource, params)
+    MgPortableCreateFileFeatureSource(resource, params)
 {
     m_fileExtension = L"sqlite";  // NOXLATE
     m_connectParamName = L"File";  // NOXLATE
 }
 
-MgdCreateSqliteFeatureSource::~MgdCreateSqliteFeatureSource()
+MgPortableCreateSqliteFeatureSource::~MgPortableCreateSqliteFeatureSource()
 {
 }
 
-STRING MgdCreateSqliteFeatureSource::GetSecondConnectionString()
+STRING MgPortableCreateSqliteFeatureSource::GetSecondConnectionString()
 {
     STRING connstr = m_connectParamName + L"=" + m_tempFileName + L";UseFdoMetadata=true";  // NOXLATE
     return connstr;
 }
 
-STRING MgdCreateSqliteFeatureSource::GetFeatureSourceParameterString() const
+STRING MgPortableCreateSqliteFeatureSource::GetFeatureSourceParameterString() const
 {
     STRING fileName = GetFileName();
     STRING featureSource = L"  <Parameter>\n"; // NOXLATE
@@ -418,7 +418,7 @@
     return featureSource;
 }
 
-MgdCreateRdbmsFeatureSource::MgdCreateRdbmsFeatureSource(MgResourceIdentifier* resource, MgdRdbmsFeatureSourceParams* params)
+MgPortableCreateRdbmsFeatureSource::MgPortableCreateRdbmsFeatureSource(MgResourceIdentifier* resource, MgPortableRdbmsFeatureSourceParams* params)
 {
     m_resource = resource;
     SAFE_ADDREF(resource);
@@ -427,13 +427,13 @@
     SAFE_ADDREF(params);
 }
 
-MgdCreateRdbmsFeatureSource::~MgdCreateRdbmsFeatureSource()
+MgPortableCreateRdbmsFeatureSource::~MgPortableCreateRdbmsFeatureSource()
 {
     SAFE_RELEASE(m_resource);
     SAFE_RELEASE(m_params);
 }
 
-void MgdCreateRdbmsFeatureSource::CreateFeatureSource() 
+void MgPortableCreateRdbmsFeatureSource::CreateFeatureSource() 
 {
     MG_FEATURE_SERVICE_TRY()
     STRING provider = m_params->GetProviderName();
@@ -450,7 +450,7 @@
     if (!password.empty())
         connStr += L";Password=" + password;
 
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(provider, connStr);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(provider, connStr);
     {
         FdoPtr<FdoIConnection> fdoConn = conn->GetConnection();
 
@@ -467,9 +467,9 @@
 
         connStr += L";DataStore=" + dataStore;
         //Amend connection string to incorporate the created data store
-        conn = new MgdFeatureConnection(provider, connStr);
+        conn = new MgPortableFeatureConnection(provider, connStr);
         if (!conn->IsConnectionOpen())
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdCreateRdbmsFeatureSource::CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableCreateRdbmsFeatureSource::CreateFeatureSource", __LINE__, __WFILE__, NULL, L"", NULL);
 
         fdoConn = conn->GetConnection();
 
@@ -480,7 +480,7 @@
         
         //Extents is required for RDBMS data stores
         Ptr<MgEnvelope> extents = m_params->GetSpatialContextExtents();
-        CHECKNULL((MgEnvelope*)extents, L"MgdCreateRdbmsFeatureSource::CreateFeatureSource");
+        CHECKNULL((MgEnvelope*)extents, L"MgPortableCreateRdbmsFeatureSource::CreateFeatureSource");
 
         Ptr<MgCoordinate> extentsLL = extents->GetLowerLeftCoordinate();
         Ptr<MgCoordinate> extentsUR = extents->GetUpperRightCoordinate();
@@ -517,20 +517,20 @@
         //are correctly pointing to the name of the spatial context we just 
         //created?
 
-        MgdFeatureUtil::UpdateFdoFeatureSchema(mgSchema, fdoSchema);
+        MgPortableFeatureUtil::UpdateFdoFeatureSchema(mgSchema, fdoSchema);
         apply->SetFeatureSchema(fdoSchema);
         apply->Execute();
 
         WriteFeatureSourceContent();
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateRdbmsFeatureSource::CreateFeatureSource")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateRdbmsFeatureSource::CreateFeatureSource")
 }
 
-void MgdCreateRdbmsFeatureSource::WriteFeatureSourceContent()
+void MgPortableCreateRdbmsFeatureSource::WriteFeatureSourceContent()
 {
     MG_FEATURE_SERVICE_TRY()
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    Ptr<MgdResourceService> resSvc = static_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    Ptr<MgPortableResourceService> resSvc = static_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
 
     STRING xml = L"<FeatureSource xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FeatureSource-1.0.0.xsd\" version=\"1.0.0\">\n"; // NOXLATE
     xml += L"  <Provider>" + m_params->GetProviderName() + L"</Provider>\n"; // NOXLATE
@@ -545,7 +545,7 @@
     Ptr<MgByteSource> xmlSource = new MgByteSource((BYTE_ARRAY_IN) utf8Text.c_str(), (INT32)utf8Text.length());
     Ptr<MgByteReader> xmlReader = xmlSource->GetReader();
     resSvc->SetResource(m_resource, xmlReader, NULL);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdCreateRdbmsFeatureSource::WriteFeatureSourceContent")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableCreateRdbmsFeatureSource::WriteFeatureSourceContent")
 }
 
-void MgdCreateRdbmsFeatureSource::Dispose() { delete this; }
\ No newline at end of file
+void MgPortableCreateRdbmsFeatureSource::Dispose() { delete this; }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/CreateFeatureSource.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,21 +25,21 @@
 class MgFileFeatureSourceParams;
 template class FdoPtr<FdoIConnection>;
 
-class MgdCreateFeatureSource : public MgGuardDisposable
+class MgPortableCreateFeatureSource : public MgGuardDisposable
 {
 public:
-    MgdCreateFeatureSource();
-    virtual ~MgdCreateFeatureSource();
+    MgPortableCreateFeatureSource();
+    virtual ~MgPortableCreateFeatureSource();
     void CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams);
 
     virtual void Dispose() { delete this; }
 };
 
-class MgdCreateRdbmsFeatureSource : public MgGuardDisposable
+class MgPortableCreateRdbmsFeatureSource : public MgGuardDisposable
 {
 public:
-    MgdCreateRdbmsFeatureSource(MgResourceIdentifier* resource, MgdRdbmsFeatureSourceParams* params);
-    virtual ~MgdCreateRdbmsFeatureSource();
+    MgPortableCreateRdbmsFeatureSource(MgResourceIdentifier* resource, MgPortableRdbmsFeatureSourceParams* params);
+    virtual ~MgPortableCreateRdbmsFeatureSource();
 
     void CreateFeatureSource();
     virtual void Dispose();
@@ -48,14 +48,14 @@
     void WriteFeatureSourceContent();
 
     MgResourceIdentifier* m_resource;
-    MgdRdbmsFeatureSourceParams* m_params;
+    MgPortableRdbmsFeatureSourceParams* m_params;
 };
 
-class MgdCreateFileFeatureSource : public MgGuardDisposable
+class MgPortableCreateFileFeatureSource : public MgGuardDisposable
 {
 public:
-    MgdCreateFileFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
-    virtual ~MgdCreateFileFeatureSource();
+    MgPortableCreateFileFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
+    virtual ~MgPortableCreateFileFeatureSource();
     void CreateFeatureSource(bool bCheckFeatureClass = false, bool bCheckSpatialContext = false);
     virtual void Dispose();
 
@@ -82,20 +82,20 @@
     MgFileFeatureSourceParams* m_params;
 };
 
-class MgdCreateSdfFeatureSource: public MgdCreateFileFeatureSource
+class MgPortableCreateSdfFeatureSource: public MgPortableCreateFileFeatureSource
 {
 public:
-    MgdCreateSdfFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
-    virtual ~MgdCreateSdfFeatureSource();
+    MgPortableCreateSdfFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
+    virtual ~MgPortableCreateSdfFeatureSource();
 protected:
     virtual STRING GetFeatureSourceParameterString() const;
 };
 
-class MgdCreateShpFeatureSource: public MgdCreateFileFeatureSource
+class MgPortableCreateShpFeatureSource: public MgPortableCreateFileFeatureSource
 {
 public:
-    MgdCreateShpFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
-    virtual ~MgdCreateShpFeatureSource();
+    MgPortableCreateShpFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
+    virtual ~MgPortableCreateShpFeatureSource();
 protected:
     virtual void CreateDataStore(FdoIConnection* conn);
     virtual void ApplySchemaAndCreateSpatialContext(FdoIConnection* conn);
@@ -105,11 +105,11 @@
     virtual STRING GetFeatureSourceParameterString() const;
 };
 
-class MgdCreateSqliteFeatureSource: public MgdCreateFileFeatureSource
+class MgPortableCreateSqliteFeatureSource: public MgPortableCreateFileFeatureSource
 {
 public:
-    MgdCreateSqliteFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
-    virtual ~MgdCreateSqliteFeatureSource();
+    MgPortableCreateSqliteFeatureSource(MgResourceIdentifier* resource, MgFileFeatureSourceParams* params);
+    virtual ~MgPortableCreateSqliteFeatureSource();
 protected:
     virtual STRING GetSecondConnectionString();
     virtual STRING GetFeatureSourceParameterString() const;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DeleteCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "Services/Feature/FeatureConnection.h"
 #include "FeatureManipulationCommand.h"
@@ -24,28 +24,28 @@
 #include "Services/Feature/FeatureUtil.h"
 #include "Services/FeatureReader.h"
 
-MgdDeleteCommand::MgdDeleteCommand()
+MgPortableDeleteCommand::MgPortableDeleteCommand()
 {
     m_srvrFeatConn = NULL;
     m_featCommand = NULL;
 }
 
-MgdDeleteCommand::MgdDeleteCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId)
+MgPortableDeleteCommand::MgPortableDeleteCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId)
 {
-    CHECKNULL(command, L"MgdDeleteCommand.MgdDeleteCommand");
-    CHECKNULL(connection, L"MgdDeleteCommand.MgdDeleteCommand");
+    CHECKNULL(command, L"MgPortableDeleteCommand.MgPortableDeleteCommand");
+    CHECKNULL(connection, L"MgPortableDeleteCommand.MgPortableDeleteCommand");
 
-    m_srvrFeatConn = SAFE_ADDREF((MgdFeatureConnection*)connection);
+    m_srvrFeatConn = SAFE_ADDREF((MgPortableFeatureConnection*)connection);
     m_featCommand = SAFE_ADDREF((MgDeleteFeatures*)command);
     m_cmdId = cmdId;
 }
 
-MgdDeleteCommand::~MgdDeleteCommand()
+MgPortableDeleteCommand::~MgPortableDeleteCommand()
 {
     m_srvrFeatConn = NULL;
 }
 
-MgProperty* MgdDeleteCommand::Execute()
+MgProperty* MgPortableDeleteCommand::Execute()
 {
     STRING clsName = m_featCommand->GetFeatureClassName();
     STRING filterText = m_featCommand->GetFilterText();
@@ -54,7 +54,7 @@
 
     // Create the SQL command
     FdoPtr<FdoIDelete> fdoCommand = (FdoIDelete*)fdoConn->CreateCommand(FdoCommandType_Delete);
-    CHECKNULL((FdoIDelete*)fdoCommand, L"MgdDeleteCommand.Execute");
+    CHECKNULL((FdoIDelete*)fdoCommand, L"MgPortableDeleteCommand.Execute");
 
     fdoCommand->SetFeatureClassName(clsName.c_str());
     fdoCommand->SetFilter(filterText.c_str());

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DeleteCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,21 +18,21 @@
 #ifndef _MG_SERVER_DELETE_COMMAND_H_
 #define _MG_SERVER_DELETE_COMMAND_H_
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-class MgdDeleteCommand : public MgdFeatureManipulationCommand
+class MgPortableDeleteCommand : public MgPortableFeatureManipulationCommand
 {
-    DECLARE_CLASSNAME(MgdDeleteCommand)
+    DECLARE_CLASSNAME(MgPortableDeleteCommand)
 
 public:
-    MgdDeleteCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId);
+    MgPortableDeleteCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId);
     virtual MgProperty* Execute();
 protected:
-    MgdDeleteCommand();
-    ~MgdDeleteCommand();
+    MgPortableDeleteCommand();
+    ~MgPortableDeleteCommand();
 private:
     Ptr<MgDeleteFeatures> m_featCommand;
-    Ptr<MgdFeatureConnection> m_srvrFeatConn;
+    Ptr<MgPortableFeatureConnection> m_srvrFeatConn;
     INT32 m_cmdId;
 };
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,18 +25,18 @@
 #include "Services/Feature/FeatureServiceCache.h"
 
 //////////////////////////////////////////////////////////////////
-MgdDescribeSchema::MgdDescribeSchema()
+MgPortableDescribeSchema::MgPortableDescribeSchema()
 {
-    m_featureServiceCache = MgdFeatureServiceCache::GetInstance();
+    m_featureServiceCache = MgPortableFeatureServiceCache::GetInstance();
 }
 
 //////////////////////////////////////////////////////////////////
-MgdDescribeSchema::~MgdDescribeSchema()
+MgPortableDescribeSchema::~MgPortableDescribeSchema()
 {
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-FdoFeatureSchemaCollection* MgdDescribeSchema::DescribeFdoSchema(MgResourceIdentifier* resource,
+FdoFeatureSchemaCollection* MgPortableDescribeSchema::DescribeFdoSchema(MgResourceIdentifier* resource,
     CREFSTRING schemaName, MgStringCollection* classNames, bool& classNameHintUsed)
 {
     // IMPORTANT INFORMATION
@@ -48,11 +48,11 @@
     MG_FEATURE_SERVICE_TRY()
 
     // Connect to provider
-    Ptr<MgdFeatureConnection> connection = new MgdFeatureConnection(resource);
+    Ptr<MgPortableFeatureConnection> connection = new MgPortableFeatureConnection(resource);
 
     if ((NULL != connection.p) && (connection->IsConnectionOpen()))
     {
-        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
         // otherwise it leaves the FDO connection marked as still in use.
         FdoPtr<FdoIConnection> fdoConn = connection->GetConnection();
 
@@ -69,7 +69,7 @@
             fdoCommand->SetSchemaName(schemaName.c_str());
         }
 
-        FdoPtr<FdoStringCollection> fdoClassNames = MgdFeatureUtil::MgToFdoStringCollection(classNames, false);
+        FdoPtr<FdoStringCollection> fdoClassNames = MgPortableFeatureUtil::MgToFdoStringCollection(classNames, false);
 
         if (NULL != fdoClassNames.p && fdoClassNames->GetCount() > 0)
         {
@@ -78,7 +78,7 @@
 
         // Execute the command
         ffsc = fdoCommand->Execute();
-        CHECKNULL((FdoFeatureSchemaCollection*)ffsc, L"MgdDescribeSchema.DescribeFdoSchema");
+        CHECKNULL((FdoFeatureSchemaCollection*)ffsc, L"MgPortableDescribeSchema.DescribeFdoSchema");
 
         // Finished with primary feature source, so now cycle through any secondary sources
         if (NULL == m_featureSourceCacheItem.p)
@@ -87,15 +87,15 @@
         }
 
         MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
-        CHECKNULL(featureSource, L"MgdDescribeSchema.DescribeFdoSchema");
+        CHECKNULL(featureSource, L"MgPortableDescribeSchema.DescribeFdoSchema");
         MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-        CHECKNULL(extensions, L"MgdDescribeSchema.DescribeFdoSchema");
+        CHECKNULL(extensions, L"MgPortableDescribeSchema.DescribeFdoSchema");
         int extensionCount = extensions->GetCount();
 
         for (int i = 0; i < extensionCount; i++)
         {
             MdfModel::Extension* extension = extensions->GetAt(i);
-            CHECKNULL(extension, L"MgdDescribeSchema.DescribeFdoSchema");
+            CHECKNULL(extension, L"MgPortableDescribeSchema.DescribeFdoSchema");
 
             // Get the extension name
             STRING extensionName = (STRING)extension->GetName();
@@ -102,13 +102,13 @@
 
             // Determine the number of secondary sources (AttributeRelates)
             MdfModel::AttributeRelateCollection* attributeRelates = extension->GetAttributeRelates();
-            CHECKNULL(attributeRelates, L"MgdDescribeSchema.DescribeFdoSchema");
+            CHECKNULL(attributeRelates, L"MgPortableDescribeSchema.DescribeFdoSchema");
             int nAttributeRelates = attributeRelates->GetCount();
 
             for (int arIndex = 0; arIndex < nAttributeRelates; arIndex++)
             {
                 MdfModel::AttributeRelate* attributeRelate = attributeRelates->GetAt(arIndex);
-                CHECKNULL(attributeRelate, L"MgdDescribeSchema.DescribeFdoSchema");
+                CHECKNULL(attributeRelate, L"MgPortableDescribeSchema.DescribeFdoSchema");
 
                 // get the resource id of the secondary feature source
                 STRING secondaryResourceId = (STRING)attributeRelate->GetResourceId();
@@ -129,16 +129,16 @@
                 if (NULL != secondaryFeatureSource)
                 {
                     FdoPtr<FdoFeatureSchemaCollection> ffsc2;
-                    Ptr<MgdFeatureConnection> connection2 = new MgdFeatureConnection(secondaryFeatureSource);
+                    Ptr<MgPortableFeatureConnection> connection2 = new MgPortableFeatureConnection(secondaryFeatureSource);
 
                     if ((NULL != connection2.p) && ( connection2->IsConnectionOpen() ))
                     {
-                        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+                        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
                         // otherwise it leaves the FDO connection marked as still in use.
                         FdoPtr<FdoIConnection> fdoConn2 = connection2->GetConnection();
                         // Check whether this command is supported by the provider
                         FdoPtr<FdoIDescribeSchema> fdoCommand2 = (FdoIDescribeSchema*)fdoConn2->CreateCommand(FdoCommandType_DescribeSchema);
-                        CHECKNULL((FdoIDescribeSchema*)fdoCommand2, L"MgdDescribeSchema.DescribeFdoSchema");
+                        CHECKNULL((FdoIDescribeSchema*)fdoCommand2, L"MgPortableDescribeSchema.DescribeFdoSchema");
 
                         if (!secSchemaName.empty())
                         {
@@ -155,7 +155,7 @@
 
                         // Execute the command
                         ffsc2 = fdoCommand2->Execute();
-                        CHECKNULL((FdoFeatureSchemaCollection*)ffsc2, L"MgdDescribeSchema.DescribeFdoSchema");
+                        CHECKNULL((FdoFeatureSchemaCollection*)ffsc2, L"MgPortableDescribeSchema.DescribeFdoSchema");
 
                         if (!secSchemaName.empty())
                         {
@@ -200,7 +200,7 @@
                     }
                     else
                     {
-                        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdDescribeSchema.DescribeFdoSchema", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableDescribeSchema.DescribeFdoSchema", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
 
@@ -210,16 +210,16 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdDescribeSchema.DescribeFdoSchema", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableDescribeSchema.DescribeFdoSchema", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdDescribeSchema.DescribeFdoSchema")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableDescribeSchema.DescribeFdoSchema")
 
     return ffsc.Detach();
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgFeatureSchemaCollection* MgdDescribeSchema::DescribeSchema(MgResourceIdentifier* resource,
+MgFeatureSchemaCollection* MgPortableDescribeSchema::DescribeSchema(MgResourceIdentifier* resource,
     CREFSTRING schemaName, MgStringCollection* classNames, bool serialize)
 {
     Ptr<MgFeatureSchemaCollection> fsCollection;
@@ -235,7 +235,7 @@
         bool classNameHintUsed = true;
         FdoPtr<FdoFeatureSchemaCollection> ffsc =
             DescribeFdoSchema(resource, schemaName, classNames, classNameHintUsed);
-        CHECKNULL(ffsc.p, L"MgdDescribeSchema.DescribeSchema");
+        CHECKNULL(ffsc.p, L"MgPortableDescribeSchema.DescribeSchema");
 
         // Get schema count
         FdoInt32 schemaCount = ffsc->GetCount();
@@ -285,7 +285,7 @@
 
                 if (name != NULL && qname != NULL)
                 {
-                    Ptr<MgClassDefinition> classDefinition = MgdFeatureUtil::GetMgClassDefinition(fc, serialize);
+                    Ptr<MgClassDefinition> classDefinition = MgPortableFeatureUtil::GetMgClassDefinition(fc, serialize);
                     classCol->Add(classDefinition);
                 }
             }
@@ -300,9 +300,9 @@
             }
 
             MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
-            CHECKNULL(featureSource, L"MgdDescribeSchema.DescribeSchema");
+            CHECKNULL(featureSource, L"MgPortableDescribeSchema.DescribeSchema");
             MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-            CHECKNULL(extensions, L"MgdDescribeSchema.DescribeSchema");
+            CHECKNULL(extensions, L"MgPortableDescribeSchema.DescribeSchema");
             int extensionCount = extensions->GetCount();
 
             for (int i = 0; i < extensionCount; i++)
@@ -311,7 +311,7 @@
                 FdoPtr<FdoClassDefinition> originalClassDef;
 
                 MdfModel::Extension* extension = extensions->GetAt(i);
-                CHECKNULL(extension, L"MgdDescribeSchema.DescribeSchema");
+                CHECKNULL(extension, L"MgPortableDescribeSchema.DescribeSchema");
 
                 // Get the extension name
                 STRING extensionName = (STRING)extension->GetName();
@@ -353,7 +353,7 @@
                         if (className == primClassName)
                         {
                             // get the class definition
-                            extClassDefinition = MgdFeatureUtil::GetMgClassDefinition(originalClassDef, serialize);
+                            extClassDefinition = MgPortableFeatureUtil::GetMgClassDefinition(originalClassDef, serialize);
                             break;
                         }
                     }
@@ -400,7 +400,7 @@
                                 {
                                     STRING namePropStr = STRING(nameExpr.c_str());
                                     Ptr<MgDataPropertyDefinition> propDefExpr = new MgDataPropertyDefinition(namePropStr);
-                                    propDefExpr->SetDataType(MgdFeatureUtil::GetMgPropertyType(retDataType));
+                                    propDefExpr->SetDataType(MgPortableFeatureUtil::GetMgPropertyType(retDataType));
                                     propDefExpr->SetNullable(true);
                                     propDefExpr->SetReadOnly(true);
                                     propDefExpr->SetAutoGeneration(false);
@@ -417,7 +417,7 @@
 
                 // Determine the number of secondary sources (AttributeRelates)
                 MdfModel::AttributeRelateCollection* attributeRelates = extension->GetAttributeRelates();
-                CHECKNULL(attributeRelates, L"MgdDescribeSchema.DescribeSchema");
+                CHECKNULL(attributeRelates, L"MgPortableDescribeSchema.DescribeSchema");
                 int nAttributeRelateCount = attributeRelates->GetCount();
 
                 for (int arIndex = 0; arIndex < nAttributeRelateCount; arIndex++)
@@ -424,7 +424,7 @@
                 {
                     // get the attribute relate
                     MdfModel::AttributeRelate* attributeRelate = attributeRelates->GetAt(arIndex);
-                    CHECKNULL(attributeRelate, L"MgdDescribeSchema.DescribeSchema");
+                    CHECKNULL(attributeRelate, L"MgPortableDescribeSchema.DescribeSchema");
 
                     // Get the name of the secondary feature class (AttributeClass)
                     STRING attributeClass = (STRING)attributeRelate->GetAttributeClass();
@@ -447,16 +447,16 @@
                     if (NULL != secondaryFeatureSource)
                     {
                         FdoPtr<FdoFeatureSchemaCollection> ffsc2;
-                        Ptr<MgdFeatureConnection> connection2 = new MgdFeatureConnection(secondaryFeatureSource);
+                        Ptr<MgPortableFeatureConnection> connection2 = new MgPortableFeatureConnection(secondaryFeatureSource);
 
                         if ((NULL != connection2.p) && ( connection2->IsConnectionOpen() ))
                         {
-                            // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+                            // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
                             // otherwise it leaves the FDO connection marked as still in use.
                             FdoPtr<FdoIConnection> fdoConn2 = connection2->GetConnection();
                             // Get the schema collection for the secondary resource
                             FdoPtr<FdoIDescribeSchema> fdoCommand2  = (FdoIDescribeSchema*)fdoConn2->CreateCommand(FdoCommandType_DescribeSchema);
-                            CHECKNULL((FdoIDescribeSchema*)fdoCommand2, L"MgdDescribeSchema.DescribeSchema");
+                            CHECKNULL((FdoIDescribeSchema*)fdoCommand2, L"MgPortableDescribeSchema.DescribeSchema");
 
                             if (!secSchemaName.empty())
                             {
@@ -473,7 +473,7 @@
 
                             // Execute the command
                             ffsc2 = fdoCommand2->Execute();
-                            CHECKNULL((FdoFeatureSchemaCollection*)ffsc2, L"MgdDescribeSchema.DescribeSchema");
+                            CHECKNULL((FdoFeatureSchemaCollection*)ffsc2, L"MgPortableDescribeSchema.DescribeSchema");
 
                             int nSecSchemaCnt = (int)ffsc2->GetCount();
 
@@ -516,7 +516,7 @@
                                     }
 
                                     // get the secondary class definition
-                                    Ptr<MgClassDefinition> classDefinition = MgdFeatureUtil::GetMgClassDefinition(fc, serialize);
+                                    Ptr<MgClassDefinition> classDefinition = MgPortableFeatureUtil::GetMgClassDefinition(fc, serialize);
 
                                     // retrieve the secondary properties and prefix them with the relation name
                                     Ptr<MgPropertyDefinitionCollection> mpdc2 = classDefinition->GetProperties();
@@ -546,7 +546,7 @@
                         }
                         else
                         {
-                            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdDescribeSchema.DescribeSchema", __LINE__, __WFILE__, NULL, L"", NULL);
+                            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableDescribeSchema.DescribeSchema", __LINE__, __WFILE__, NULL, L"", NULL);
                         }
 
                     }  // end if (NULL != secFeatureSource)
@@ -575,7 +575,7 @@
         //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdDescribeSchema.DescribeSchema")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableDescribeSchema.DescribeSchema")
 
     return fsCollection.Detach();
 }
@@ -583,7 +583,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Executes the describe schema command and serializes the schema to XML
 ///
-STRING MgdDescribeSchema::DescribeSchemaAsXml(MgResourceIdentifier* resource,
+STRING MgPortableDescribeSchema::DescribeSchemaAsXml(MgResourceIdentifier* resource,
     CREFSTRING schemaName, MgStringCollection* classNames)
 {
     STRING schemaXml;
@@ -639,7 +639,7 @@
         //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdDescribeSchema.DescribeSchemaAsXml", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableDescribeSchema.DescribeSchemaAsXml", resource)
 
     return schemaXml;
 }
@@ -647,7 +647,7 @@
 
 //////////////////////////////////////////////////////////////////
 // Converts MgFeatureSchemaCollection to XML
-STRING MgdDescribeSchema::SchemaToXml(MgFeatureSchemaCollection* schema)
+STRING MgPortableDescribeSchema::SchemaToXml(MgFeatureSchemaCollection* schema)
 {
     STRING xmlSchema;
 
@@ -655,16 +655,16 @@
 
     if (NULL == schema)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDescribeSchema.SchemaToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDescribeSchema.SchemaToXml", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    CHECKNULL((MgFeatureSchemaCollection*)schema, L"MgdDescribeSchema.SchemaToXml");
+    CHECKNULL((MgFeatureSchemaCollection*)schema, L"MgPortableDescribeSchema.SchemaToXml");
 
-    FdoPtr<FdoFeatureSchemaCollection> fdoSchemaCol = MgdFeatureUtil::GetFdoFeatureSchemaCollection(schema);
+    FdoPtr<FdoFeatureSchemaCollection> fdoSchemaCol = MgPortableFeatureUtil::GetFdoFeatureSchemaCollection(schema);
 
     xmlSchema = GetSerializedXml(fdoSchemaCol);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.SchemaToXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.SchemaToXml")
 
     return xmlSchema;
 }
@@ -671,7 +671,7 @@
 
 //////////////////////////////////////////////////////////////////
 // Converts MgFeatureSchemaCollection to XML with specified namespacePrefix and namespaceURL (Just used for OGC WFS certification)
-STRING MgdDescribeSchema::SchemaToXml(MgFeatureSchemaCollection* schema, CREFSTRING namespacePrefix, CREFSTRING namespaceUrl)
+STRING MgPortableDescribeSchema::SchemaToXml(MgFeatureSchemaCollection* schema, CREFSTRING namespacePrefix, CREFSTRING namespaceUrl)
 {
     STRING xmlSchema;
 
@@ -679,12 +679,12 @@
 
     if (NULL == schema)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDescribeSchema.SchemaToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDescribeSchema.SchemaToXml", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    CHECKNULL((MgFeatureSchemaCollection*)schema, L"MgdDescribeSchema.SchemaToXml");
+    CHECKNULL((MgFeatureSchemaCollection*)schema, L"MgPortableDescribeSchema.SchemaToXml");
 
-    FdoPtr<FdoFeatureSchemaCollection> fdoSchemaCol = MgdFeatureUtil::GetFdoFeatureSchemaCollection(schema);
+    FdoPtr<FdoFeatureSchemaCollection> fdoSchemaCol = MgPortableFeatureUtil::GetFdoFeatureSchemaCollection(schema);
 
     FdoPtr<FdoXmlFlags> flags = FdoXmlFlags::Create();
 
@@ -705,13 +705,13 @@
 
     xmlSchema = GetSerializedXml(fdoSchemaCol,flags);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.SchemaToXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.SchemaToXml")
 
     return xmlSchema;
 }
 
 //////////////////////////////////////////////////////////////////
-MgFeatureSchemaCollection* MgdDescribeSchema::XmlToSchema(CREFSTRING xml)
+MgFeatureSchemaCollection* MgPortableDescribeSchema::XmlToSchema(CREFSTRING xml)
 {
     Ptr<MgFeatureSchemaCollection> mgSchemaCol;
 
@@ -737,7 +737,7 @@
     {
         FdoPtr<FdoFeatureSchema> fdoSchema = fdoSchemaCol->GetItem(i);
         FdoStringP name = fdoSchema->GetName();
-        CHECKNULL(name, L"MgdDescribeSchema.XmlToSchema");
+        CHECKNULL(name, L"MgPortableDescribeSchema.XmlToSchema");
 
         FdoStringP description = fdoSchema->GetDescription();
 
@@ -760,7 +760,7 @@
 
             if (name != NULL && qname != NULL)
             {
-                Ptr<MgClassDefinition> classDefinition = MgdFeatureUtil::GetMgClassDefinition(fdoClassDef, true);
+                Ptr<MgClassDefinition> classDefinition = MgPortableFeatureUtil::GetMgClassDefinition(fdoClassDef, true);
                 classCol->Add(classDefinition);
             }
         }
@@ -767,7 +767,7 @@
         mgSchemaCol->Add(mgSchema);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.XmlToSchema")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.XmlToSchema")
 
     return mgSchemaCol.Detach();
 }
@@ -774,15 +774,15 @@
 
 
 //////////////////////////////////////////////////////////////////
-STRING MgdDescribeSchema::GetSerializedXml(FdoFeatureSchemaCollection* fdoSchemaCol)
+STRING MgPortableDescribeSchema::GetSerializedXml(FdoFeatureSchemaCollection* fdoSchemaCol)
 {
     STRING serializedXml;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL(fdoSchemaCol, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL(fdoSchemaCol, L"MgPortableDescribeSchema.GetSerializedXml");
 
     FdoIoMemoryStreamP fmis = FdoIoMemoryStream::Create();
-    CHECKNULL((FdoIoMemoryStream*)fmis, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL((FdoIoMemoryStream*)fmis, L"MgPortableDescribeSchema.GetSerializedXml");
 
     // Write to memory stream
     fdoSchemaCol->WriteXml(fmis);
@@ -790,7 +790,7 @@
 
     FdoInt64 len = fmis->GetLength();
     FdoByte *bytes = new FdoByte[(size_t)len];
-    CHECKNULL(bytes, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL(bytes, L"MgPortableDescribeSchema.GetSerializedXml");
 
     fmis->Read(bytes, (FdoSize)len);
 
@@ -803,21 +803,21 @@
 
     delete [] bytes;
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.GetSerializedXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.GetSerializedXml")
 
     return serializedXml;
 }
 
 //////////////////////////////////////////////////////////////////
-STRING MgdDescribeSchema::GetSerializedXml(FdoFeatureSchemaCollection* fdoSchemaCol, FdoXmlFlags* flags)
+STRING MgPortableDescribeSchema::GetSerializedXml(FdoFeatureSchemaCollection* fdoSchemaCol, FdoXmlFlags* flags)
 {
     STRING serializedXml;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL(fdoSchemaCol, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL(fdoSchemaCol, L"MgPortableDescribeSchema.GetSerializedXml");
 
     FdoIoMemoryStreamP fmis = FdoIoMemoryStream::Create();
-    CHECKNULL((FdoIoMemoryStream*)fmis, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL((FdoIoMemoryStream*)fmis, L"MgPortableDescribeSchema.GetSerializedXml");
 
     // Write to memory stream
     fdoSchemaCol->WriteXml(fmis,flags);
@@ -825,7 +825,7 @@
 
     FdoInt64 len = fmis->GetLength();
     FdoByte *bytes = new FdoByte[(size_t)len];
-    CHECKNULL(bytes, L"MgdDescribeSchema.GetSerializedXml");
+    CHECKNULL(bytes, L"MgPortableDescribeSchema.GetSerializedXml");
 
     fmis->Read(bytes, (FdoSize)len);
 
@@ -838,13 +838,13 @@
 
     delete [] bytes;
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.GetSerializedXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.GetSerializedXml")
 
     return serializedXml;
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgStringCollection* MgdDescribeSchema::GetSchemas(MgResourceIdentifier* resource)
+MgStringCollection* MgPortableDescribeSchema::GetSchemas(MgResourceIdentifier* resource)
 {
     Ptr<MgStringCollection> schemaNames;
 
@@ -855,7 +855,7 @@
     if (NULL == schemaNames.p)
     {
         // Connect to provider.
-        Ptr<MgdFeatureConnection> connection = new MgdFeatureConnection(resource);
+        Ptr<MgPortableFeatureConnection> connection = new MgPortableFeatureConnection(resource);
 
         if ((NULL != connection.p) && (connection->IsConnectionOpen()))
         {
@@ -863,18 +863,18 @@
             {
                 //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
 
-                // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up
+                // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up
                 // before the parent object, otherwise it leaves the FDO connection marked as still in use.
                 FdoPtr<FdoIConnection> fdoConn = connection->GetConnection();
                 FdoPtr<FdoIGetSchemaNames> fdoCommand = (FdoIGetSchemaNames*)fdoConn->CreateCommand(FdoCommandType_GetSchemaNames);
-                CHECKNULL(fdoCommand.p, L"MgdDescribeSchema.GetSchemas");
+                CHECKNULL(fdoCommand.p, L"MgPortableDescribeSchema.GetSchemas");
 
                 // Execute the command.
                 FdoPtr<FdoStringCollection> schemas = fdoCommand->Execute();
-                CHECKNULL(schemas.p, L"MgdDescribeSchema.GetSchemas");
+                CHECKNULL(schemas.p, L"MgPortableDescribeSchema.GetSchemas");
 
                 // Get the schema names.
-                schemaNames = MgdFeatureUtil::FdoToMgStringCollection(schemas.p, false);
+                schemaNames = MgPortableFeatureUtil::FdoToMgStringCollection(schemas.p, false);
             }
             else // Fall back on using the DescribeSchema API.
             {
@@ -902,7 +902,7 @@
         }
         else
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdDescribeSchema.GetSchemas",
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableDescribeSchema.GetSchemas",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -913,13 +913,13 @@
         //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdDescribeSchema.GetSchemas")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableDescribeSchema.GetSchemas")
 
     return schemaNames.Detach();
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgStringCollection* MgdDescribeSchema::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName)
+MgStringCollection* MgPortableDescribeSchema::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName)
 {
     Ptr<MgStringCollection> classNames;
 
@@ -930,7 +930,7 @@
     if (NULL == classNames.p)
     {
         // Connect to provider.
-        Ptr<MgdFeatureConnection> connection = new MgdFeatureConnection(resource);
+        Ptr<MgPortableFeatureConnection> connection = new MgPortableFeatureConnection(resource);
 
         if ((NULL != connection.p) && (connection->IsConnectionOpen()))
         {
@@ -947,9 +947,9 @@
                 }
 
                 MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
-                CHECKNULL(featureSource, L"MgdDescribeSchema.GetClasses");
+                CHECKNULL(featureSource, L"MgPortableDescribeSchema.GetClasses");
                 MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-                CHECKNULL(extensions, L"MgdDescribeSchema.GetClasses");
+                CHECKNULL(extensions, L"MgPortableDescribeSchema.GetClasses");
 
                 useSchema = (extensions->GetCount() > 0);
             }
@@ -984,11 +984,11 @@
             {
                 //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
 
-                // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up
+                // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up
                 // before the parent object, otherwise it leaves the FDO connection marked as still in use.
                 FdoPtr<FdoIConnection> fdoConn = connection->GetConnection();
                 FdoPtr<FdoIGetClassNames> fdoCommand = (FdoIGetClassNames*)fdoConn->CreateCommand(FdoCommandType_GetClassNames);
-                CHECKNULL(fdoCommand.p, L"MgdDescribeSchema.GetClasses");
+                CHECKNULL(fdoCommand.p, L"MgPortableDescribeSchema.GetClasses");
 
                 if (!schemaName.empty())
                 {
@@ -997,15 +997,15 @@
 
                 // Execute the command.
                 FdoPtr<FdoStringCollection> classes = fdoCommand->Execute();
-                CHECKNULL(classes.p, L"MgdDescribeSchema.GetClasses");
+                CHECKNULL(classes.p, L"MgPortableDescribeSchema.GetClasses");
 
                 // Get the class names.
-                classNames = MgdFeatureUtil::FdoToMgStringCollection(classes.p, false);
+                classNames = MgPortableFeatureUtil::FdoToMgStringCollection(classes.p, false);
             }
         }
         else
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdDescribeSchema.GetClasses",
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableDescribeSchema.GetClasses",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -1016,13 +1016,13 @@
         //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdDescribeSchema.GetClasses")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableDescribeSchema.GetClasses")
 
     return classNames.Detach();
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgClassDefinition* MgdDescribeSchema::GetClassDefinition(  MgResourceIdentifier* resource,
+MgClassDefinition* MgPortableDescribeSchema::GetClassDefinition(  MgResourceIdentifier* resource,
                                                                 CREFSTRING schemaName,
                                                                 CREFSTRING className,
                                                                 bool serialize)
@@ -1031,12 +1031,12 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdDescribeSchema::GetClassDefinition");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableDescribeSchema::GetClassDefinition");
 
     if (className.empty())
     {
         throw new MgException(MgExceptionCodes::MgClassNotFoundException, 
-            L"MgdDescribeSchema.GetClassDefinition",
+            L"MgPortableDescribeSchema.GetClassDefinition",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -1063,7 +1063,7 @@
         if (NULL == classDefinition.p)
         {
             throw new MgException(MgExceptionCodes::MgClassNotFoundException, 
-                L"MgdDescribeSchema.GetClassDefinition",
+                L"MgPortableDescribeSchema.GetClassDefinition",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
         else
@@ -1076,7 +1076,7 @@
         //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdDescribeSchema.GetClassDefinition", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableDescribeSchema.GetClassDefinition", resource)
 
     return classDefinition.Detach();
 }
@@ -1085,7 +1085,7 @@
 /// Returns the collection of identity properties for the specified class.
 /// If the schemaName is empty, then the className needs to be fully qualified.
 ///
-MgClassDefinitionCollection* MgdDescribeSchema::GetIdentityProperties(
+MgClassDefinitionCollection* MgPortableDescribeSchema::GetIdentityProperties(
     MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames)
 {
     Ptr<MgClassDefinitionCollection> classDefs = new MgClassDefinitionCollection();
@@ -1095,7 +1095,7 @@
     if (NULL == classNames || classNames->GetCount() == 0)
     {
         throw new MgException(MgExceptionCodes::MgClassNotFoundException, 
-            L"MgdDescribeSchema.GetIdentityProperties",
+            L"MgPortableDescribeSchema.GetIdentityProperties",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -1170,7 +1170,7 @@
         else
         {
             //m_cacheManager->CheckPermission(resource, MgResourcePermission::ReadOnly);
-            fdoSchemas = MgdFeatureUtil::GetFdoFeatureSchemaCollection(mgSchemas.p);
+            fdoSchemas = MgPortableFeatureUtil::GetFdoFeatureSchemaCollection(mgSchemas.p);
         }
 
         for (int j = 0; j < uncachedClasses->GetCount(); j++)
@@ -1202,13 +1202,13 @@
     }
 
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdDescribeSchema.GetIdentityProperties", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableDescribeSchema.GetIdentityProperties", resource)
 
     return classDefs.Detach();
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-bool MgdDescribeSchema::GetIdentityProperties(CREFSTRING className,
+bool MgPortableDescribeSchema::GetIdentityProperties(CREFSTRING className,
     FdoClassCollection* classCol, MgPropertyDefinitionCollection* idProps)
 {
     bool hasIdProps = false;
@@ -1217,7 +1217,7 @@
 
     if (NULL == classCol || NULL == idProps)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdDescribeSchema.GetIdentityProperties",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableDescribeSchema.GetIdentityProperties",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -1245,7 +1245,7 @@
                 FdoPtr<FdoDataPropertyDefinitionCollection> propDefCol =
                     classDef->GetIdentityProperties();
 
-                MgdFeatureUtil::GetClassProperties(idProps, propDefCol);
+                MgPortableFeatureUtil::GetClassProperties(idProps, propDefCol);
                 hasIdProps = true;
                 break;
             }
@@ -1252,7 +1252,7 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDescribeSchema.GetIdentityProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDescribeSchema.GetIdentityProperties")
 
     return hasIdProps;
 }
@@ -1262,9 +1262,9 @@
 /// Determine whether or not the provider supports the Class Name hint for the
 /// Describe Schema command.
 ///
-bool MgdDescribeSchema::IsClassNameHintUsed(FdoIDescribeSchema* fdoCommand)
+bool MgPortableDescribeSchema::IsClassNameHintUsed(FdoIDescribeSchema* fdoCommand)
 {
-    CHECKARGUMENTNULL(fdoCommand, L"MgdDescribeSchema.IsClassNameHintUsed");
+    CHECKARGUMENTNULL(fdoCommand, L"MgPortableDescribeSchema.IsClassNameHintUsed");
 
     FdoPtr<FdoStringCollection> classNames = fdoCommand->GetClassNames();
     bool classNameHintUsed = (NULL != classNames.p);
@@ -1273,9 +1273,9 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgStringCollection* MgdDescribeSchema::GetSchemaNames(MgFeatureSchemaCollection* schemas)
+MgStringCollection* MgPortableDescribeSchema::GetSchemaNames(MgFeatureSchemaCollection* schemas)
 {
-    CHECKARGUMENTNULL(schemas, L"MgdDescribeSchema.GetSchemaNames");
+    CHECKARGUMENTNULL(schemas, L"MgPortableDescribeSchema.GetSchemaNames");
 
     Ptr<MgStringCollection> schemaNames = new MgStringCollection();
     INT32 schemaCount = schemas->GetCount();
@@ -1295,9 +1295,9 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgStringCollection* MgdDescribeSchema::GetClassNames(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName)
+MgStringCollection* MgPortableDescribeSchema::GetClassNames(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName)
 {
-    CHECKNULL(schemas, L"MgdDescribeSchema.GetClassNames");
+    CHECKNULL(schemas, L"MgPortableDescribeSchema.GetClassNames");
 
     Ptr<MgStringCollection> classNames = new MgStringCollection();
     INT32 schemaCount = schemas->GetCount();
@@ -1334,9 +1334,9 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgClassDefinition* MgdDescribeSchema::GetClassDefinition(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName, CREFSTRING className)
+MgClassDefinition* MgPortableDescribeSchema::GetClassDefinition(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName, CREFSTRING className)
 {
-    CHECKARGUMENTNULL(schemas, L"MgdDescribeSchema.GetClassDefinition");
+    CHECKARGUMENTNULL(schemas, L"MgPortableDescribeSchema.GetClassDefinition");
 
     Ptr<MgClassDefinition> classDef;
     INT32 schemaCount = schemas->GetCount();
@@ -1386,12 +1386,12 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-MgPropertyDefinitionCollection* MgdDescribeSchema::GetIdentityProperties(
+MgPropertyDefinitionCollection* MgPortableDescribeSchema::GetIdentityProperties(
     FdoFeatureSchemaCollection* schemas, MgResourceIdentifier* resource,
     CREFSTRING schemaName, CREFSTRING className)
 {
-    CHECKARGUMENTNULL(schemas, L"MgdDescribeSchema.GetIdentityProperties");
-    CHECKARGUMENTNULL(resource, L"MgdDescribeSchema.GetIdentityProperties");
+    CHECKARGUMENTNULL(schemas, L"MgPortableDescribeSchema.GetIdentityProperties");
+    CHECKARGUMENTNULL(resource, L"MgPortableDescribeSchema.GetIdentityProperties");
     Ptr<MgPropertyDefinitionCollection> idProps;
 
     MG_FEATURE_SERVICE_TRY()
@@ -1426,9 +1426,9 @@
 
                 // Get the class name for the primary source that is being extended.
                 MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
-                CHECKNULL(featureSource, L"MgdDescribeSchema.GetIdentityProperties");
+                CHECKNULL(featureSource, L"MgPortableDescribeSchema.GetIdentityProperties");
                 MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-                CHECKNULL(extensions, L"MgdDescribeSchema.GetIdentityProperties");
+                CHECKNULL(extensions, L"MgPortableDescribeSchema.GetIdentityProperties");
                 STRING extensionFeatureClass;
                 int extensionCount = extensions->GetCount();
 
@@ -1436,7 +1436,7 @@
                 for (int i = 0; i < extensionCount; ++i)
                 {
                     MdfModel::Extension* extension = extensions->GetAt(i);
-                    CHECKNULL(extension, L"MgdDescribeSchema.GetIdentityProperties");
+                    CHECKNULL(extension, L"MgPortableDescribeSchema.GetIdentityProperties");
 
                     // Get the extension name.
                     STRING extensionName = (STRING)extension->GetName();
@@ -1460,12 +1460,12 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdDescribeSchema.GetIdentityProperties", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableDescribeSchema.GetIdentityProperties", resource)
 
     if (mgException != NULL)
     {
         //Sorry, if you're complaining about duplicate identity properties, then we need that thing called context
-        if (mgException->IsOfClass(Foundation_Exception_MgDuplicateObjectException))
+        if (mgException->GetExceptionCode() == MgExceptionCodes::MgDuplicateObjectException)
         {
             STRING detail = mgException->GetDetails();
             MgStringCollection args;
@@ -1479,7 +1479,7 @@
             args.Add(detail);
 
             mgException = NULL;
-            mgException = new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdDescribeSchema.GetIdentityProperties", __LINE__, __WFILE__, NULL, L"MgFeatureSourceFormatInnerExceptionMessage", &args);
+            mgException = new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableDescribeSchema.GetIdentityProperties", __LINE__, __WFILE__, NULL, L"MgFeatureSourceFormatInnerExceptionMessage", &args);
         }
     }
 
@@ -1489,7 +1489,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-bool MgdDescribeSchema::CheckExtendedFeatureClass(MgResourceIdentifier* resource,
+bool MgPortableDescribeSchema::CheckExtendedFeatureClass(MgResourceIdentifier* resource,
     CREFSTRING className)
 {
     bool extended = false;
@@ -1505,15 +1505,15 @@
         }
 
         MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
-        CHECKNULL(featureSource, L"MgdDescribeSchema.CheckExtendedFeatureClass");
+        CHECKNULL(featureSource, L"MgPortableDescribeSchema.CheckExtendedFeatureClass");
         MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-        CHECKNULL(extensions, L"MgdDescribeSchema.CheckExtendedFeatureClass");
+        CHECKNULL(extensions, L"MgPortableDescribeSchema.CheckExtendedFeatureClass");
         int extensionCount = extensions->GetCount();
 
         for (int i = 0; i < extensionCount; ++i)
         {
             MdfModel::Extension* extension = extensions->GetAt(i);
-            CHECKNULL(extension, L"MgdDescribeSchema.CheckExtendedFeatureClass");
+            CHECKNULL(extension, L"MgPortableDescribeSchema.CheckExtendedFeatureClass");
             STRING extensionName = (STRING)extension->GetName();
 
             STRING currSchemaName, currClassName;
@@ -1531,7 +1531,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-bool MgdDescribeSchema::CheckExtendedFeatureClasses(MgResourceIdentifier* resource,
+bool MgPortableDescribeSchema::CheckExtendedFeatureClasses(MgResourceIdentifier* resource,
     MgStringCollection* classNames)
 {
     bool extended = false;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/DescribeSchema.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef MG_SERVER_DESCRIBE_SCHEMA_H_
 #define MG_SERVER_DESCRIBE_SCHEMA_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
@@ -25,14 +25,14 @@
 #include "FSDSAX2Parser.h"
 #include "Services/Feature/FeatureServiceCache.h"
 
-class MgdDescribeSchema
+class MgPortableDescribeSchema
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdDescribeSchema();
-    ~MgdDescribeSchema();
+    MgPortableDescribeSchema();
+    ~MgPortableDescribeSchema();
 
 /// Methods
 
@@ -74,8 +74,8 @@
 
 private:
 
-    MgdFeatureServiceCache* m_featureServiceCache;
-    Ptr<MgdFeatureSourceCacheItem> m_featureSourceCacheItem;
+    MgPortableFeatureServiceCache* m_featureServiceCache;
+    Ptr<MgPortableFeatureSourceCacheItem> m_featureSourceCacheItem;
 };
 
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/EnumerateDataStores.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,14 +18,14 @@
 #include "Services/Feature/FeatureDefs.h"
 #include "EnumerateDataStores.h"
 
-MgdEnumerateDataStores::MgdEnumerateDataStores()
+MgPortableEnumerateDataStores::MgPortableEnumerateDataStores()
 {
     // This XML follows the DataStoreList-1.0.0.xsd schema
     m_xmlUtil = new MgXmlUtil("DataStoreList" /* NOXLATE */);
-    CHECKNULL(m_xmlUtil, L"MgdEnumerateDataStores.EnumerateDataStores()");
+    CHECKNULL(m_xmlUtil, L"MgPortableEnumerateDataStores.EnumerateDataStores()");
 }
 
-MgdEnumerateDataStores::~MgdEnumerateDataStores()
+MgPortableEnumerateDataStores::~MgPortableEnumerateDataStores()
 {
     delete m_xmlUtil;
     m_xmlUtil = NULL;
@@ -32,7 +32,7 @@
 }
 
 
-MgByteReader* MgdEnumerateDataStores::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString)
+MgByteReader* MgPortableEnumerateDataStores::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -41,22 +41,22 @@
     // Connect to the provider
     FdoPtr<FdoIDataStoreReader> fdoDataStoreReader;
 
-    Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(providerName, partialConnString);
+    Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(providerName, partialConnString);
     if ((NULL != msfc.p) && (( msfc->IsConnectionOpen() ) || ( msfc->IsConnectionPending() )))
     {
-        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
         // otherwise it leaves the FDO connection marked as still in use.
         FdoPtr<FdoIConnection> fdoConnection;
         fdoConnection = msfc->GetConnection();
 
         FdoPtr<FdoIListDataStores> fdoCommand = (FdoIListDataStores*)fdoConnection->CreateCommand(FdoCommandType_ListDataStores);
-        CHECKNULL((FdoIListDataStores*)fdoCommand, L"MgdEnumerateDataStores.EnumerateDataStores");
+        CHECKNULL((FdoIListDataStores*)fdoCommand, L"MgPortableEnumerateDataStores.EnumerateDataStores");
 
         fdoCommand->SetIncludeNonFdoEnabledDatastores(true);
 
         // Execute the command
         fdoDataStoreReader = fdoCommand->Execute();
-        CHECKNULL((FdoIDataStoreReader*)fdoDataStoreReader, L"MgdEnumerateDataStores.EnumerateDataStores");
+        CHECKNULL((FdoIDataStoreReader*)fdoDataStoreReader, L"MgPortableEnumerateDataStores.EnumerateDataStores");
 
         // Add Feature Provider element
         DOMElement* rootElem = m_xmlUtil->GetRootNode();
@@ -86,10 +86,10 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdEnumerateDataStores::EnumerateDataStores()", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableEnumerateDataStores::EnumerateDataStores()", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdEnumerateDataStores.EnumerateDataStores")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableEnumerateDataStores.EnumerateDataStores")
 
     return byteReader.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/EnumerateDataStores.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVER_ENUMERATE_DATASTORES_H_
 #define _MG_SERVER_ENUMERATE_DATASTORES_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdEnumerateDataStores
+class MgPortableEnumerateDataStores
 {
 public:
-    MgdEnumerateDataStores();
-    ~MgdEnumerateDataStores();
+    MgPortableEnumerateDataStores();
+    ~MgPortableEnumerateDataStores();
 
 
     MgByteReader* EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/ExtendedSelectCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "FeatureServiceCommand.h"
 #include "ExtendedSelectCommand.h"
@@ -30,12 +30,12 @@
 // The maximum size of the subfilter for a selection query.  Tune this value for optimal selection perfomance.
 #define MG_MAX_SUBFILTER_SIZE  250
 
-MgdExtendedSelectCommand::MgdExtendedSelectCommand(MgResourceIdentifier* resource)
+MgPortableExtendedSelectCommand::MgPortableExtendedSelectCommand(MgResourceIdentifier* resource)
 {
-    CHECKNULL((MgResourceIdentifier*)resource, L"MgdExtendedSelectCommand.MgdExtendedSelectCommand");
+    CHECKNULL((MgResourceIdentifier*)resource, L"MgPortableExtendedSelectCommand.MgPortableExtendedSelectCommand");
 
     // Connect to provider
-    m_connection = new MgdFeatureConnection(resource);
+    m_connection = new MgPortableFeatureConnection(resource);
     if ((NULL != m_connection.p) && ( m_connection->IsConnectionOpen() ))
     {
         m_providerName = m_connection->GetProviderName();
@@ -42,197 +42,197 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdExtendedSelectCommand.MgdExtendedSelectCommand", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableExtendedSelectCommand.MgPortableExtendedSelectCommand", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     // Create FdoIExtendedSelect command
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     m_command = (FdoIExtendedSelect*)fdoConn->CreateCommand(FdoCommandType_ExtendedSelect);
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.MgdExtendedSelectCommand");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.MgPortableExtendedSelectCommand");
 }
 
-MgdExtendedSelectCommand::~MgdExtendedSelectCommand()
+MgPortableExtendedSelectCommand::~MgPortableExtendedSelectCommand()
 {
     m_command = NULL;
     m_filter = NULL;
 }
 
-FdoIdentifierCollection* MgdExtendedSelectCommand::GetPropertyNames()
+FdoIdentifierCollection* MgPortableExtendedSelectCommand::GetPropertyNames()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetPropertyNames");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetPropertyNames");
     return m_command->GetPropertyNames();
 }
 
-void MgdExtendedSelectCommand::SetDistinct(bool value)
+void MgPortableExtendedSelectCommand::SetDistinct(bool value)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetDistinct");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetDistinct");
     // This operation is not supported by FdoIExtendedSelect
     // m_command->SetDistinct(value);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdExtendedSelectCommand.SetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableExtendedSelectCommand.SetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-bool MgdExtendedSelectCommand::GetDistinct()
+bool MgPortableExtendedSelectCommand::GetDistinct()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetDistinct");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetDistinct");
     // This operation is not supported by FdoIExtendedSelect
     // return m_command->GetDistinct();
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdExtendedSelectCommand.GetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableExtendedSelectCommand.GetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
 
     return false;
 }
 
-void MgdExtendedSelectCommand::SetFetchSize(FdoInt32 fetchSize)
+void MgPortableExtendedSelectCommand::SetFetchSize(FdoInt32 fetchSize)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetFetchSize");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetFetchSize");
     m_command->SetFetchSize(fetchSize);
 }
 
-FdoInt32 MgdExtendedSelectCommand::GetFetchSize()
+FdoInt32 MgPortableExtendedSelectCommand::GetFetchSize()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetFetchSize");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetFetchSize");
     return m_command->GetFetchSize();
 }
 
-FdoIdentifierCollection* MgdExtendedSelectCommand::GetOrdering()
+FdoIdentifierCollection* MgPortableExtendedSelectCommand::GetOrdering()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetOrdering");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetOrdering");
     return m_command->GetOrdering();
 }
 
-void MgdExtendedSelectCommand::SetOrderingOption(FdoOrderingOption option)
+void MgPortableExtendedSelectCommand::SetOrderingOption(FdoOrderingOption option)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetOrderingOption");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetOrderingOption");
     ((FdoISelect*)m_command)->SetOrderingOption(option);
 }
 
-FdoOrderingOption MgdExtendedSelectCommand::GetOrderingOption()
+FdoOrderingOption MgPortableExtendedSelectCommand::GetOrderingOption()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetOrderingOption");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetOrderingOption");
     return ((FdoISelect*)m_command)->GetOrderingOption();
 }
 
-void MgdExtendedSelectCommand::SetOrderingOption(FdoString* name, FdoOrderingOption option)
+void MgPortableExtendedSelectCommand::SetOrderingOption(FdoString* name, FdoOrderingOption option)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetOrderingOption");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetOrderingOption");
     m_command->SetOrderingOption(name, option);
 }
 
-FdoOrderingOption MgdExtendedSelectCommand::GetOrderingOption(FdoString* name)
+FdoOrderingOption MgPortableExtendedSelectCommand::GetOrderingOption(FdoString* name)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetOrderingOption");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetOrderingOption");
     return m_command->GetOrderingOption(name);
 }
 
-FdoIdentifierCollection* MgdExtendedSelectCommand::GetGrouping()
+FdoIdentifierCollection* MgPortableExtendedSelectCommand::GetGrouping()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetGrouping");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetGrouping");
     // This operation is not supported by FdoIExtendedSelect
     // return m_command->GetGrouping();
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdExtendedSelectCommand.GetGrouping", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableExtendedSelectCommand.GetGrouping", __LINE__, __WFILE__, NULL, L"", NULL);
     return NULL;
 }
 
-void MgdExtendedSelectCommand::SetGroupingFilter(FdoFilter* filter)
+void MgPortableExtendedSelectCommand::SetGroupingFilter(FdoFilter* filter)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetGroupingFilter");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetGroupingFilter");
     // This operation is not supported by FdoIExtendedSelect
     // m_command->SetGroupingFilter(filter);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdExtendedSelectCommand.SetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableExtendedSelectCommand.SetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-FdoFilter* MgdExtendedSelectCommand::GetGroupingFilter()
+FdoFilter* MgPortableExtendedSelectCommand::GetGroupingFilter()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetGroupingFilter");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetGroupingFilter");
     // This operation is not supported by FdoIExtendedSelect
     // return m_command->GetGroupingFilter(filter);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdExtendedSelectCommand.GetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableExtendedSelectCommand.GetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
     return NULL;
 }
 
-void MgdExtendedSelectCommand::SetFeatureClassName(FdoString* value)
+void MgPortableExtendedSelectCommand::SetFeatureClassName(FdoString* value)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetFeatureClassName");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetFeatureClassName");
     m_command->SetFeatureClassName(value);
 }
 
-void MgdExtendedSelectCommand::SetFilter(FdoString* value)
+void MgPortableExtendedSelectCommand::SetFilter(FdoString* value)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetFilter");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetFilter");
     m_command->SetFilter(value);
 }
 
-void MgdExtendedSelectCommand::SetFilter(FdoFilter* value)
+void MgPortableExtendedSelectCommand::SetFilter(FdoFilter* value)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetFilter");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetFilter");
     m_command->SetFilter(value);
 
     m_filter = FDO_SAFE_ADDREF(value);
 }
 
-MgReader* MgdExtendedSelectCommand::Execute()
+MgReader* MgPortableExtendedSelectCommand::Execute()
 {
     FdoPtr<FdoIScrollableFeatureReader> reader;
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.Execute");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.Execute");
 
     reader = m_command->ExecuteScrollable();
-    return new MgdScrollableFeatureReader(m_connection, reader);
+    return new MgPortableScrollableFeatureReader(m_connection, reader);
 }
 
-MgReader* MgdExtendedSelectCommand::ExecuteWithLock()
+MgReader* MgPortableExtendedSelectCommand::ExecuteWithLock()
 {
     FdoPtr<FdoIFeatureReader> reader;
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.Execute");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.Execute");
 
     reader = m_command->ExecuteWithLock();
-    return new MgdFeatureReader(m_connection, reader);
+    return new MgPortableFeatureReader(m_connection, reader);
 }
 
-bool MgdExtendedSelectCommand::IsSupportedFunction(FdoFunction* fdoFunc)
+bool MgPortableExtendedSelectCommand::IsSupportedFunction(FdoFunction* fdoFunc)
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     return this->IsFdoSupportedFunction(fdoConn, fdoFunc);
 }
 
-bool MgdExtendedSelectCommand::SupportsSelectGrouping()
+bool MgPortableExtendedSelectCommand::SupportsSelectGrouping()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
 }
 
-bool MgdExtendedSelectCommand::SupportsSelectOrdering()
+bool MgPortableExtendedSelectCommand::SupportsSelectOrdering()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
 }
 
-bool MgdExtendedSelectCommand::SupportsSelectDistinct()
+bool MgPortableExtendedSelectCommand::SupportsSelectDistinct()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
 }
 
-FdoFilter* MgdExtendedSelectCommand::GetFilter()
+FdoFilter* MgPortableExtendedSelectCommand::GetFilter()
 {
     return FDO_SAFE_ADDREF(m_filter.p);
 }
 
-FdoJoinCriteriaCollection* MgdExtendedSelectCommand::GetJoinCriteria()
+FdoJoinCriteriaCollection* MgPortableExtendedSelectCommand::GetJoinCriteria()
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.GetJoinCriteria");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.GetJoinCriteria");
     return m_command->GetJoinCriteria();
 }
 
-void MgdExtendedSelectCommand::SetAlias(FdoString* alias)
+void MgPortableExtendedSelectCommand::SetAlias(FdoString* alias)
 {
-    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgdExtendedSelectCommand.SetDistinct");
+    CHECKNULL((FdoIExtendedSelect*)m_command, L"MgPortableExtendedSelectCommand.SetDistinct");
     m_command->SetAlias(alias);
 }
 
-MgReader* MgdExtendedSelectCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
+MgReader* MgPortableExtendedSelectCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
 {
     Ptr<MgReader> ret;
 
@@ -241,15 +241,15 @@
     FdoPtr<FdoIFeatureReader> fdoReader = m_command->Execute();
     if (bForceOneToOne)
     {
-        FdoPtr<FdoStringCollection> names = MgdFeatureUtil::MgToFdoStringCollection(idPropNames, false);
-        FdoPtr<FdoIFeatureReader> forcedReader = new MgdFdoForcedOneToOneFeatureReader(fdoReader, names); 
-        ret = new MgdFeatureReader(m_connection, forcedReader);
+        FdoPtr<FdoStringCollection> names = MgPortableFeatureUtil::MgToFdoStringCollection(idPropNames, false);
+        FdoPtr<FdoIFeatureReader> forcedReader = new MgPortableFdoForcedOneToOneFeatureReader(fdoReader, names); 
+        ret = new MgPortableFeatureReader(m_connection, forcedReader);
     }
     else
     {
-        ret = new MgdFeatureReader(m_connection, fdoReader);
+        ret = new MgPortableFeatureReader(m_connection, fdoReader);
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdExtendedSelectCommand.ExecuteJoined")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableExtendedSelectCommand.ExecuteJoined")
 
     return ret.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/ExtendedSelectCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,17 +18,17 @@
 #ifndef DESKTOP_EXTENDED_SELECT_COMMAND_H
 #define DESKTOP_EXTENDED_SELECT_COMMAND_H
 
-class MgdFdoFeatureReader;
-class MgdFdoReaderCollection;
-class MgdFdoFilterCollection;
+class MgPortableFdoFeatureReader;
+class MgPortableFdoReaderCollection;
+class MgPortableFdoFilterCollection;
 
-class MgdExtendedSelectCommand : public MgdFeatureServiceCommand
+class MgPortableExtendedSelectCommand : public MgPortableFeatureServiceCommand
 {
-    DECLARE_CLASSNAME(MgdExtendedSelectCommand)
+    DECLARE_CLASSNAME(MgPortableExtendedSelectCommand)
 
 public:
-    MgdExtendedSelectCommand(MgResourceIdentifier* resource);
-    virtual ~MgdExtendedSelectCommand();
+    MgPortableExtendedSelectCommand(MgResourceIdentifier* resource);
+    virtual ~MgPortableExtendedSelectCommand();
 
     virtual FdoIdentifierCollection* GetPropertyNames();
 
@@ -74,7 +74,7 @@
     virtual void SetAlias(FdoString* alias);
 
 private:
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
     STRING m_providerName;
     FdoPtr<FdoIExtendedSelect> m_command;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/FeatureManipulationCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "FeatureManipulationCommand.h"
 #include "Services/Feature/FeatureConnection.h"
@@ -25,15 +25,15 @@
 #include "UpdateCommand.h"
 #include "DeleteCommand.h"
 
-MgdFeatureManipulationCommand* MgdFeatureManipulationCommand::CreateCommand(MgFeatureCommand* webCmd, MgdFeatureConnection* connection, INT32 cmdId)
+MgPortableFeatureManipulationCommand* MgPortableFeatureManipulationCommand::CreateCommand(MgFeatureCommand* webCmd, MgPortableFeatureConnection* connection, INT32 cmdId)
 {
-    CHECKNULL(webCmd, L"MgdFeatureManipulationCommand.CreateCommand")
-    CHECKNULL(connection, L"MgdFeatureManipulationCommand.CreateCommand")
+    CHECKNULL(webCmd, L"MgPortableFeatureManipulationCommand.CreateCommand")
+    CHECKNULL(connection, L"MgPortableFeatureManipulationCommand.CreateCommand")
 
     INT32 cmdType = webCmd->GetCommandType();
     bool supports = false;
 
-    Ptr<MgdFeatureManipulationCommand> command;
+    Ptr<MgPortableFeatureManipulationCommand> command;
 
     switch(cmdType)
     {
@@ -42,7 +42,7 @@
             supports = connection->SupportsCommand(FdoCommandType_Insert);
             if (supports)
             {
-                command = new MgdInsertCommand(webCmd, connection, cmdId);
+                command = new MgPortableInsertCommand(webCmd, connection, cmdId);
             }
             break;
         }
@@ -51,7 +51,7 @@
             supports = connection->SupportsCommand(FdoCommandType_Update);
             if (supports)
             {
-                command = new MgdUpdateCommand(webCmd, connection, cmdId);
+                command = new MgPortableUpdateCommand(webCmd, connection, cmdId);
             }
             break;
         }
@@ -60,7 +60,7 @@
             supports = connection->SupportsCommand(FdoCommandType_Delete);
             if (supports)
             {
-                command = new MgdDeleteCommand(webCmd, connection, cmdId);
+                command = new MgPortableDeleteCommand(webCmd, connection, cmdId);
             }
             break;
         }
@@ -68,11 +68,11 @@
 
     if (!supports)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgCommandNotSupported");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgCommandNotSupported");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureManipulationCommand.CreateCommand", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureManipulationCommand.CreateCommand", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     return command.Detach();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/FeatureManipulationCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,12 +18,12 @@
 #ifndef _MG_FEATURE_MANIPULATION_COMMAND_H_
 #define _MG_FEATURE_MANIPULATION_COMMAND_H_
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-class MgdFeatureManipulationCommand : public MgDisposable
+class MgPortableFeatureManipulationCommand : public MgDisposable
 {
 public:
-    static MgdFeatureManipulationCommand* CreateCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId);
+    static MgPortableFeatureManipulationCommand* CreateCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId);
     virtual MgProperty* Execute() = 0;
 protected:
     virtual void Dispose()

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/FeatureServiceCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "FeatureServiceCommand.h"
 #include "ExtendedSelectCommand.h"
@@ -23,24 +23,24 @@
 #include "SelectCommand.h"
 #include "SelectAggregateCommand.h"
 
-MgdFeatureServiceCommand* MgdFeatureServiceCommand::CreateCommand(MgResourceIdentifier* resource, FdoCommandType commandType)
+MgPortableFeatureServiceCommand* MgPortableFeatureServiceCommand::CreateCommand(MgResourceIdentifier* resource, FdoCommandType commandType)
 {
-    Ptr<MgdFeatureServiceCommand> command;
+    Ptr<MgPortableFeatureServiceCommand> command;
     switch(commandType)
     {
         case FdoCommandType_Select:
         {
-            command = new MgdSelectCommand(resource);
+            command = new MgPortableSelectCommand(resource);
             break;
         }
         case FdoCommandType_SelectAggregates:
         {
-            command = new MgdSelectAggregateCommand(resource);
+            command = new MgPortableSelectAggregateCommand(resource);
             break;
         }
         case FdoCommandType_ExtendedSelect:
         {
-            command = new MgdExtendedSelectCommand(resource);
+            command = new MgPortableExtendedSelectCommand(resource);
             break;
         }
     }
@@ -47,7 +47,7 @@
     return command.Detach();
 }
 
-bool MgdFeatureServiceCommand::IsFdoSupportedFunction(FdoIConnection* connection, FdoFunction* fdoFunc)
+bool MgPortableFeatureServiceCommand::IsFdoSupportedFunction(FdoIConnection* connection, FdoFunction* fdoFunc)
 {
     CHECKNULL(connection, L"MgServerSelectFeatures.SupportsFunction");
 
@@ -84,12 +84,12 @@
     return supports;
 }
 
-bool MgdFeatureServiceCommand::SupportsSelectDistinct(FdoIConnection* connection)
+bool MgPortableFeatureServiceCommand::SupportsSelectDistinct(FdoIConnection* connection)
 {
-    CHECKNULL((FdoIConnection*)connection, L"MgdFeatureServiceCommand.SupportsSelectDistinct");
+    CHECKNULL((FdoIConnection*)connection, L"MgPortableFeatureServiceCommand.SupportsSelectDistinct");
 
     FdoPtr<FdoICommandCapabilities> fcc = connection->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgdFeatureServiceCommand.SupportsSelectDistinct");
+    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgPortableFeatureServiceCommand.SupportsSelectDistinct");
 
     bool supports = fcc->SupportsSelectDistinct();
 
@@ -97,12 +97,12 @@
 }
 
 
-bool MgdFeatureServiceCommand::SupportsSelectOrdering(FdoIConnection* connection)
+bool MgPortableFeatureServiceCommand::SupportsSelectOrdering(FdoIConnection* connection)
 {
-    CHECKNULL((FdoIConnection*)connection, L"MgdFeatureServiceCommand.SupportsSelectOrdering");
+    CHECKNULL((FdoIConnection*)connection, L"MgPortableFeatureServiceCommand.SupportsSelectOrdering");
 
     FdoPtr<FdoICommandCapabilities> fcc = connection->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgdFeatureServiceCommand.SupportsSelectOrdering");
+    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgPortableFeatureServiceCommand.SupportsSelectOrdering");
 
     bool supports = fcc->SupportsSelectOrdering();
 
@@ -109,12 +109,12 @@
     return supports;
 }
 
-bool MgdFeatureServiceCommand::SupportsSelectGrouping(FdoIConnection* connection)
+bool MgPortableFeatureServiceCommand::SupportsSelectGrouping(FdoIConnection* connection)
 {
-    CHECKNULL((FdoIConnection*)connection, L"MgdFeatureServiceCommand.SupportsSelectGrouping");
+    CHECKNULL((FdoIConnection*)connection, L"MgPortableFeatureServiceCommand.SupportsSelectGrouping");
 
     FdoPtr<FdoICommandCapabilities> fcc = connection->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgdFeatureServiceCommand.SupportsSelectGrouping");
+    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgPortableFeatureServiceCommand.SupportsSelectGrouping");
 
     bool supports = fcc->SupportsSelectGrouping();
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/FeatureServiceCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,13 +15,13 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFeatureServiceCommand_H_
-#define _MgdFeatureServiceCommand_H_
+#ifndef _MgPortableFeatureServiceCommand_H_
+#define _MgPortableFeatureServiceCommand_H_
 
-class MgdFeatureServiceCommand : public MgDisposable
+class MgPortableFeatureServiceCommand : public MgDisposable
 {
 public:
-    static MgdFeatureServiceCommand* CreateCommand(MgResourceIdentifier* resource, FdoCommandType commandType);
+    static MgPortableFeatureServiceCommand* CreateCommand(MgResourceIdentifier* resource, FdoCommandType commandType);
 
     virtual FdoIdentifierCollection* GetPropertyNames() = 0;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetConnectionPropertyValues.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,16 +21,16 @@
 #include "Services/Feature/FeatureUtil.h"
 #include "Services/CryptoDefs.h"
 
-MgdGetConnectionPropertyValues::MgdGetConnectionPropertyValues()
+MgPortableGetConnectionPropertyValues::MgPortableGetConnectionPropertyValues()
 {
 }
 
-MgdGetConnectionPropertyValues::~MgdGetConnectionPropertyValues()
+MgPortableGetConnectionPropertyValues::~MgPortableGetConnectionPropertyValues()
 {
 }
 
 // Executes the describe schema command and serializes the schema to XML
-MgStringCollection* MgdGetConnectionPropertyValues::GetConnectionPropertyValues( CREFSTRING providerName,
+MgStringCollection* MgPortableGetConnectionPropertyValues::GetConnectionPropertyValues( CREFSTRING providerName,
                                                                                       CREFSTRING propertyName,
                                                                                       CREFSTRING partialConnString )
 {
@@ -44,7 +44,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -54,7 +54,7 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -72,7 +72,7 @@
         cryptoUtil.DecryptString(cipherText, plainText);
         MgUtil::MultiByteToWideChar(plainText, decryptedPartialConnString);
 
-        MG_CRYPTOGRAPHY_CATCH(L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues")
+        MG_CRYPTOGRAPHY_CATCH(L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues")
 
         if (cryptographyException != NULL)
         {
@@ -86,25 +86,25 @@
     // Therefore validity of connection state does not apply.
 
     // Connect to provider
-    Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(providerName, decryptedPartialConnString);
+    Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(providerName, decryptedPartialConnString);
     {
         if(NULL == msfc.p)
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
         // otherwise it leaves the FDO connection marked as still in use.
         FdoPtr<FdoIConnection> fdoConn = msfc->GetConnection();
-        CHECKNULL((FdoIConnection*)fdoConn, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues");
+        CHECKNULL((FdoIConnection*)fdoConn, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues");
 
         // Get Connection Info
         FdoPtr<FdoIConnectionInfo> connInfo = fdoConn->GetConnectionInfo();
-        CHECKNULL((FdoIConnectionInfo*)connInfo, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues");
+        CHECKNULL((FdoIConnectionInfo*)connInfo, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues");
 
         // Get Connection Property Dictionary
         FdoPtr<FdoIConnectionPropertyDictionary> fdoConnPropDict = connInfo->GetConnectionProperties();
-        CHECKNULL((FdoIConnectionPropertyDictionary*)fdoConnPropDict, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues");
+        CHECKNULL((FdoIConnectionPropertyDictionary*)fdoConnPropDict, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues");
 
         bool enumerable = fdoConnPropDict->IsPropertyEnumerable((FdoString*)propertyName.c_str());
         if (!enumerable)
@@ -113,7 +113,7 @@
             arguments.Add(L"2");
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues",
                 __LINE__, __WFILE__, &arguments, L"MgPropertyNotEnumerable", NULL);
         }
 
@@ -130,7 +130,7 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGetConnectionPropertyValues.GetConnectionPropertyValues")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGetConnectionPropertyValues.GetConnectionPropertyValues")
 
     return stringCol.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetConnectionPropertyValues.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVER_GETCONNECTIONPROPERTYVALUES_H_
 #define _MG_SERVER_GETCONNECTIONPROPERTYVALUES_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetConnectionPropertyValues
+class MgPortableGetConnectionPropertyValues
 {
 public:
-    MgdGetConnectionPropertyValues();
-    ~MgdGetConnectionPropertyValues();
+    MgPortableGetConnectionPropertyValues();
+    ~MgPortableGetConnectionPropertyValues();
     MgStringCollection* GetConnectionPropertyValues( CREFSTRING providerName,
                                                      CREFSTRING propertyName,
                                                      CREFSTRING partialConnString );

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetFeatureProviders.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #include "Services/Feature/FeatureDefs.h"
 #include "GetFeatureProviders.h"
 
-MgdGetFeatureProviders::MgdGetFeatureProviders()
+MgPortableGetFeatureProviders::MgPortableGetFeatureProviders()
 {
     FdoPtr<IProviderRegistry> providerReg = FdoFeatureAccessManager::GetProviderRegistry();
-    CHECKNULL(providerReg, L"MgdGetFeatureProviders.MgdGetFeatureProviders()");
+    CHECKNULL(providerReg, L"MgPortableGetFeatureProviders.MgPortableGetFeatureProviders()");
 
     FdoPtr<IConnectionManager> connManager = FdoFeatureAccessManager::GetConnectionManager();
-    CHECKNULL(connManager, L"MgdGetFeatureProviders.MgdGetFeatureProviders()");
+    CHECKNULL(connManager, L"MgPortableGetFeatureProviders.MgPortableGetFeatureProviders()");
 
     m_fdoProviderCol = providerReg->GetProviders();
-    CHECKNULL(m_fdoProviderCol, L"MgdGetFeatureProviders.MgdGetFeatureProviders()");
+    CHECKNULL(m_fdoProviderCol, L"MgPortableGetFeatureProviders.MgPortableGetFeatureProviders()");
 
     // this XML follows the FeatureProviderRegistry-1.0.0.xsd schema
     m_xmlUtil = new MgXmlUtil("FeatureProviderRegistry" /* NOXLATE */);
-    CHECKNULL(m_xmlUtil, L"MgdGetFeatureProviders.MgdGetFeatureProviders()");
+    CHECKNULL(m_xmlUtil, L"MgPortableGetFeatureProviders.MgPortableGetFeatureProviders()");
 
     // no more risk of exceptions, so we can now assign these
     m_providerReg = providerReg.Detach();
@@ -38,7 +38,7 @@
     m_connManager = connManager.Detach();
 }
 
-MgdGetFeatureProviders::~MgdGetFeatureProviders()
+MgPortableGetFeatureProviders::~MgPortableGetFeatureProviders()
 {
     FDO_SAFE_RELEASE(m_providerReg);
     FDO_SAFE_RELEASE(m_connManager);
@@ -50,7 +50,7 @@
 }
 
 
-MgByteReader* MgdGetFeatureProviders::GetFeatureProviders()
+MgByteReader* MgPortableGetFeatureProviders::GetFeatureProviders()
 {
     Ptr<MgByteReader> byteReader;
 
@@ -59,14 +59,14 @@
     CreateFeatureProvidersDocument();
     byteReader = m_xmlUtil->ToReader();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGetFeatureProviders.GetFeatureProviders")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGetFeatureProviders.GetFeatureProviders")
 
     return byteReader.Detach();
 }
 
-void MgdGetFeatureProviders::CreateFeatureProvidersDocument()
+void MgPortableGetFeatureProviders::CreateFeatureProvidersDocument()
 {
-    CHECKNULL(m_fdoProviderCol, L"MgdGetFeatureProviders.CreateFeatureProvidersDocument");
+    CHECKNULL(m_fdoProviderCol, L"MgPortableGetFeatureProviders.CreateFeatureProvidersDocument");
 
     INT32 cnt = m_fdoProviderCol->GetCount();
     for (INT32 i = 0; i < cnt; i++)
@@ -107,9 +107,9 @@
     }
 }
 
-void MgdGetFeatureProviders::AddConnectionProperties(DOMElement* providerElem, FdoString* providerName)
+void MgPortableGetFeatureProviders::AddConnectionProperties(DOMElement* providerElem, FdoString* providerName)
 {
-    CHECKNULL(providerElem, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL(providerElem, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     // Get Properties
     FdoInt32 totalProperties = 0;
@@ -116,7 +116,7 @@
 
     // Add ConnnectionProperties element (mandatory element)
     DOMElement* connPropRootElem = m_xmlUtil->AddChildNode(providerElem, "ConnectionProperties" /* NOXLATE */ );
-    CHECKNULL(connPropRootElem, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL(connPropRootElem, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     // We ignore any exception thrown here so that even if client dll/so is missing, GetFeatureProviders
     // will continue to work.
@@ -125,19 +125,19 @@
     // Get FdoIConnection instance
     // TODO: Should this connection be cached?
     FdoPtr<FdoIConnection> fdoConn = m_connManager->CreateConnection(providerName);
-    CHECKNULL((FdoIConnection*)fdoConn, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL((FdoIConnection*)fdoConn, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     // Get FdoIConnectionInfo
     FdoPtr<FdoIConnectionInfo> fdoConnInfo = fdoConn->GetConnectionInfo();
-    CHECKNULL((FdoIConnectionInfo*)fdoConnInfo, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL((FdoIConnectionInfo*)fdoConnInfo, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     // Get FdoIConnectionPropertyDictionary
     FdoPtr<FdoIConnectionPropertyDictionary> fdoConnPropertyDict = fdoConnInfo->GetConnectionProperties();
-    CHECKNULL((FdoIConnectionPropertyDictionary*)fdoConnPropertyDict, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL((FdoIConnectionPropertyDictionary*)fdoConnPropertyDict, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     // Get list of all properties
     FdoString** properties = fdoConnPropertyDict->GetPropertyNames(totalProperties);
-    CHECKNULL(properties, L"MgdGetFeatureProviders.AddConnectionProperties");
+    CHECKNULL(properties, L"MgPortableGetFeatureProviders.AddConnectionProperties");
 
     for ( FdoInt32 i=0; i < totalProperties; i++ )
     {
@@ -144,16 +144,16 @@
         AddConnectionProperty(connPropRootElem, properties[i], fdoConnPropertyDict);
     }
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdGetFeatureProviders.GetFeatureProviders") // do not rethrow so that GetFeatureProviders works
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableGetFeatureProviders.GetFeatureProviders") // do not rethrow so that GetFeatureProviders works
 }
 
-void MgdGetFeatureProviders::AddConnectionProperty(DOMElement* connPropRootElem,
+void MgPortableGetFeatureProviders::AddConnectionProperty(DOMElement* connPropRootElem,
                                                    FdoString* propertyName,
                                                    FdoIConnectionPropertyDictionary* fdoConnPropertyDict)
 {
-    CHECKNULL(connPropRootElem,     L"MgdGetFeatureProviders.AddConnectionProperty");
-    CHECKNULL(propertyName,         L"MgdGetFeatureProviders.AddConnectionProperty");
-    CHECKNULL(fdoConnPropertyDict,  L"MgdGetFeatureProviders.AddConnectionProperty");
+    CHECKNULL(connPropRootElem,     L"MgPortableGetFeatureProviders.AddConnectionProperty");
+    CHECKNULL(propertyName,         L"MgPortableGetFeatureProviders.AddConnectionProperty");
+    CHECKNULL(fdoConnPropertyDict,  L"MgPortableGetFeatureProviders.AddConnectionProperty");
 
     DOMElement* connPropElem = m_xmlUtil->AddChildNode(connPropRootElem, "ConnectionProperty"  /* NOXLATE */ );
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetFeatureProviders.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVER_GET_FEATURE_PROVIDERS_H_
 #define _MG_SERVER_GET_FEATURE_PROVIDERS_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetFeatureProviders
+class MgPortableGetFeatureProviders
 {
 public:
-    MgdGetFeatureProviders();
-    ~MgdGetFeatureProviders();
+    MgPortableGetFeatureProviders();
+    ~MgPortableGetFeatureProviders();
 
 
     MgByteReader* GetFeatureProviders();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetLongTransactions.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,16 +21,16 @@
 #include "Services/Feature/FeatureUtil.h"
 #include <math.h>
 
-MgdGetLongTransactions::MgdGetLongTransactions()
+MgPortableGetLongTransactions::MgPortableGetLongTransactions()
 {
 }
 
-MgdGetLongTransactions::~MgdGetLongTransactions()
+MgPortableGetLongTransactions::~MgPortableGetLongTransactions()
 {
 }
 
 // Executes the get long transactions command and serializes the schema to XML
-MgLongTransactionReader* MgdGetLongTransactions::GetLongTransactions(MgResourceIdentifier* resId, bool bActiveOnly)
+MgLongTransactionReader* MgPortableGetLongTransactions::GetLongTransactions(MgResourceIdentifier* resId, bool bActiveOnly)
 {
     Ptr<MgLongTransactionReader> mgLongTransactionReader;
     mgLongTransactionReader = NULL;
@@ -39,16 +39,16 @@
 
     if (NULL == resId)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdGetLongTransactions.GetLongTransactions", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableGetLongTransactions.GetLongTransactions", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Connect to provider
-    Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(resId);
+    Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(resId);
 
     // connection must be open to retrieve list of active contexts
     if ((NULL != msfc.p) && ( msfc->IsConnectionOpen() ))
     {
-        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
         // otherwise it leaves the FDO connection marked as still in use.
         FdoPtr<FdoIConnection> fdoConn = msfc->GetConnection();
         m_providerName = msfc->GetProviderName();
@@ -57,16 +57,16 @@
         if (!msfc->SupportsCommand((INT32)FdoCommandType_GetLongTransactions))
         {
             // TODO: specify which argument and message, once we have the mechanism
-            STRING message = MgdFeatureUtil::GetMessage(L"MgCommandNotSupported");
-            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdGetLongTransactions.GetLongTransactions", __LINE__, __WFILE__, NULL, L"", NULL);
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgCommandNotSupported");
+            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableGetLongTransactions.GetLongTransactions", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoIGetLongTransactions> fdoCommand = (FdoIGetLongTransactions*)fdoConn->CreateCommand(FdoCommandType_GetLongTransactions);
-        CHECKNULL((FdoIGetLongTransactions*)fdoCommand, L"MgdGetLongTransactions.GetLongTransactions");
+        CHECKNULL((FdoIGetLongTransactions*)fdoCommand, L"MgPortableGetLongTransactions.GetLongTransactions");
 
         // Execute the command
         FdoPtr<FdoILongTransactionReader> longTransactionReader = fdoCommand->Execute();
-        CHECKNULL((FdoILongTransactionReader*)longTransactionReader, L"MgdGetLongTransactions.GetLongTransactions");
+        CHECKNULL((FdoILongTransactionReader*)longTransactionReader, L"MgPortableGetLongTransactions.GetLongTransactions");
 
         mgLongTransactionReader = new MgLongTransactionReader();
         while (longTransactionReader->ReadNext())
@@ -83,7 +83,7 @@
 
             // Add transaction data to the long transaction reader
             Ptr<MgLongTransactionData> longTransactionData = GetLongTransactionData(longTransactionReader);
-            CHECKNULL((MgLongTransactionData*)longTransactionData, L"MgdGetLongTransactions.GetLongTransactions");
+            CHECKNULL((MgLongTransactionData*)longTransactionData, L"MgPortableGetLongTransactions.GetLongTransactions");
             mgLongTransactionReader->AddLongTransactionData(longTransactionData);
 
             // If only active long transaction is required skip all others
@@ -96,21 +96,21 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdGetLongTransactions::GetLongTransactions()", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableGetLongTransactions::GetLongTransactions()", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resId, L"MgdGetLongTransactions.GetLongTransactions")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resId, L"MgPortableGetLongTransactions.GetLongTransactions")
 
     return mgLongTransactionReader.Detach();
 }
 
-MgLongTransactionData* MgdGetLongTransactions::GetLongTransactionData(FdoILongTransactionReader* longTransactionReader)
+MgLongTransactionData* MgPortableGetLongTransactions::GetLongTransactionData(FdoILongTransactionReader* longTransactionReader)
 {
     Ptr<MgLongTransactionData> longTransactionData = new MgLongTransactionData();
 
     // Name must exist
     FdoString* name = longTransactionReader->GetName();
-    CHECKNULL((FdoString*)name, L"MgdGetLongTransactions.GetLongTransactions");
+    CHECKNULL((FdoString*)name, L"MgPortableGetLongTransactions.GetLongTransactions");
     longTransactionData->SetName(STRING(name));
 
     // Desc for long transaction

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetLongTransactions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVERGETLONGTRANSACTIONS_H_
 #define _MG_SERVERGETLONGTRANSACTIONS_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetLongTransactions
+class MgPortableGetLongTransactions
 {
 public:
-    MgdGetLongTransactions();
-    ~MgdGetLongTransactions();
+    MgPortableGetLongTransactions();
+    ~MgPortableGetLongTransactions();
     MgLongTransactionReader* GetLongTransactions(MgResourceIdentifier* resId, bool bActiveOnly);
     MgLongTransactionData* GetLongTransactionData(FdoILongTransactionReader* longTransactionReader);
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetProviderCapabilities.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -35,10 +35,10 @@
 static std::map<FdoGeometryType,  std::string>             s_FdoGeometryType;
 static std::map<FdoGeometryComponentType,  std::string>    s_FdoGeometryComponentType;
 
-bool MgdGetProviderCapabilities::m_isInitialized = MgdGetProviderCapabilities::Initialize();
+bool MgPortableGetProviderCapabilities::m_isInitialized = MgPortableGetProviderCapabilities::Initialize();
 
 
-MgdGetProviderCapabilities::MgdGetProviderCapabilities(CREFSTRING providerName, CREFSTRING connectionString)
+MgPortableGetProviderCapabilities::MgPortableGetProviderCapabilities(CREFSTRING providerName, CREFSTRING connectionString)
 {
     if (providerName.empty())
     {
@@ -46,12 +46,12 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGetProviderCapabilities.MgdGetProviderCapabilities",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGetProviderCapabilities.MgPortableGetProviderCapabilities",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
     FdoPtr<IConnectionManager> connManager = FdoFeatureAccessManager::GetConnectionManager();
-    CHECKNULL(connManager, L"MgdGetProviderCapabilities.MgdGetProviderCapabilities");
+    CHECKNULL(connManager, L"MgPortableGetProviderCapabilities.MgPortableGetProviderCapabilities");
 
     // Remove the version from the provider name
     FdoPtr<FdoProviderNameTokens> tokens = FdoProviderNameTokens::Create(providerName.c_str());
@@ -76,10 +76,10 @@
         fdoConn->Open();
     }
 
-    CHECKNULL(fdoConn, L"MgdGetProviderCapabilities.MgdGetProviderCapabilities");
+    CHECKNULL(fdoConn, L"MgPortableGetProviderCapabilities.MgPortableGetProviderCapabilities");
 
     m_xmlUtil = new MgXmlUtil();
-    CHECKNULL(m_xmlUtil, L"MgdGetProviderCapabilities.MgdGetProviderCapabilities");
+    CHECKNULL(m_xmlUtil, L"MgPortableGetProviderCapabilities.MgPortableGetProviderCapabilities");
 
     m_xmlCap = NULL;
 
@@ -88,12 +88,12 @@
     m_providerName = providerNoVersion;
 }
 
-MgdGetProviderCapabilities::~MgdGetProviderCapabilities()
+MgPortableGetProviderCapabilities::~MgPortableGetProviderCapabilities()
 {
     // Check if the connection needs to be closed
     if(m_fdoConn->GetConnectionState() == FdoConnectionState_Open)
     {
-        MgdFdoConnectionUtil::CloseConnection(m_fdoConn);
+        MgPortableFdoConnectionUtil::CloseConnection(m_fdoConn);
     }
 
     m_fdoConn = NULL;
@@ -103,9 +103,9 @@
 }
 
 
-MgByteReader* MgdGetProviderCapabilities::GetProviderCapabilities()
+MgByteReader* MgPortableGetProviderCapabilities::GetProviderCapabilities()
 {
-    CHECKNULL(m_xmlUtil, L"MgdGetProviderCapabilities.GetProviderCapabilities");
+    CHECKNULL(m_xmlUtil, L"MgPortableGetProviderCapabilities.GetProviderCapabilities");
     Ptr<MgByteReader> byteReader;
 
     MG_FEATURE_SERVICE_TRY()
@@ -118,17 +118,17 @@
         byteReader = m_xmlCap->ToReader();
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGetProviderCapabilities.GetProviderCapabilities")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGetProviderCapabilities.GetProviderCapabilities")
 
     return byteReader.Detach();
 }
 
-void MgdGetProviderCapabilities::CreateCapabilitiesDocument()
+void MgPortableGetProviderCapabilities::CreateCapabilitiesDocument()
 {
     // Root node element created
     // this XML follows the FdoProviderCapabilities-1.0.0.xsd schema
     m_xmlCap = new MgXmlUtil("FeatureProviderCapabilities");
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateCapabilitiesDocument");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateCapabilitiesDocument");
     DOMElement* root = m_xmlCap->GetRootNode();
 
     // Provide name element and its attribute
@@ -152,19 +152,19 @@
 
 
 
-void MgdGetProviderCapabilities::CreateConnectionCapabilities()
+void MgPortableGetProviderCapabilities::CreateConnectionCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
 
     DOMElement* connNode = m_xmlCap->AddChildNode(root, "Connection");
-    CHECKNULL(connNode, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
+    CHECKNULL(connNode, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
 
     FdoPtr<FdoIConnectionCapabilities> ficc = m_fdoConn->GetConnectionCapabilities();
-    CHECKNULL((FdoIConnectionCapabilities*)ficc, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
+    CHECKNULL((FdoIConnectionCapabilities*)ficc, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
 
     // Thread
     FdoThreadCapability ftc = ficc->GetThreadCapability();
@@ -177,7 +177,7 @@
     if (cnt > 0 && fscet != NULL)
     {
         DOMElement* scNode = m_xmlCap->AddChildNode(connNode, "SpatialContextExtent");
-        CHECKNULL(scNode, L"MgdGetProviderCapabilities::CreateConnectionCapabilities");
+        CHECKNULL(scNode, L"MgPortableGetProviderCapabilities::CreateConnectionCapabilities");
 
         for (FdoInt32 i = 0; i < cnt; i++)
         {
@@ -210,19 +210,19 @@
 }
 
 
-void MgdGetProviderCapabilities::CreateSchemaCapabilities()
+void MgPortableGetProviderCapabilities::CreateSchemaCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
     FdoPtr<FdoISchemaCapabilities> fsc = m_fdoConn->GetSchemaCapabilities();
-    CHECKNULL((FdoISchemaCapabilities*)fsc, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+    CHECKNULL((FdoISchemaCapabilities*)fsc, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
     DOMElement* schemaNode = m_xmlCap->AddChildNode(root, "Schema");
-    CHECKNULL(schemaNode, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+    CHECKNULL(schemaNode, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
     // Add all class types
     FdoInt32 cnt = 0;
@@ -230,7 +230,7 @@
     if (cnt > 0 && fct != NULL)
     {
         DOMElement* classNode = m_xmlCap->AddChildNode(schemaNode, "Class");
-        CHECKNULL(classNode, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+        CHECKNULL(classNode, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -245,7 +245,7 @@
     if (cnt > 0 && fdt != NULL)
     {
         DOMElement* dataNode = m_xmlCap->AddChildNode(schemaNode, "Data");
-        CHECKNULL(dataNode, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+        CHECKNULL(dataNode, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -284,7 +284,7 @@
     if (cnt > 0 && sagt != NULL)
     {
         DOMElement* sagtNode = m_xmlCap->AddChildNode(schemaNode, "SupportedAutoGeneratedTypes");
-        CHECKNULL(sagtNode, L"MgdGetProviderCapabilities::CreateSchemaCapabilities");
+        CHECKNULL(sagtNode, L"MgPortableGetProviderCapabilities::CreateSchemaCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -297,19 +297,19 @@
     m_xmlCap->AddTextNode(schemaNode, "SupportsSchemaModification", supportsSchemaModification);
 }
 
-void MgdGetProviderCapabilities::CreateCommandCapabilities()
+void MgPortableGetProviderCapabilities::CreateCommandCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
 
     FdoPtr<FdoICommandCapabilities> fcc = m_fdoConn->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
+    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
 
     DOMElement* cmdNode = m_xmlCap->AddChildNode(root, "Command");
-    CHECKNULL(cmdNode, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
+    CHECKNULL(cmdNode, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
 
     // Add all command types
     FdoInt32 cnt = 0;
@@ -317,7 +317,7 @@
     if (cnt > 0 && fcmd != NULL)
     {
         DOMElement* scNode = m_xmlCap->AddChildNode(cmdNode, "SupportedCommands");
-        CHECKNULL(scNode, L"MgdGetProviderCapabilities::CreateCommandCapabilities");
+        CHECKNULL(scNode, L"MgPortableGetProviderCapabilities::CreateCommandCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -383,19 +383,19 @@
     m_xmlCap->AddTextNode(cmdNode, "SupportsSelectGrouping", supportsSelectGrouping);
 }
 
-void MgdGetProviderCapabilities::CreateFilterCapabilities()
+void MgPortableGetProviderCapabilities::CreateFilterCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
     FdoPtr<FdoIFilterCapabilities> ffc = m_fdoConn->GetFilterCapabilities();
-    CHECKNULL((FdoIFilterCapabilities*)ffc, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+    CHECKNULL((FdoIFilterCapabilities*)ffc, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
     DOMElement* filterNode = m_xmlCap->AddChildNode(root, "Filter");
-    CHECKNULL(filterNode, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+    CHECKNULL(filterNode, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
     // Add all condition types
     FdoInt32 cnt = 0;
@@ -403,7 +403,7 @@
     if (cnt > 0 && fct != NULL)
     {
         DOMElement* condNode = m_xmlCap->AddChildNode(filterNode, "Condition");
-        CHECKNULL(condNode, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+        CHECKNULL(condNode, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -418,7 +418,7 @@
     if (cnt > 0 && fso != NULL)
     {
         DOMElement* fsoNode = m_xmlCap->AddChildNode(filterNode, "Spatial");
-        CHECKNULL(fsoNode, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+        CHECKNULL(fsoNode, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -433,7 +433,7 @@
     if (cnt > 0 && fdo != NULL)
     {
         DOMElement* distNode = m_xmlCap->AddChildNode(filterNode, "Distance");
-        CHECKNULL(distNode, L"MgdGetProviderCapabilities::CreateFilterCapabilities");
+        CHECKNULL(distNode, L"MgPortableGetProviderCapabilities::CreateFilterCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -451,19 +451,19 @@
     m_xmlCap->AddTextNode(filterNode, "SupportsNonLiteralGeometricOperations", supportsNonLiteralGeometricOperations);
 }
 
-void MgdGetProviderCapabilities::CreateExpressionCapabilities()
+void MgPortableGetProviderCapabilities::CreateExpressionCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     FdoPtr<FdoIExpressionCapabilities> fec = m_fdoConn->GetExpressionCapabilities();
-    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     DOMElement* expressionNode = m_xmlCap->AddChildNode(root, "Expression");
-    CHECKNULL(expressionNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(expressionNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     // Add all expression types
     FdoInt32 cnt = 0;
@@ -471,7 +471,7 @@
     if (cnt > 0 && fet != NULL)
     {
         DOMElement* typeNode = m_xmlCap->AddChildNode(expressionNode, "Type");
-        CHECKNULL(typeNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+        CHECKNULL(typeNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -490,16 +490,16 @@
         {
             // Add function definition collection element if there are any functions available
             DOMElement* funcDefColNode = m_xmlCap->AddChildNode(expressionNode, "FunctionDefinitionList");
-            CHECKNULL(funcDefColNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+            CHECKNULL(funcDefColNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
             for (FdoInt32 i=0; i < funcCnt; i++)
             {
                 // Add function definition element
                 FdoPtr<FdoFunctionDefinition> ffd = ffdc->GetItem(i);
-                CHECKNULL((FdoFunctionDefinition*)ffd, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                CHECKNULL((FdoFunctionDefinition*)ffd, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                 DOMElement* funcDefNode = m_xmlCap->AddChildNode(funcDefColNode, "FunctionDefinition");
-                CHECKNULL(funcDefNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                CHECKNULL(funcDefNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                 const char* strName = MgUtil::WideCharToMultiByte(ffd->GetName());
                 const char* strDesc = MgUtil::WideCharToMultiByte(ffd->GetDescription());
@@ -523,16 +523,16 @@
                     {
                         // Add ArgumentDefinitionCollection if there are arguments
                         DOMElement* argDefColNode = m_xmlCap->AddChildNode(funcDefNode, "ArgumentDefinitionList");
-                        CHECKNULL(argDefColNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                        CHECKNULL(argDefColNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                         for (FdoInt32 j=0; j < argCnt; j++)
                         {
                             // Add ArgumentDefinition for each argument
                             FdoPtr<FdoArgumentDefinition> fad = argCol->GetItem(j);
-                            CHECKNULL((FdoArgumentDefinition*)fad, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                            CHECKNULL((FdoArgumentDefinition*)fad, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                             DOMElement* argDefNode = m_xmlCap->AddChildNode(argDefColNode, "ArgumentDefinition");
-                            CHECKNULL(argDefNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                            CHECKNULL(argDefNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                             const char* strArgName = MgUtil::WideCharToMultiByte(fad->GetName());
                             const char* strArgDesc = MgUtil::WideCharToMultiByte(fad->GetDescription());
@@ -555,19 +555,19 @@
 }
 
 
-void MgdGetProviderCapabilities::CreateExpressionCapabilities2()
+void MgPortableGetProviderCapabilities::CreateExpressionCapabilities2()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     FdoPtr<FdoIExpressionCapabilities> fec = m_fdoConn->GetExpressionCapabilities();
-    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     DOMElement* expressionNode = m_xmlCap->AddChildNode(root, "Expression");
-    CHECKNULL(expressionNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+    CHECKNULL(expressionNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
     // Add all expression types
     FdoInt32 cnt = 0;
@@ -575,7 +575,7 @@
     if (cnt > 0 && fet != NULL)
     {
         DOMElement* typeNode = m_xmlCap->AddChildNode(expressionNode, "Type");
-        CHECKNULL(typeNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+        CHECKNULL(typeNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -594,16 +594,16 @@
         {
             // Add function definition collection element if there are any functions available
             DOMElement* funcDefColNode = m_xmlCap->AddChildNode(expressionNode, "FunctionDefinitionList");
-            CHECKNULL(funcDefColNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+            CHECKNULL(funcDefColNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
             for (FdoInt32 i=0; i < funcCnt; i++)
             {
                 // Add function definition element
                 FdoPtr<FdoFunctionDefinition> ffd = ffdc->GetItem(i);
-                CHECKNULL((FdoFunctionDefinition*)ffd, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                CHECKNULL((FdoFunctionDefinition*)ffd, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                 DOMElement* funcDefNode = m_xmlCap->AddChildNode(funcDefColNode, "FunctionDefinition");
-                CHECKNULL(funcDefNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                CHECKNULL(funcDefNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                 const char* strName = MgUtil::WideCharToMultiByte(ffd->GetName());
                 const char* strDesc = MgUtil::WideCharToMultiByte(ffd->GetDescription());
@@ -629,16 +629,16 @@
                     {
 
                         DOMElement* signDefColNode = m_xmlCap->AddChildNode(funcDefNode, "SignatureDefinitionCollection");
-                        CHECKNULL(signDefColNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                        CHECKNULL(signDefColNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
                         for (FdoInt32 j=0; j < signaturesCnt; j++)
                         {
 
                             // Add SignatureDefinition for each signature
                             FdoPtr<FdoSignatureDefinition> fsd = signatures->GetItem(j);
-                            CHECKNULL((FdoSignatureDefinition*)fsd, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                            CHECKNULL((FdoSignatureDefinition*)fsd, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                             DOMElement* signDefNode = m_xmlCap->AddChildNode(signDefColNode, "SignatureDefinition");
-                            CHECKNULL(signDefNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                            CHECKNULL(signDefNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                             FdoPropertyType eSignPropertyDataType = fsd->GetReturnPropertyType();
                             string strSignPropertyType = s_FdoPropertyTypeAsString[eSignPropertyDataType];
@@ -654,7 +654,7 @@
                                 m_xmlCap->AddTextNode(signDefNode, "DataType",  strSignDataType.c_str());
 
                             DOMElement* argDefColNode = m_xmlCap->AddChildNode(signDefNode, "ArgumentDefinitionList");
-                            CHECKNULL(argDefColNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                            CHECKNULL(argDefColNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                             FdoPtr<FdoReadOnlyArgumentDefinitionCollection> fads = fsd->GetArguments();
                             if (NULL != (FdoReadOnlyArgumentDefinitionCollection *) fads)
@@ -665,10 +665,10 @@
                                     for (int k=0; k<argCnt; k++)
                                     {
                                         FdoPtr<FdoArgumentDefinition> fad = fads->GetItem(k);
-                                        CHECKNULL((FdoArgumentDefinition*)fad, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                                        CHECKNULL((FdoArgumentDefinition*)fad, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                                         DOMElement* argDefNode = m_xmlCap->AddChildNode(argDefColNode, "ArgumentDefinition");
-                                        CHECKNULL(argDefNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                                        CHECKNULL(argDefNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                                         const char* strArgName = MgUtil::WideCharToMultiByte(fad->GetName());
                                         const char* strArgDesc = MgUtil::WideCharToMultiByte(fad->GetDescription());
@@ -697,7 +697,7 @@
                                             if (fpvc->GetConstraintType() == FdoPropertyValueConstraintType_List)
                                             {
                                                 DOMElement* propValueConstListNode = m_xmlCap->AddChildNode(argDefNode, "PropertyValueConstraintList");
-                                                CHECKNULL(propValueConstListNode, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                                                CHECKNULL(propValueConstListNode, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
 
                                                 FdoPropertyValueConstraintType eConstraintType = fpvc->GetConstraintType();
 
@@ -710,7 +710,7 @@
                                                         for (int l=0; l<dvCnt; l++)
                                                         {
                                                             FdoPtr<FdoDataValue> dv = dvc->GetItem(l);
-                                                            CHECKNULL((FdoDataValue*)dv, L"MgdGetProviderCapabilities::CreateExpressionCapabilities");
+                                                            CHECKNULL((FdoDataValue*)dv, L"MgPortableGetProviderCapabilities::CreateExpressionCapabilities");
                                                             FdoDataType dataType = dv->GetDataType();
                                                             // FdoDataType_String is the only supported type
                                                             if (dataType == FdoDataType_String)
@@ -737,19 +737,19 @@
     }
 }
 
-void MgdGetProviderCapabilities::CreateRasterCapabilities()
+void MgPortableGetProviderCapabilities::CreateRasterCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateRasterCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateRasterCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateRasterCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateRasterCapabilities");
 
     FdoPtr<FdoIRasterCapabilities> frc = m_fdoConn->GetRasterCapabilities();
-    CHECKNULL((FdoIRasterCapabilities*)frc, L"MgdGetProviderCapabilities::CreateRasterCapabilities");
+    CHECKNULL((FdoIRasterCapabilities*)frc, L"MgPortableGetProviderCapabilities::CreateRasterCapabilities");
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateRasterCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateRasterCapabilities");
 
     DOMElement* rasterNode = m_xmlCap->AddChildNode(root, "Raster");
-    CHECKNULL(rasterNode, L"MgdGetProviderCapabilities::CreateRasterCapabilities");
+    CHECKNULL(rasterNode, L"MgPortableGetProviderCapabilities::CreateRasterCapabilities");
 
     // Supports Raster
     bool supportsRaster = frc->SupportsRaster();
@@ -764,10 +764,10 @@
 
 }
 
-void MgdGetProviderCapabilities::CreateTopologyCapabilities()
+void MgPortableGetProviderCapabilities::CreateTopologyCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities::CreateTopologyCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities::CreateTopologyCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities::CreateTopologyCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities::CreateTopologyCapabilities");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -780,10 +780,10 @@
     }
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities::CreateTopologyCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities::CreateTopologyCapabilities");
 
     DOMElement* topologyNode = m_xmlCap->AddChildNode(root, "Topology");
-    CHECKNULL(topologyNode, L"MgdGetProviderCapabilities::CreateTopologyCapabilities");
+    CHECKNULL(topologyNode, L"MgPortableGetProviderCapabilities::CreateTopologyCapabilities");
 
     // Supports Topology
     bool supportsTopology = frc->SupportsTopology();
@@ -803,14 +803,14 @@
     m_xmlCap->AddTextNode(topologyNode, "ConstrainsFeatureMovements", constrainsFeatureMovements);
 
     // TODO: Change this to CATCH_AND_THROW when SimpleDB stops throwing exception of not implemented
-    MG_FEATURE_SERVICE_CATCH(L"MgdGetProviderCapabilities.CreateTopologyCapabilities")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableGetProviderCapabilities.CreateTopologyCapabilities")
 
 }
 
-void MgdGetProviderCapabilities::CreateGeometryCapabilities()
+void MgPortableGetProviderCapabilities::CreateGeometryCapabilities()
 {
-    CHECKNULL(m_xmlCap, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
+    CHECKNULL(m_xmlCap, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -823,10 +823,10 @@
     }
 
     DOMElement* root = m_xmlCap->GetRootNode();
-    CHECKNULL(root, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
+    CHECKNULL(root, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
 
     DOMElement* geometryNode = m_xmlCap->AddChildNode(root, "Geometry");
-    CHECKNULL(geometryNode, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
+    CHECKNULL(geometryNode, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
 
     FdoInt32 cnt = 0;
     FdoGeometryType* geomType = fgc->GetGeometryTypes(cnt);
@@ -833,7 +833,7 @@
     if (cnt > 0 && geomType != NULL)
     {
         DOMElement* geometryTypeNode = m_xmlCap->AddChildNode(geometryNode, "Types");
-        CHECKNULL(geometryTypeNode, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
+        CHECKNULL(geometryTypeNode, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -846,7 +846,7 @@
     if (cnt > 0 && geomCompType != NULL)
     {
         DOMElement* geometryCompNode = m_xmlCap->AddChildNode(geometryNode, "Components");
-        CHECKNULL(geometryCompNode, L"MgdGetProviderCapabilities.CreateGeometryCapabilities");
+        CHECKNULL(geometryCompNode, L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities");
 
         for (FdoInt32 i=0; i < cnt; i++)
         {
@@ -862,12 +862,12 @@
 
     m_xmlCap->AddTextNode(geometryNode, "Dimensionality", &buff[0]);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGetProviderCapabilities.CreateGeometryCapabilities")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGetProviderCapabilities.CreateGeometryCapabilities")
 }
 
-bool MgdGetProviderCapabilities::IsConnectionOpen()
+bool MgPortableGetProviderCapabilities::IsConnectionOpen()
 {
-    CHECKNULL(m_fdoConn, L"MgdGetProviderCapabilities.IsConnectionOpen");
+    CHECKNULL(m_fdoConn, L"MgPortableGetProviderCapabilities.IsConnectionOpen");
 
     FdoConnectionState state = m_fdoConn->GetConnectionState();
     if (state != FdoConnectionState_Open)
@@ -876,7 +876,7 @@
     return true;
 }
 
-bool MgdGetProviderCapabilities::Initialize()
+bool MgPortableGetProviderCapabilities::Initialize()
 {
     // Thread Capability
     s_FdoThreadCapability[FdoThreadCapability_SingleThreaded]           = "SingleThreaded";

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetProviderCapabilities.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVER_GET_PROVIDER_CAPABILITIES_H_
 #define _MG_SERVER_GET_PROVIDER_CAPABILITIES_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetProviderCapabilities
+class MgPortableGetProviderCapabilities
 {
 public:
-    MgdGetProviderCapabilities(CREFSTRING providerName, CREFSTRING connectionString);
-    ~MgdGetProviderCapabilities();
+    MgPortableGetProviderCapabilities(CREFSTRING providerName, CREFSTRING connectionString);
+    ~MgPortableGetProviderCapabilities();
     MgByteReader* GetProviderCapabilities();
 
 private:

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetSchemaMapping.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,12 +19,12 @@
 #include "GetSchemaMapping.h"
 #include "Services/Resource/UnmanagedDataManager.h"
 
-MgdGetSchemaMapping::MgdGetSchemaMapping() :
+MgPortableGetSchemaMapping::MgPortableGetSchemaMapping() :
     m_bytes(NULL)
 {
 }
 
-MgdGetSchemaMapping::~MgdGetSchemaMapping()
+MgPortableGetSchemaMapping::~MgPortableGetSchemaMapping()
 {
     delete [] m_bytes;
     m_bytes = NULL;
@@ -31,7 +31,7 @@
 }
 
 
-MgByteReader* MgdGetSchemaMapping::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString)
+MgByteReader* MgPortableGetSchemaMapping::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -38,13 +38,13 @@
     MG_FEATURE_SERVICE_TRY()
 
     STRING data = partialConnString;
-    MgdUnmanagedDataManager::SubstituteDataPathAliases(data);
+    MgPortableUnmanagedDataManager::SubstituteDataPathAliases(data);
 
     // Connect to the provider
-    Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(providerName, data);
+    Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(providerName, data);
     if ((NULL != msfc.p) && (( msfc->IsConnectionOpen() ) || ( msfc->IsConnectionPending() )))
     {
-        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
         // otherwise it leaves the FDO connection marked as still in use.
         FdoPtr<FdoIConnection> fdoConnection;
         fdoConnection = msfc->GetConnection();
@@ -51,7 +51,7 @@
 
         // Create the memory stream
         FdoIoMemoryStreamP fmis = FdoIoMemoryStream::Create();
-        CHECKNULL((FdoIoMemoryStream*)fmis, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL((FdoIoMemoryStream*)fmis, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         FdoXmlWriterP writer = FdoXmlWriter::Create(fmis);
 
@@ -69,12 +69,12 @@
 
         // Get the schema
         FdoPtr<FdoIDescribeSchema> fdoDescribeSchemaCommand = (FdoIDescribeSchema*)fdoConnection->CreateCommand(FdoCommandType_DescribeSchema);
-        CHECKNULL((FdoIDescribeSchema*)fdoDescribeSchemaCommand, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL((FdoIDescribeSchema*)fdoDescribeSchemaCommand, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         // Execute the command
         FdoPtr<FdoFeatureSchemaCollection> fdoFeatureSchemaCollection;
         fdoFeatureSchemaCollection = fdoDescribeSchemaCommand->Execute();
-        CHECKNULL((FdoFeatureSchemaCollection*)fdoFeatureSchemaCollection, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL((FdoFeatureSchemaCollection*)fdoFeatureSchemaCollection, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         // Write to memory stream
         fdoFeatureSchemaCollection->WriteXml(writer);
@@ -81,7 +81,7 @@
 
         // Get the schema mapping
         FdoPtr<FdoIDescribeSchemaMapping> fdoDescribeSchemaMappingCommand = (FdoIDescribeSchemaMapping*)fdoConnection->CreateCommand(FdoCommandType_DescribeSchemaMapping);
-        CHECKNULL((FdoIDescribeSchemaMapping*)fdoDescribeSchemaMappingCommand, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL((FdoIDescribeSchemaMapping*)fdoDescribeSchemaMappingCommand, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         fdoDescribeSchemaMappingCommand->SetIncludeDefaults(true);
 
@@ -88,7 +88,7 @@
         // Execute the command
         FdoPtr<FdoPhysicalSchemaMappingCollection> fdoPhysicalSchemaMappingCollection;
         fdoPhysicalSchemaMappingCollection = fdoDescribeSchemaMappingCommand->Execute();
-        CHECKNULL((FdoPhysicalSchemaMappingCollection*)fdoPhysicalSchemaMappingCollection, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL((FdoPhysicalSchemaMappingCollection*)fdoPhysicalSchemaMappingCollection, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         // Write to memory stream
         fdoPhysicalSchemaMappingCollection->WriteXml(writer);
@@ -100,7 +100,7 @@
 
         FdoInt64 len = fmis->GetLength();
         m_bytes = new FdoByte[(size_t)len];
-        CHECKNULL(m_bytes, L"MgdGetSchemaMapping.GetSchemaMapping");
+        CHECKNULL(m_bytes, L"MgPortableGetSchemaMapping.GetSchemaMapping");
 
         fmis->Read(m_bytes, (FdoSize)len);
 
@@ -110,10 +110,10 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdGetSchemaMapping::GetSchemaMapping()", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableGetSchemaMapping::GetSchemaMapping()", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGetSchemaMapping.GetSchemaMapping")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGetSchemaMapping.GetSchemaMapping")
 
     return byteReader.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetSchemaMapping.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef _MG_SERVER_GET_SCHEMA_MAPPING_H_
 #define _MG_SERVER_GET_SCHEMA_MAPPING_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetSchemaMapping
+class MgPortableGetSchemaMapping
 {
 public:
-    MgdGetSchemaMapping();
-    ~MgdGetSchemaMapping();
+    MgPortableGetSchemaMapping();
+    ~MgPortableGetSchemaMapping();
 
 
     MgByteReader* GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetSpatialContexts.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,18 +22,18 @@
 #include "Services/Feature/FeatureServiceCache.h"
 #include "GeometryCommon.h"
 
-MgdGetSpatialContexts::MgdGetSpatialContexts()
+MgPortableGetSpatialContexts::MgPortableGetSpatialContexts()
 {
-    m_featureServiceCache = MgdFeatureServiceCache::GetInstance();
+    m_featureServiceCache = MgPortableFeatureServiceCache::GetInstance();
 }
 
-MgdGetSpatialContexts::~MgdGetSpatialContexts()
+MgPortableGetSpatialContexts::~MgPortableGetSpatialContexts()
 {
 }
 
 // Executes the GetSpatialContext command and creates a reader
 
-MgSpatialContextReader* MgdGetSpatialContexts::GetSpatialContexts(MgResourceIdentifier* resId)
+MgSpatialContextReader* MgPortableGetSpatialContexts::GetSpatialContexts(MgResourceIdentifier* resId)
 {
     Ptr<MgSpatialContextReader> mgSpatialContextReader;
 
@@ -44,17 +44,17 @@
     if (NULL == mgSpatialContextReader.p)
     {
         // Connect to provider
-        Ptr<MgdFeatureConnection> msfc = new MgdFeatureConnection(resId);
+        Ptr<MgPortableFeatureConnection> msfc = new MgPortableFeatureConnection(resId);
 
         // Connection must be open to retrieve a list of available contexts.
         if ((NULL != msfc.p) && ( msfc->IsConnectionOpen() ))
         {
-            // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+            // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
             // otherwise it leaves the FDO connection marked as still in use.
             FdoPtr<FdoIConnection> fdoConn = msfc->GetConnection();
             m_providerName = msfc->GetProviderName();
 
-            Ptr<MgdSpatialContextCacheItem> cacheItem = m_featureServiceCache->GetSpatialContextInfo(resId);
+            Ptr<MgPortableSpatialContextCacheItem> cacheItem = m_featureServiceCache->GetSpatialContextInfo(resId);
             MgSpatialContextInfo* spatialContextInfo = cacheItem->Get();
 
             // Check whether command is supported by provider
@@ -61,16 +61,16 @@
             if (!msfc->SupportsCommand((INT32)FdoCommandType_GetSpatialContexts))
             {
                 // TODO: specify which argument and message, once we have the mechanism
-                STRING message = MgdFeatureUtil::GetMessage(L"MgCommandNotSupported");
-                throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdGetSpatialContexts.GetSpatialContexts", __LINE__, __WFILE__, NULL, L"", NULL);
+                STRING message = MgPortableFeatureUtil::GetMessage(L"MgCommandNotSupported");
+                throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableGetSpatialContexts.GetSpatialContexts", __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
             FdoPtr<FdoIGetSpatialContexts> fdoCommand = (FdoIGetSpatialContexts*)fdoConn->CreateCommand(FdoCommandType_GetSpatialContexts);
-            CHECKNULL((FdoIGetSpatialContexts*)fdoCommand, L"MgdGetSpatialContexts.GetSpatialContexts");
+            CHECKNULL((FdoIGetSpatialContexts*)fdoCommand, L"MgPortableGetSpatialContexts.GetSpatialContexts");
 
             // Execute the command
             FdoPtr<FdoISpatialContextReader> spatialReader = fdoCommand->Execute();
-            CHECKNULL((FdoISpatialContextReader*)spatialReader, L"MgdGetSpatialContexts.GetSpatialContexts");
+            CHECKNULL((FdoISpatialContextReader*)spatialReader, L"MgPortableGetSpatialContexts.GetSpatialContexts");
 
             mgSpatialContextReader = new MgSpatialContextReader();
             while (spatialReader->ReadNext())
@@ -79,7 +79,7 @@
                 mgSpatialContextReader->SetProviderName(m_providerName);
 
                 Ptr<MgSpatialContextData> spatialData = GetSpatialContextData(spatialReader, spatialContextInfo);
-                CHECKNULL((MgSpatialContextData*)spatialData, L"MgdGetSpatialContexts.GetSpatialContexts");
+                CHECKNULL((MgSpatialContextData*)spatialData, L"MgPortableGetSpatialContexts.GetSpatialContexts");
 
                 // Add spatial data to the spatialcontext reader
                 mgSpatialContextReader->AddSpatialData(spatialData);
@@ -89,7 +89,7 @@
         }
         else
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdGetSpatialContexts.GetSpatialContexts()", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableGetSpatialContexts.GetSpatialContexts()", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
     else
@@ -97,12 +97,12 @@
         //MgCacheManager::GetInstance()->CheckPermission(resId, MgResourcePermission::ReadOnly);
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resId, L"MgdGetSpatialContexts.GetSpatialContexts")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resId, L"MgPortableGetSpatialContexts.GetSpatialContexts")
 
     return mgSpatialContextReader.Detach();
 }
 
-MgSpatialContextData* MgdGetSpatialContexts::GetSpatialContextData(
+MgSpatialContextData* MgPortableGetSpatialContexts::GetSpatialContextData(
     FdoISpatialContextReader* spatialReader, MgSpatialContextInfo* spatialContextInfo)
 {
     Ptr<MgSpatialContextData> spatialData = new MgSpatialContextData();
@@ -109,7 +109,7 @@
 
     // Name must exist
     FdoString* name = spatialReader->GetName();
-    CHECKNULL((FdoString*)name, L"MgdGetSpatialContexts.GetSpatialContexts");
+    CHECKNULL((FdoString*)name, L"MgPortableGetSpatialContexts.GetSpatialContexts");
     spatialData->SetName(STRING(name));
 
     STRING coordSysName = L"";
@@ -178,7 +178,7 @@
     if (coordSysOverridden)
     {
         srsWkt = csName;
-        desc = MgdFeatureUtil::GetMessage(L"MgCoordinateSystemOverridden");
+        desc = MgPortableFeatureUtil::GetMessage(L"MgCoordinateSystemOverridden");
     }
     else if (spatialContextDefined && !coordSysOverridden)
     {
@@ -263,7 +263,7 @@
     return spatialData.Detach();
 }
 
-bool MgdGetSpatialContexts::IsEpsgCodeRepresentation (FdoString *coordSysName)
+bool MgPortableGetSpatialContexts::IsEpsgCodeRepresentation (FdoString *coordSysName)
 {
     // If the given coordinate system name is NULL or not NULL but empty
     // return false as those cases do not represent an EPSG code.

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/GetSpatialContexts.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,18 +18,18 @@
 #ifndef MG_SERVERGETSPATIALCONTEXTS_H_
 #define MG_SERVERGETSPATIALCONTEXTS_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdFeatureServiceCache;
+class MgPortableFeatureServiceCache;
 
-class MgdGetSpatialContexts
+class MgPortableGetSpatialContexts
 {
 public:
-    MgdGetSpatialContexts();
-    ~MgdGetSpatialContexts();
+    MgPortableGetSpatialContexts();
+    ~MgPortableGetSpatialContexts();
     MgSpatialContextReader* GetSpatialContexts(MgResourceIdentifier* resId);
 
 private:
@@ -44,7 +44,7 @@
     bool IsEpsgCodeRepresentation (FdoString *coordSysName);
 
     STRING m_providerName;
-    MgdFeatureServiceCache* m_featureServiceCache;
+    MgPortableFeatureServiceCache* m_featureServiceCache;
 };
 
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/InsertCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "Services/Feature/FeatureConnection.h"
 #include "FeatureManipulationCommand.h"
@@ -25,28 +25,28 @@
 #include "Services/FeatureReader.h"
 #include "Services/Feature/FeatureSetReader.h"
 
-MgdInsertCommand::MgdInsertCommand()
+MgPortableInsertCommand::MgPortableInsertCommand()
 {
     m_srvrFeatConn = NULL;
     m_featCommand = NULL;
 }
 
-MgdInsertCommand::MgdInsertCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId)
+MgPortableInsertCommand::MgPortableInsertCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId)
 {
-    CHECKNULL(command, L"MgdInsertCommand.MgdInsertCommand");
-    CHECKNULL(connection, L"MgdInsertCommand.MgdInsertCommand");
+    CHECKNULL(command, L"MgPortableInsertCommand.MgPortableInsertCommand");
+    CHECKNULL(connection, L"MgPortableInsertCommand.MgPortableInsertCommand");
 
-    m_srvrFeatConn = SAFE_ADDREF((MgdFeatureConnection*)connection);
+    m_srvrFeatConn = SAFE_ADDREF((MgPortableFeatureConnection*)connection);
     m_featCommand = SAFE_ADDREF((MgInsertFeatures*)command);
     m_cmdId = cmdId;
 }
 
-MgdInsertCommand::~MgdInsertCommand()
+MgPortableInsertCommand::~MgPortableInsertCommand()
 {
     m_srvrFeatConn = NULL;
 }
 
-MgProperty* MgdInsertCommand::Execute()
+MgProperty* MgPortableInsertCommand::Execute()
 {
     Ptr<MgFeatureProperty> prop;
 
@@ -55,11 +55,11 @@
 
     if ((srcCol == NULL) || srcCol->GetCount() == 0)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgNoFeaturesForInsert");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgNoFeaturesForInsert");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdInsertCommand::Execute", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableInsertCommand::Execute", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     FdoPtr<FdoIConnection> fdoConn = m_srvrFeatConn->GetConnection();
@@ -66,7 +66,7 @@
 
     // Create the SQL command
     FdoPtr<FdoIInsert> fdoCommand = (FdoIInsert*)fdoConn->CreateCommand(FdoCommandType_Insert);
-    CHECKNULL((FdoIInsert*)fdoCommand, L"MgdInsertCommand.Execute");
+    CHECKNULL((FdoIInsert*)fdoCommand, L"MgPortableInsertCommand.Execute");
 
     fdoCommand->SetFeatureClassName(clsName.c_str());
 
@@ -85,7 +85,7 @@
     return prop.Detach();
 }
 
-MgFeatureProperty* MgdInsertCommand::BatchInsert( MgBatchPropertyCollection* srcCol,
+MgFeatureProperty* MgPortableInsertCommand::BatchInsert( MgBatchPropertyCollection* srcCol,
                                                        FdoBatchParameterValueCollection* bParamValCol,
                                                        FdoIInsert* fdoCommand,
                                                        FdoIConnection* fdoConn)
@@ -94,11 +94,11 @@
     for (INT32 i = 0; i < cnt; i++)
     {
         Ptr<MgPropertyCollection> propCol = srcCol->GetItem(i);
-        FdoPtr<FdoParameterValueCollection> paramCol = MgdFeatureUtil::CreateFdoParameterCollection(propCol);
+        FdoPtr<FdoParameterValueCollection> paramCol = MgPortableFeatureUtil::CreateFdoParameterCollection(propCol);
         bParamValCol->Add(paramCol);
     }
     FdoPtr<FdoIFeatureReader> reader = fdoCommand->Execute();
-    CHECKNULL((FdoIFeatureReader*)reader, L"MgdInsertCommand.BatchInsert");
+    CHECKNULL((FdoIFeatureReader*)reader, L"MgPortableInsertCommand.BatchInsert");
 
     // TODO: This is FDO defect, they should not require ReadNext() for class definition
     bool available = false;
@@ -118,7 +118,7 @@
 
     if (!available)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgInsertError");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgInsertError");
 
         MgStringCollection arguments;
         arguments.Add(message);
@@ -129,11 +129,11 @@
     sprintf(buff, "%d", m_cmdId);
     STRING str = MgUtil::MultiByteToWideChar(string(buff));
 
-    Ptr<MgFeatureReader> mgFeatureReader = new MgdFeatureReader(m_srvrFeatConn, reader);
+    Ptr<MgFeatureReader> mgFeatureReader = new MgPortableFeatureReader(m_srvrFeatConn, reader);
     return new MgFeatureProperty(str, mgFeatureReader);
 }
 
-MgFeatureProperty* MgdInsertCommand::SingleInsert( MgBatchPropertyCollection* srcCol,
+MgFeatureProperty* MgPortableInsertCommand::SingleInsert( MgBatchPropertyCollection* srcCol,
                                                         FdoPropertyValueCollection* propValCol,
                                                         FdoIInsert* fdoCommand,
                                                         FdoIConnection* fdoConn )
@@ -148,10 +148,10 @@
         Ptr<MgPropertyCollection> propCol = srcCol->GetItem(i);
 
         propValCol->Clear();
-        MgdFeatureUtil::FillFdoPropertyCollection(propCol, propValCol);
+        MgPortableFeatureUtil::FillFdoPropertyCollection(propCol, propValCol);
 
         FdoPtr<FdoIFeatureReader> reader = fdoCommand->Execute();
-        CHECKNULL((FdoIFeatureReader*)reader, L"MgdInsertCommand.SingleInsert");
+        CHECKNULL((FdoIFeatureReader*)reader, L"MgPortableInsertCommand.SingleInsert");
 
         if (keyProps == NULL)
         {
@@ -160,17 +160,17 @@
             if (idProps->GetCount() > 0)
             {
                 keyProps = new MgPropertyDefinitionCollection();
-                MgdFeatureUtil::GetClassProperties(keyProps, idProps);
+                MgPortableFeatureUtil::GetClassProperties(keyProps, idProps);
             }
         }
 
         if (keyProps == NULL)
         {
-            STRING message = MgdFeatureUtil::GetMessage(L"MgInsertError");
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgInsertError");
 
             MgStringCollection arguments;
             arguments.Add(message);
-            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdInsertCommand.SingleInsert", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableInsertCommand.SingleInsert", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         bool available = false;
@@ -190,11 +190,11 @@
 
         if (!available)
         {
-            STRING message = MgdFeatureUtil::GetMessage(L"MgInsertError");
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgInsertError");
 
             MgStringCollection arguments;
             arguments.Add(message);
-            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdInsertCommand.SingleInsert", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableInsertCommand.SingleInsert", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Performance improvement: Only return the key values
@@ -246,7 +246,7 @@
         featureSet->AddFeature(idProperties);
     }
 
-    Ptr<MgFeatureReader> featureSetReader = new MgdFeatureSetReader(featureSet);
+    Ptr<MgFeatureReader> featureSetReader = new MgPortableFeatureSetReader(featureSet);
 
     char buff[32];
     sprintf(buff, "%d", m_cmdId);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/InsertCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,18 +18,18 @@
 #ifndef _MG_SERVER_INSERT_COMMAND_H_
 #define _MG_SERVER_INSERT_COMMAND_H_
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-class MgdInsertCommand : public MgdFeatureManipulationCommand
+class MgPortableInsertCommand : public MgPortableFeatureManipulationCommand
 {
-    DECLARE_CLASSNAME(MgdInsertCommand)
+    DECLARE_CLASSNAME(MgPortableInsertCommand)
 
 public:
-    MgdInsertCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId);
+    MgPortableInsertCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId);
     virtual MgProperty* Execute();
 protected:
-    MgdInsertCommand();
-    ~MgdInsertCommand();
+    MgPortableInsertCommand();
+    ~MgPortableInsertCommand();
 
     MgFeatureProperty* BatchInsert(  MgBatchPropertyCollection* srcCol,
                                      FdoBatchParameterValueCollection* bParamValCol,
@@ -43,7 +43,7 @@
 
 private:
     Ptr<MgInsertFeatures> m_featCommand;
-    Ptr<MgdFeatureConnection> m_srvrFeatConn;
+    Ptr<MgPortableFeatureConnection> m_srvrFeatConn;
     INT32 m_cmdId;
 };
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectAggregateCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "FeatureServiceCommand.h"
 #include "SelectCommand.h"
@@ -29,12 +29,12 @@
 #include "Util/FdoExpressionEngineUtilDataReader.h"
 
 
-MgdSelectAggregateCommand::MgdSelectAggregateCommand(MgResourceIdentifier* resource)
+MgPortableSelectAggregateCommand::MgPortableSelectAggregateCommand(MgResourceIdentifier* resource)
 {
-    CHECKNULL((MgResourceIdentifier*)resource, L"MgdSelectAggregateCommand.MgdSelectAggregateCommand");
+    CHECKNULL((MgResourceIdentifier*)resource, L"MgPortableSelectAggregateCommand.MgPortableSelectAggregateCommand");
 
     // Connect to provider
-    m_connection = new MgdFeatureConnection(resource);
+    m_connection = new MgPortableFeatureConnection(resource);
     if ((NULL != m_connection.p) && ( m_connection->IsConnectionOpen() ))
     {
         m_providerName = m_connection->GetProviderName();
@@ -41,160 +41,160 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectAggregateCommand.MgdSelectAggregateCommand", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectAggregateCommand.MgPortableSelectAggregateCommand", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     // Create FdoISelectAggregates command
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     m_command = (FdoISelectAggregates*)fdoConn->CreateCommand(FdoCommandType_SelectAggregates);
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.MgdSelectAggregateCommand");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.MgPortableSelectAggregateCommand");
 }
 
-MgdSelectAggregateCommand::~MgdSelectAggregateCommand()
+MgPortableSelectAggregateCommand::~MgPortableSelectAggregateCommand()
 {
     m_command = NULL;
     m_filter = NULL;
 }
 
-FdoIdentifierCollection* MgdSelectAggregateCommand::GetPropertyNames()
+FdoIdentifierCollection* MgPortableSelectAggregateCommand::GetPropertyNames()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetPropertyNames");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetPropertyNames");
     return m_command->GetPropertyNames();
 }
 
-void MgdSelectAggregateCommand::SetDistinct(bool value)
+void MgPortableSelectAggregateCommand::SetDistinct(bool value)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetDistinct");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetDistinct");
     m_command->SetDistinct(value);
 }
 
-bool MgdSelectAggregateCommand::GetDistinct()
+bool MgPortableSelectAggregateCommand::GetDistinct()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetDistinct");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetDistinct");
     return m_command->GetDistinct();
 }
 
-void MgdSelectAggregateCommand::SetFetchSize(FdoInt32 fetchSize)
+void MgPortableSelectAggregateCommand::SetFetchSize(FdoInt32 fetchSize)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetFetchSize");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetFetchSize");
     m_command->SetFetchSize(fetchSize);
 }
 
-FdoInt32 MgdSelectAggregateCommand::GetFetchSize()
+FdoInt32 MgPortableSelectAggregateCommand::GetFetchSize()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetFetchSize");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetFetchSize");
     return m_command->GetFetchSize();
 }
 
-FdoIdentifierCollection* MgdSelectAggregateCommand::GetOrdering()
+FdoIdentifierCollection* MgPortableSelectAggregateCommand::GetOrdering()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetOrdering");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetOrdering");
     return m_command->GetOrdering();
 }
 
-void MgdSelectAggregateCommand::SetOrderingOption(FdoOrderingOption option)
+void MgPortableSelectAggregateCommand::SetOrderingOption(FdoOrderingOption option)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetOrderingOption");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetOrderingOption");
     m_command->SetOrderingOption(option);
 }
 
-FdoOrderingOption MgdSelectAggregateCommand::GetOrderingOption()
+FdoOrderingOption MgPortableSelectAggregateCommand::GetOrderingOption()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetOrderingOption");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetOrderingOption");
     return m_command->GetOrderingOption();
 }
 
-FdoIdentifierCollection* MgdSelectAggregateCommand::GetGrouping()
+FdoIdentifierCollection* MgPortableSelectAggregateCommand::GetGrouping()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetGrouping");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetGrouping");
     return m_command->GetGrouping();
 }
 
-void MgdSelectAggregateCommand::SetGroupingFilter(FdoFilter* filter)
+void MgPortableSelectAggregateCommand::SetGroupingFilter(FdoFilter* filter)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetGroupingFilter");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetGroupingFilter");
     m_command->SetGroupingFilter(filter);
 }
 
-FdoFilter* MgdSelectAggregateCommand::GetGroupingFilter()
+FdoFilter* MgPortableSelectAggregateCommand::GetGroupingFilter()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetGroupingFilter");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetGroupingFilter");
     return m_command->GetGroupingFilter();
 }
 
-void MgdSelectAggregateCommand::SetFeatureClassName(FdoString* value)
+void MgPortableSelectAggregateCommand::SetFeatureClassName(FdoString* value)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetFeatureClassName");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetFeatureClassName");
     m_command->SetFeatureClassName(value);
 }
 
-void MgdSelectAggregateCommand::SetFilter(FdoString* value)
+void MgPortableSelectAggregateCommand::SetFilter(FdoString* value)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetFilter");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetFilter");
     m_command->SetFilter(value);
 }
 
-void MgdSelectAggregateCommand::SetFilter(FdoFilter* value)
+void MgPortableSelectAggregateCommand::SetFilter(FdoFilter* value)
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetFilter");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetFilter");
     m_command->SetFilter(value);
 
     m_filter = FDO_SAFE_ADDREF(value);
 }
 
-MgReader* MgdSelectAggregateCommand::Execute()
+MgReader* MgPortableSelectAggregateCommand::Execute()
 {
     // Execute the command
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.Execute");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.Execute");
     FdoPtr<FdoIDataReader> dataReader = m_command->Execute();
-    CHECKNULL((FdoIDataReader*)dataReader, L"MgdSelectAggregateCommand.Execute");
+    CHECKNULL((FdoIDataReader*)dataReader, L"MgPortableSelectAggregateCommand.Execute");
 
     // Create a feature reader identifier
-    return new MgdDataReader(m_connection, dataReader); //, m_providerName);
+    return new MgPortableDataReader(m_connection, dataReader); //, m_providerName);
 }
 
-bool MgdSelectAggregateCommand::IsSupportedFunction(FdoFunction* fdoFunc)
+bool MgPortableSelectAggregateCommand::IsSupportedFunction(FdoFunction* fdoFunc)
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     return this->IsFdoSupportedFunction(fdoConn, fdoFunc);
 }
 
-bool MgdSelectAggregateCommand::SupportsSelectGrouping()
+bool MgPortableSelectAggregateCommand::SupportsSelectGrouping()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
 }
 
-bool MgdSelectAggregateCommand::SupportsSelectOrdering()
+bool MgPortableSelectAggregateCommand::SupportsSelectOrdering()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
 }
 
-bool MgdSelectAggregateCommand::SupportsSelectDistinct()
+bool MgPortableSelectAggregateCommand::SupportsSelectDistinct()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
 }
 
-FdoFilter* MgdSelectAggregateCommand::GetFilter()
+FdoFilter* MgPortableSelectAggregateCommand::GetFilter()
 {
     return FDO_SAFE_ADDREF(m_filter.p);
 }
 
-FdoJoinCriteriaCollection* MgdSelectAggregateCommand::GetJoinCriteria()
+FdoJoinCriteriaCollection* MgPortableSelectAggregateCommand::GetJoinCriteria()
 {
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.GetJoinCriteria");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.GetJoinCriteria");
     return m_command->GetJoinCriteria();
 }
 
-void MgdSelectAggregateCommand::SetAlias(FdoString* alias)
+void MgPortableSelectAggregateCommand::SetAlias(FdoString* alias)
 {
-    CHECKARGUMENTNULL(alias, L"MgdSelectAggregateCommand.SetAlias");
-    CHECKNULL((FdoISelectAggregates*)m_command, L"MgdSelectAggregateCommand.SetAlias");
+    CHECKARGUMENTNULL(alias, L"MgPortableSelectAggregateCommand.SetAlias");
+    CHECKNULL((FdoISelectAggregates*)m_command, L"MgPortableSelectAggregateCommand.SetAlias");
     m_command->SetAlias(alias);
 }
 
-MgReader* MgdSelectAggregateCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
+MgReader* MgPortableSelectAggregateCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
 {
     Ptr<MgReader> ret;
 
@@ -323,17 +323,17 @@
 
     if (bForceOneToOne)
     {
-        FdoPtr<FdoStringCollection> names = MgdFeatureUtil::MgToFdoStringCollection(idPropNames, false);
-        FdoPtr<FdoIFeatureReader> forcedReader = new MgdFdoForcedOneToOneFeatureReader(reader, names);
+        FdoPtr<FdoStringCollection> names = MgPortableFeatureUtil::MgToFdoStringCollection(idPropNames, false);
+        FdoPtr<FdoIFeatureReader> forcedReader = new MgPortableFdoForcedOneToOneFeatureReader(reader, names);
         FdoPtr<FdoIDataReader> dataReader = new FdoExpressionEngineUtilDataReader(functions, forcedReader, originalClassDef, computedIds, GetDistinct(), orderBy, orderOpt, ids, aggrIdents);
 
-        ret = new MgdDataReader(m_connection, dataReader); //, m_providerName);
+        ret = new MgPortableDataReader(m_connection, dataReader); //, m_providerName);
     }
     else
     {
         FdoPtr<FdoIDataReader> dataReader = new FdoExpressionEngineUtilDataReader(functions, reader, originalClassDef, computedIds, GetDistinct(), orderBy, orderOpt, ids, aggrIdents);
 
-        ret = new MgdDataReader(m_connection, dataReader); //, m_providerName);
+        ret = new MgPortableDataReader(m_connection, dataReader); //, m_providerName);
     }
 
     return ret.Detach();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectAggregateCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,16 +15,16 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdSelectAggregateCommand_H_
-#define _MgdSelectAggregateCommand_H_
+#ifndef _MgPortableSelectAggregateCommand_H_
+#define _MgPortableSelectAggregateCommand_H_
 
-class MgdSelectAggregateCommand : public MgdFeatureServiceCommand
+class MgPortableSelectAggregateCommand : public MgPortableFeatureServiceCommand
 {
-    DECLARE_CLASSNAME(MgdSelectAggregateCommand)
+    DECLARE_CLASSNAME(MgPortableSelectAggregateCommand)
 
 public:
-    MgdSelectAggregateCommand(MgResourceIdentifier* resource);
-    virtual ~MgdSelectAggregateCommand();
+    MgPortableSelectAggregateCommand(MgResourceIdentifier* resource);
+    virtual ~MgPortableSelectAggregateCommand();
 
     virtual FdoIdentifierCollection* GetPropertyNames();
 
@@ -55,7 +55,7 @@
     virtual bool SupportsSelectOrdering();
     virtual bool SupportsSelectDistinct();
 
-    virtual MgReader* ExecuteWithLock() { NOT_IMPLEMENTED(L"MgdSelectAggregateCommand::ExecuteWithLock"); }
+    virtual MgReader* ExecuteWithLock() { NOT_IMPLEMENTED(L"MgPortableSelectAggregateCommand::ExecuteWithLock"); }
 
     virtual void Dispose()
     {
@@ -66,7 +66,7 @@
     virtual void SetAlias(FdoString* alias);
 
 private:
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
     STRING m_providerName;
     FdoPtr<FdoISelectAggregates> m_command;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "FeatureServiceCommand.h"
 #include "SelectCommand.h"
@@ -30,12 +30,12 @@
 // The maximum size of the subfilter for a selection query.  Tune this value for optimal selection perfomance.
 #define MG_MAX_SUBFILTER_SIZE  250
 
-MgdSelectCommand::MgdSelectCommand(MgResourceIdentifier* resource)
+MgPortableSelectCommand::MgPortableSelectCommand(MgResourceIdentifier* resource)
 {
-    CHECKNULL((MgResourceIdentifier*)resource, L"MgdSelectCommand.MgdSelectCommand");
+    CHECKNULL((MgResourceIdentifier*)resource, L"MgPortableSelectCommand.MgPortableSelectCommand");
 
     // Connect to provider
-    m_connection = new MgdFeatureConnection(resource);
+    m_connection = new MgPortableFeatureConnection(resource);
     if ((NULL != m_connection.p) && ( m_connection->IsConnectionOpen() ))
     {
         m_providerName = m_connection->GetProviderName();
@@ -42,136 +42,136 @@
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectCommand.MgdSelectCommand", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectCommand.MgPortableSelectCommand", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     // Create FdoISelect command
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     m_command = (FdoISelect*)fdoConn->CreateCommand(FdoCommandType_Select);
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.MgdSelectCommand");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.MgPortableSelectCommand");
 }
 
-MgdSelectCommand::~MgdSelectCommand()
+MgPortableSelectCommand::~MgPortableSelectCommand()
 {
     m_command = NULL;
     m_filter = NULL;
 }
 
-FdoIdentifierCollection* MgdSelectCommand::GetPropertyNames()
+FdoIdentifierCollection* MgPortableSelectCommand::GetPropertyNames()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetPropertyNames");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetPropertyNames");
     return m_command->GetPropertyNames();
 }
 
-void MgdSelectCommand::SetDistinct(bool value)
+void MgPortableSelectCommand::SetDistinct(bool value)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetDistinct");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetDistinct");
     // This operation is not supported by FdoISelect
     // m_command->SetDistinct(value);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectCommand.SetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectCommand.SetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-bool MgdSelectCommand::GetDistinct()
+bool MgPortableSelectCommand::GetDistinct()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetDistinct");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetDistinct");
     // This operation is not supported by FdoISelect
     // return m_command->GetDistinct();
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectCommand.GetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectCommand.GetDistinct", __LINE__, __WFILE__, NULL, L"", NULL);
 
     return false;
 }
 
-void MgdSelectCommand::SetFetchSize(FdoInt32 fetchSize)
+void MgPortableSelectCommand::SetFetchSize(FdoInt32 fetchSize)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetFetchSize");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetFetchSize");
     m_command->SetFetchSize(fetchSize);
 }
 
-FdoInt32 MgdSelectCommand::GetFetchSize()
+FdoInt32 MgPortableSelectCommand::GetFetchSize()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetFetchSize");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetFetchSize");
     return m_command->GetFetchSize();
 }
 
-FdoIdentifierCollection* MgdSelectCommand::GetOrdering()
+FdoIdentifierCollection* MgPortableSelectCommand::GetOrdering()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetOrdering");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetOrdering");
     return m_command->GetOrdering();
 }
 
-void MgdSelectCommand::SetOrderingOption(FdoOrderingOption option)
+void MgPortableSelectCommand::SetOrderingOption(FdoOrderingOption option)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetOrderingOption");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetOrderingOption");
     m_command->SetOrderingOption(option);
 }
 
-FdoOrderingOption MgdSelectCommand::GetOrderingOption()
+FdoOrderingOption MgPortableSelectCommand::GetOrderingOption()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetOrderingOption");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetOrderingOption");
     return m_command->GetOrderingOption();
 }
 
-FdoIdentifierCollection* MgdSelectCommand::GetGrouping()
+FdoIdentifierCollection* MgPortableSelectCommand::GetGrouping()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetGrouping");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetGrouping");
     // This operation is not supported by FdoISelect
     // return m_command->GetGrouping();
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectCommand.GetGrouping", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectCommand.GetGrouping", __LINE__, __WFILE__, NULL, L"", NULL);
     return NULL;
 }
 
-void MgdSelectCommand::SetGroupingFilter(FdoFilter* filter)
+void MgPortableSelectCommand::SetGroupingFilter(FdoFilter* filter)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetGroupingFilter");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetGroupingFilter");
     // This operation is not supported by FdoISelect
     // m_command->SetGroupingFilter(filter);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectCommand.SetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectCommand.SetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-FdoFilter* MgdSelectCommand::GetGroupingFilter()
+FdoFilter* MgPortableSelectCommand::GetGroupingFilter()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetGroupingFilter");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetGroupingFilter");
     // This operation is not supported by FdoISelect
     // return m_command->GetGroupingFilter(filter);
 
-    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectCommand.GetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
+    // throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectCommand.GetGroupingFilter", __LINE__, __WFILE__, NULL, L"", NULL);
     return NULL;
 }
 
-void MgdSelectCommand::SetFeatureClassName(FdoString* value)
+void MgPortableSelectCommand::SetFeatureClassName(FdoString* value)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetFeatureClassName");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetFeatureClassName");
     m_command->SetFeatureClassName(value);
 }
 
-void MgdSelectCommand::SetFilter(FdoString* value)
+void MgPortableSelectCommand::SetFilter(FdoString* value)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetFilter");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetFilter");
     m_command->SetFilter(value);
 }
 
-void MgdSelectCommand::SetFilter(FdoFilter* value)
+void MgPortableSelectCommand::SetFilter(FdoFilter* value)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetFilter");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetFilter");
     m_command->SetFilter(value);
 
     m_filter = FDO_SAFE_ADDREF(value);
 }
 
-MgReader* MgdSelectCommand::Execute()
+MgReader* MgPortableSelectCommand::Execute()
 {
     FdoPtr<FdoIFeatureReader> reader;
 
     // Break up the filter into smaller chunks
-    FdoPtr<MgdFdoFilterCollection> subFilters = this->GetSubFilters();
+    FdoPtr<MgPortableFdoFilterCollection> subFilters = this->GetSubFilters();
 
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.Execute");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.Execute");
 
     // Execute queries using the smaller filters and collect the results of the queries into a reader collection.
-    FdoPtr<MgdFdoReaderCollection> frc = MgdFdoReaderCollection::Create();
+    FdoPtr<MgPortableFdoReaderCollection> frc = MgPortableFdoReaderCollection::Create();
 
     for (FdoInt32 filterIndex = 0; filterIndex < subFilters->GetCount(); filterIndex++)
     {
@@ -182,51 +182,51 @@
         frc->Add(reader);
     }
 
-    FdoPtr<MgdFdoFeatureReader> featureReader = new MgdFdoFeatureReader(frc);
-    CHECKNULL((FdoIFeatureReader*)featureReader, L"MgdSelectCommand.Execute");
+    FdoPtr<MgPortableFdoFeatureReader> featureReader = new MgPortableFdoFeatureReader(frc);
+    CHECKNULL((FdoIFeatureReader*)featureReader, L"MgPortableSelectCommand.Execute");
 
-    return new MgdFeatureReader(m_connection, featureReader);
+    return new MgPortableFeatureReader(m_connection, featureReader);
 }
 
-MgReader* MgdSelectCommand::ExecuteWithLock()
+MgReader* MgPortableSelectCommand::ExecuteWithLock()
 {
     FdoPtr<FdoIFeatureReader> reader;
-    CHECKNULL((FdoISelect*)m_command, L"MgdExtendedSelectCommand.Execute");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableExtendedSelectCommand.Execute");
 
     reader = m_command->ExecuteWithLock();
-    return new MgdFeatureReader(m_connection, reader);
+    return new MgPortableFeatureReader(m_connection, reader);
 }
 
-bool MgdSelectCommand::IsSupportedFunction(FdoFunction* fdoFunc)
+bool MgPortableSelectCommand::IsSupportedFunction(FdoFunction* fdoFunc)
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
     return this->IsFdoSupportedFunction(fdoConn, fdoFunc);
 }
 
-bool MgdSelectCommand::SupportsSelectGrouping()
+bool MgPortableSelectCommand::SupportsSelectGrouping()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectGrouping(fdoConn);
 }
 
-bool MgdSelectCommand::SupportsSelectOrdering()
+bool MgPortableSelectCommand::SupportsSelectOrdering()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectOrdering(fdoConn);
 }
 
-bool MgdSelectCommand::SupportsSelectDistinct()
+bool MgPortableSelectCommand::SupportsSelectDistinct()
 {
     FdoPtr<FdoIConnection> fdoConn = m_connection->GetConnection();
-    return MgdFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
+    return MgPortableFeatureServiceCommand::SupportsSelectDistinct(fdoConn);
 }
 
-FdoFilter* MgdSelectCommand::GetFilter()
+FdoFilter* MgPortableSelectCommand::GetFilter()
 {
     return FDO_SAFE_ADDREF(m_filter.p);
 }
 
-MgdFdoFilterCollection* MgdSelectCommand::GetSubFilters()
+MgPortableFdoFilterCollection* MgPortableSelectCommand::GetSubFilters()
 {
     // Break up a filter into a bunch of smaller filters
 
@@ -346,7 +346,7 @@
     }
 #endif
 
-    FdoPtr<MgdFdoFilterCollection> filters = MgdFdoFilterCollection::Create();
+    FdoPtr<MgPortableFdoFilterCollection> filters = MgPortableFdoFilterCollection::Create();
 
     if (fragmenter.IsFragmented() && fragmenter.GetOrCount() > 0)
     {
@@ -406,19 +406,19 @@
     return filters.Detach();
 }
 
-FdoJoinCriteriaCollection* MgdSelectCommand::GetJoinCriteria()
+FdoJoinCriteriaCollection* MgPortableSelectCommand::GetJoinCriteria()
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.GetJoinCriteria");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.GetJoinCriteria");
     return m_command->GetJoinCriteria();
 }
 
-void MgdSelectCommand::SetAlias(FdoString* alias)
+void MgPortableSelectCommand::SetAlias(FdoString* alias)
 {
-    CHECKNULL((FdoISelect*)m_command, L"MgdSelectCommand.SetDistinct");
+    CHECKNULL((FdoISelect*)m_command, L"MgPortableSelectCommand.SetDistinct");
     m_command->SetAlias(alias);
 }
 
-MgReader* MgdSelectCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
+MgReader* MgPortableSelectCommand::ExecuteJoined(MgStringCollection* idPropNames, bool bForceOneToOne)
 {
     Ptr<MgReader> ret;
 
@@ -437,15 +437,15 @@
     FdoPtr<FdoIFeatureReader> fdoReader = m_command->Execute();
     if (bForceOneToOne)
     {
-        FdoPtr<FdoStringCollection> names = MgdFeatureUtil::MgToFdoStringCollection(idPropNames, false);
-        FdoPtr<FdoIFeatureReader> forcedReader = new MgdFdoForcedOneToOneFeatureReader(fdoReader, names); 
-        ret = new MgdFeatureReader(m_connection, forcedReader, idPropNames);
+        FdoPtr<FdoStringCollection> names = MgPortableFeatureUtil::MgToFdoStringCollection(idPropNames, false);
+        FdoPtr<FdoIFeatureReader> forcedReader = new MgPortableFdoForcedOneToOneFeatureReader(fdoReader, names); 
+        ret = new MgPortableFeatureReader(m_connection, forcedReader, idPropNames);
     }
     else
     {
-        ret = new MgdFeatureReader(m_connection, fdoReader, idPropNames);
+        ret = new MgPortableFeatureReader(m_connection, fdoReader, idPropNames);
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSelectCommand.ExecuteJoined")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSelectCommand.ExecuteJoined")
 
     return ret.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,20 +15,20 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdSelectCommand_H_
-#define _MgdSelectCommand_H_
+#ifndef _MgPortableSelectCommand_H_
+#define _MgPortableSelectCommand_H_
 
-class MgdFdoFeatureReader;
-class MgdFdoReaderCollection;
-class MgdFdoFilterCollection;
+class MgPortableFdoFeatureReader;
+class MgPortableFdoReaderCollection;
+class MgPortableFdoFilterCollection;
 
-class MgdSelectCommand : public MgdFeatureServiceCommand
+class MgPortableSelectCommand : public MgPortableFeatureServiceCommand
 {
-    DECLARE_CLASSNAME(MgdSelectCommand)
+    DECLARE_CLASSNAME(MgPortableSelectCommand)
 
 public:
-    MgdSelectCommand(MgResourceIdentifier* resource);
-    virtual ~MgdSelectCommand();
+    MgPortableSelectCommand(MgResourceIdentifier* resource);
+    virtual ~MgPortableSelectCommand();
 
     virtual FdoIdentifierCollection* GetPropertyNames();
 
@@ -71,13 +71,13 @@
     virtual void SetAlias(FdoString* alias);
 
 private:
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
     STRING m_providerName;
     FdoPtr<FdoISelect> m_command;
 
     FdoPtr<FdoFilter> m_filter;
 
-    MgdFdoFilterCollection* GetSubFilters();
+    MgPortableFdoFilterCollection* GetSubFilters();
 };
 
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectFeatures.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "SelectFeatures.h"
 #include "Services/Feature/FeatureConnection.h"
@@ -37,7 +37,7 @@
 //Uncomment for extra console chatter to debug FDO joins
 //#define DEBUG_FDO_JOIN
 
-MgdSelectFeatures::MgdSelectFeatures()
+MgPortableSelectFeatures::MgPortableSelectFeatures()
 {
     m_command = NULL;
     m_options = NULL;
@@ -47,36 +47,36 @@
     m_featureSourceCacheItem = NULL;
 
     // Set a default join query batch size
-    m_nJoinQueryBatchSize = MgdConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize;
-    m_bUseFdoJoinOptimization = MgdConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization; 
+    m_nJoinQueryBatchSize = MgPortableConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize;
+    m_bUseFdoJoinOptimization = MgPortableConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization; 
 
     MgConfiguration* config = MgConfiguration::GetInstance();
     if(config)
     {
         // Get the join batch size
-        config->GetIntValue(MgdConfigProperties::FeatureServicePropertiesSection,
-                            MgdConfigProperties::FeatureServicePropertyJoinQueryBatchSize,
+        config->GetIntValue(MgPortableConfigProperties::FeatureServicePropertiesSection,
+                            MgPortableConfigProperties::FeatureServicePropertyJoinQueryBatchSize,
                             m_nJoinQueryBatchSize,
-                            MgdConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize);
+                            MgPortableConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize);
         // Get data cache size
-        config->GetIntValue(MgdConfigProperties::FeatureServicePropertiesSection,
-                            MgdConfigProperties::FeatureServicePropertyDataCacheSize,
+        config->GetIntValue(MgPortableConfigProperties::FeatureServicePropertiesSection,
+                            MgPortableConfigProperties::FeatureServicePropertyDataCacheSize,
                             m_nDataCacheSize,
-                            MgdConfigProperties::DefaultFeatureServicePropertyDataCacheSize);
+                            MgPortableConfigProperties::DefaultFeatureServicePropertyDataCacheSize);
         // Get FDO Join use flag 
- 	    config->GetBoolValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                             MgdConfigProperties::FeatureServicePropertyUseFdoJoinOptimization, 
+ 	    config->GetBoolValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                             MgPortableConfigProperties::FeatureServicePropertyUseFdoJoinOptimization, 
                              m_bUseFdoJoinOptimization, 
-                             MgdConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization); 
+                             MgPortableConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization); 
     }
 }
 
-MgdSelectFeatures::~MgdSelectFeatures()
+MgPortableSelectFeatures::~MgPortableSelectFeatures()
 {
 }
 
 // Executes the select features command and serializes the reader
-MgReader* MgdSelectFeatures::SelectFeatures(MgResourceIdentifier* resource,
+MgReader* MgPortableSelectFeatures::SelectFeatures(MgResourceIdentifier* resource,
                                            CREFSTRING className,
                                            MgFeatureQueryOptions* options,
                                            bool executeSelectAggregate,
@@ -96,7 +96,7 @@
     // Retrieve the feature source
     if (NULL == m_featureSourceCacheItem.p)
     {
-        MgdFeatureServiceCache* cacheManager = MgdFeatureServiceCache::GetInstance();
+        MgPortableFeatureServiceCache* cacheManager = MgPortableFeatureServiceCache::GetInstance();
         m_featureSourceCacheItem = cacheManager->GetFeatureSource(resource);
     }
 
@@ -133,10 +133,10 @@
     {
         if (bFeatureJoinProperties)
         {
-            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSelectFeatures.SelectFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSelectFeatures.SelectFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        m_command = MgdFeatureServiceCommand::CreateCommand(resource, FdoCommandType_ExtendedSelect);
+        m_command = MgPortableFeatureServiceCommand::CreateCommand(resource, FdoCommandType_ExtendedSelect);
         m_command->SetFeatureClassName((FdoString*)className.c_str());
         mgReader = SelectExtended();
     }
@@ -147,7 +147,7 @@
 #ifdef DEBUG_FDO_JOIN
             ACE_DEBUG((LM_INFO, ACE_TEXT("\n(%t) Feature Source (%W) supports FDO join optimization"), fsIdStr.c_str()));
 #endif
-            m_command = MgdFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
+            m_command = MgPortableFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
             mgReader = SelectFdoJoin(resource, className, false);
         }
         else 
@@ -177,7 +177,7 @@
 #endif
         // Perform the same select query as above, but route this through the FDO expression engine
         // Slow maybe, but anything is faster than going via the GWS query engine.
-        m_command = MgdFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
+        m_command = MgPortableFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
         mgReader = SelectFdoJoin(resource, className, true);
     }
     else
@@ -185,11 +185,11 @@
         // Custom function specified from Select command is not allowed
         if (!isSelectAggregate && ContainsCustomFunction(options))
         {
-            STRING message = MgdFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
 
             MgStringCollection arguments;
             arguments.Add(message);
-            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.SelectFeatures", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.SelectFeatures", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         // Custom function specified using SelectAggregate,
@@ -226,10 +226,10 @@
             // to the web-tier. Therefore this object must be closed to avoid connection leak
             // I put the following code in a try-catch block just to make sure the gwsFeaturereader
             // gets chance to be closed in case that an exception is thrown from underneath
-            Ptr<MgdGwsFeatureReader> gwsFeatureReader = JoinFeatures(resource, className, NULL);
+            Ptr<MgPortableGwsFeatureReader> gwsFeatureReader = JoinFeatures(resource, className, NULL);
             try
             {
-                // Get the requested property name from the MgdFeatureServiceCommandObject.  This property name may be
+                // Get the requested property name from the MgPortableFeatureServiceCommandObject.  This property name may be
                 // prefixed by the relation name if it is from a secondary resource.
                 FdoPtr<FdoIdentifierCollection> fic = m_command->GetPropertyNames();
                 int nFicCnt = fic->GetCount();
@@ -238,9 +238,9 @@
                     // throw invalid argument exception because the properties the m_command is empty
                     MgStringCollection arguments;
                     arguments.Add(L"1");
-                    arguments.Add(L"MgdFeatureServiceCommand");
+                    arguments.Add(L"MgPortableFeatureServiceCommand");
 
-                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdSelectFeatures::SelectFeatures()",
+                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableSelectFeatures::SelectFeatures()",
                         __LINE__, __WFILE__, &arguments, L"MgCollectionEmpty", NULL);
 
                 }
@@ -329,7 +329,7 @@
         else
             reader = m_command->Execute();
 
-        CHECKNULL((MgReader*)reader, L"MgdSelectFeatures.SelectFeatures");
+        CHECKNULL((MgReader*)reader, L"MgPortableSelectFeatures.SelectFeatures");
 
         if (executeSelectAggregate && m_customPropertyFound)
         {
@@ -346,15 +346,15 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdSelectFeatures.SelectFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableSelectFeatures.SelectFeatures")
 
     return mgReader.Detach();
 }
 
 
-void MgdSelectFeatures::ApplyQueryOptions(bool isSelectAggregate)
+void MgPortableSelectFeatures::ApplyQueryOptions(bool isSelectAggregate)
 {
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyQueryOptions");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyQueryOptions");
 
     if (m_options != NULL)
     {
@@ -369,10 +369,10 @@
 }
 
 // ClassProperties
-void MgdSelectFeatures::ApplyClassProperties()
+void MgPortableSelectFeatures::ApplyClassProperties()
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyClassProperties");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyClassProperties");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyClassProperties");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyClassProperties");
 
     Ptr<MgStringCollection> properties = m_options->GetClassProperties();
 
@@ -387,7 +387,7 @@
     //secondary properties.
 
     FdoPtr<FdoIdentifierCollection> fic = m_command->GetPropertyNames();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.ApplyClassProperties");
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.ApplyClassProperties");
 
     for (INT32 i=0; i < cnt; i++)
     {
@@ -394,16 +394,16 @@
         STRING propertyName = properties->GetItem(i);
 
         FdoPtr<FdoIdentifier> fdoIden = FdoIdentifier::Create((FdoString*)propertyName.c_str());
-        CHECKNULL((FdoIdentifier*)fdoIden, L"MgdSelectFeatures.ApplyClassProperties");
+        CHECKNULL((FdoIdentifier*)fdoIden, L"MgPortableSelectFeatures.ApplyClassProperties");
 
         fic->Add(fdoIden);
     }
 }
 
-void MgdSelectFeatures::ApplyClassPropertiesForFdoJoin(CREFSTRING primaryAlias, CREFSTRING secondaryAlias, CREFSTRING secondaryPrefix)
+void MgPortableSelectFeatures::ApplyClassPropertiesForFdoJoin(CREFSTRING primaryAlias, CREFSTRING secondaryAlias, CREFSTRING secondaryPrefix)
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyClassPropertiesForFdoJoin");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyClassPropertiesForFdoJoin");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyClassPropertiesForFdoJoin");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyClassPropertiesForFdoJoin");
 
     Ptr<MgStringCollection> properties = m_options->GetClassProperties();
 
@@ -415,7 +415,7 @@
         return; // Nothing to do
 
     FdoPtr<FdoIdentifierCollection> fic = m_command->GetPropertyNames();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.ApplyClassPropertiesForFdoJoin");
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.ApplyClassPropertiesForFdoJoin");
 
     //If we're given an explicit property list, it will be whatever is presented by the Extended Feature Class
     //So we have to "re-shape" this property list into a aliased qualified property list like the standard FDO
@@ -446,7 +446,7 @@
         //This will now be [alias].[reAliasedPropertyName] AS [propertyName]
         FdoPtr<FdoExpression> expr = FdoExpression::Parse((FdoString*)reAliasedPropName.c_str());
         FdoPtr<FdoComputedIdentifier> fdoIden = FdoComputedIdentifier::Create((FdoString*)propertyName.c_str(), expr);
-        CHECKNULL((FdoComputedIdentifier*)fdoIden, L"MgdSelectFeatures.ApplyClassPropertiesForFdoJoin");
+        CHECKNULL((FdoComputedIdentifier*)fdoIden, L"MgPortableSelectFeatures.ApplyClassPropertiesForFdoJoin");
 
         fic->Add(fdoIden);
     }
@@ -453,10 +453,10 @@
 }
 
 // Computed properties
-void MgdSelectFeatures::ApplyComputedProperties()
+void MgPortableSelectFeatures::ApplyComputedProperties()
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyComputedProperties");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyComputedProperties");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyComputedProperties");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyComputedProperties");
 
     Ptr<MgStringPropertyCollection> properties = m_options->GetComputedProperties();
 
@@ -481,7 +481,7 @@
         if (str != NULL)
         {
             FdoPtr<FdoExpression> expression = FdoExpression::Parse(str);
-            CHECKNULL((FdoExpression*)expression, L"MgdSelectFeatures.ApplyComputedProperties");
+            CHECKNULL((FdoExpression*)expression, L"MgPortableSelectFeatures.ApplyComputedProperties");
 
             bool udf = ContainsUdf(expression);
             if (!udf)
@@ -497,10 +497,10 @@
 }
 
 //// Filter text
-//void MgdSelectFeatures::ApplyFilter()
+//void MgPortableSelectFeatures::ApplyFilter()
 //{
-//    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyFilter");
-//    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyFilter");
+//    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyFilter");
+//    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyFilter");
 //
 //    STRING filterText = m_options->GetFilter();
 //    if (filterText.empty()) { return; } // Nothing to do
@@ -509,9 +509,9 @@
 //}
 
 // Fetch size
-void MgdSelectFeatures::ApplyFetchSize()
+void MgPortableSelectFeatures::ApplyFetchSize()
 {
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyFetchSize");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyFetchSize");
     if(m_options)
         m_command->SetFetchSize(m_options->GetFetchSize());
     else
@@ -519,10 +519,10 @@
 }
 
 // Spatial Filter
-void MgdSelectFeatures::ApplyFilter()
+void MgPortableSelectFeatures::ApplyFilter()
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyFilter");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyFilter");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyFilter");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyFilter");
 
     FdoPtr<FdoFilter> regularFilter;
     FdoPtr<FdoSpatialCondition> spatialFilter;
@@ -579,7 +579,7 @@
         FdoPtr<FdoGeometryValue> geomValue = FdoGeometryValue::Create(byteArray);
         if (geomValue != NULL)
         {
-            FdoSpatialOperations fdoSpatialOp = MgdFeatureUtil::GetFdoSpatialOperation(spatialOp);
+            FdoSpatialOperations fdoSpatialOp = MgPortableFeatureUtil::GetFdoSpatialOperation(spatialOp);
             spatialFilter = FdoSpatialCondition::Create((FdoString*)geomProp.c_str(), fdoSpatialOp, (FdoExpression*)geomValue);
         }
     }
@@ -612,10 +612,10 @@
 }
 
 // Ordering options
-void MgdSelectFeatures::ApplyOrderingOptions()
+void MgPortableSelectFeatures::ApplyOrderingOptions()
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyOrderingOptions");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyOrderingOptions");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyOrderingOptions");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyOrderingOptions");
 
     Ptr<MgStringCollection> properties = m_options->GetOrderingProperties();
 
@@ -629,18 +629,18 @@
     // Ordering options are supplied but provider does not support it
     if (!m_command->SupportsSelectOrdering())
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgOrderingOptionNotSupported");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgOrderingOptionNotSupported");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.ApplyOrderingOptions", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.ApplyOrderingOptions", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     FdoPtr<FdoIdentifierCollection> fic = m_command->GetOrdering();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.ApplyOrderingOptions");
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.ApplyOrderingOptions");
 
     // Order option Asc or Desc (default is Asc)
-    FdoOrderingOption option = MgdFeatureUtil::GetFdoOrderingOption(m_options->GetOrderOption());
+    FdoOrderingOption option = MgPortableFeatureUtil::GetFdoOrderingOption(m_options->GetOrderOption());
     m_command->SetOrderingOption(option);
 
     for (INT32 i=0; i < cnt; i++)
@@ -650,7 +650,7 @@
         if (!propertyName.empty())
         {
             FdoPtr<FdoIdentifier> fdoIden = FdoIdentifier::Create((FdoString*)propertyName.c_str());
-            CHECKNULL((FdoIdentifier*)fdoIden, L"MgdSelectFeatures.ApplyOrderingOptions");
+            CHECKNULL((FdoIdentifier*)fdoIden, L"MgPortableSelectFeatures.ApplyOrderingOptions");
 
             fic->Add(fdoIden);
         }
@@ -658,7 +658,7 @@
 }
 
 
-bool MgdSelectFeatures::ContainsUdf(FdoExpression* expression)
+bool MgPortableSelectFeatures::ContainsUdf(FdoExpression* expression)
 {
     bool isUdf = false;
     bool fdoSupported = false;
@@ -687,7 +687,7 @@
 }
 
 
-bool MgdSelectFeatures::IsCustomFunction(FdoFunction* fdoFunc)
+bool MgPortableSelectFeatures::IsCustomFunction(FdoFunction* fdoFunc)
 {
     bool customFunc = false;
 
@@ -695,42 +695,42 @@
     if (funcNameAllowed != NULL)
     {
         INT32 funcIndex = -1;
-        customFunc = MgdFeatureUtil::FindCustomFunction(STRING(funcNameAllowed),funcIndex);
+        customFunc = MgPortableFeatureUtil::FindCustomFunction(STRING(funcNameAllowed),funcIndex);
     }
 
     return customFunc;
 }
 
-void MgdSelectFeatures::AddFdoComputedProperty(CREFSTRING aliasName, FdoExpression* expression)
+void MgPortableSelectFeatures::AddFdoComputedProperty(CREFSTRING aliasName, FdoExpression* expression)
 {
     FdoPtr<FdoIdentifierCollection> fic = m_command->GetPropertyNames();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.AddFdoComputedProperty");
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.AddFdoComputedProperty");
 
     FdoString* expName = aliasName.c_str();
     if (expName != NULL)
     {
         FdoPtr<FdoComputedIdentifier> fdoIden = FdoComputedIdentifier::Create(expName, expression);
-        CHECKNULL((FdoComputedIdentifier*)fdoIden, L"MgdSelectFeatures.AddFdoComputedProperty");
+        CHECKNULL((FdoComputedIdentifier*)fdoIden, L"MgPortableSelectFeatures.AddFdoComputedProperty");
 
         fic->Add(fdoIden);
     }
 }
 
-void MgdSelectFeatures::AddCustomComputedProperty(CREFSTRING aliasName, FdoExpression* expression)
+void MgPortableSelectFeatures::AddCustomComputedProperty(CREFSTRING aliasName, FdoExpression* expression)
 {
-    CHECKNULL((FdoExpression*)expression, L"MgdSelectFeatures.AddCustomComputedProperty");
+    CHECKNULL((FdoExpression*)expression, L"MgPortableSelectFeatures.AddCustomComputedProperty");
 
     FdoPtr<FdoIdentifierCollection> fic = m_command->GetPropertyNames();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.AddCustomComputedProperty");
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.AddCustomComputedProperty");
 
     // If property is already found, two custom properties are not supported and therefore throw exception
     if (m_customPropertyFound)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.AddCustomComputedProperty", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.AddCustomComputedProperty", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // Downcast to FdoFunction
@@ -768,7 +768,7 @@
     }
 }
 
-void MgdSelectFeatures::ValidateConstraintsOnCustomFunctions()
+void MgPortableSelectFeatures::ValidateConstraintsOnCustomFunctions()
 {
     // Custom function should only be allowed stand alone. This means, no other property along withit
     // will be supported. Therefore
@@ -784,35 +784,35 @@
         {
             if (classPropCnt > 0)
             {
-                STRING message = MgdFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
+                STRING message = MgPortableFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
 
                 MgStringCollection arguments;
                 arguments.Add(message);
-                throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.ValidateConstraintsOnCustomFunctions",
+                throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.ValidateConstraintsOnCustomFunctions",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
             }
-            MgdFeatureUtil::ValidateCustomConstraints(m_customFunction);
+            MgPortableFeatureUtil::ValidateCustomConstraints(m_customFunction);
         }
     }
 }
 
 
-void MgdSelectFeatures::CreateCommand(MgResourceIdentifier* resource, bool isSelectAggregate)
+void MgPortableSelectFeatures::CreateCommand(MgResourceIdentifier* resource, bool isSelectAggregate)
 {
     if (!isSelectAggregate)
     {
-        m_command = MgdFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
+        m_command = MgPortableFeatureServiceCommand::CreateCommand(resource, FdoCommandType_Select);
     }
     else
     {
-        m_command = MgdFeatureServiceCommand::CreateCommand(resource, FdoCommandType_SelectAggregates);
+        m_command = MgPortableFeatureServiceCommand::CreateCommand(resource, FdoCommandType_SelectAggregates);
     }
-    CHECKNULL((MgdFeatureServiceCommand*)m_command, L"MgdSelectFeatures.CreateCommand");
+    CHECKNULL((MgPortableFeatureServiceCommand*)m_command, L"MgPortableSelectFeatures.CreateCommand");
 }
 
-void MgdSelectFeatures::ValidateParam(MgResourceIdentifier* resource, CREFSTRING className)
+void MgPortableSelectFeatures::ValidateParam(MgResourceIdentifier* resource, CREFSTRING className)
 {
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdSelectFeatures::ValidateParam");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableSelectFeatures::ValidateParam");
 
     if (className.empty())
     {
@@ -820,12 +820,12 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdSelectFeatures::ValidateParam()",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableSelectFeatures::ValidateParam()",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 }
 
-void MgdSelectFeatures::ApplyAggregateOptions(bool isSelectAggregate)
+void MgPortableSelectFeatures::ApplyAggregateOptions(bool isSelectAggregate)
 {
     // If not select aggregate, just return
     if (!isSelectAggregate)
@@ -848,7 +848,7 @@
     if (distinct)
     {
         // Set distinct requirements
-        ((MgdFeatureServiceCommand*)m_command)->SetDistinct(distinct);
+        ((MgPortableFeatureServiceCommand*)m_command)->SetDistinct(distinct);
     }
 
     // Set all properties for grouping
@@ -861,15 +861,15 @@
         filter = FdoFilter::Parse((FdoString*)groupFilter.c_str());
         if (filter != NULL)
         {
-            ((MgdFeatureServiceCommand*)m_command)->SetGroupingFilter(filter);
+            ((MgPortableFeatureServiceCommand*)m_command)->SetGroupingFilter(filter);
         }
     }
 }
 
-void MgdSelectFeatures::ApplyFdoGroupingProperties(MgStringCollection* propertyNames)
+void MgPortableSelectFeatures::ApplyFdoGroupingProperties(MgStringCollection* propertyNames)
 {
-    CHECKNULL(m_options, L"MgdSelectFeatures.ApplyFdoGroupingProperties");
-    CHECKNULL(m_command, L"MgdSelectFeatures.ApplyFdoGroupingProperties");
+    CHECKNULL(m_options, L"MgPortableSelectFeatures.ApplyFdoGroupingProperties");
+    CHECKNULL(m_command, L"MgPortableSelectFeatures.ApplyFdoGroupingProperties");
 
     Ptr<MgStringCollection> properties = SAFE_ADDREF(propertyNames);
 
@@ -883,15 +883,15 @@
     // Grouping options are supplied but provider does not support it
     if (!m_command->SupportsSelectGrouping())
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgGroupingNotSupported");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgGroupingNotSupported");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.ApplyFdoGroupingProperties", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.ApplyFdoGroupingProperties", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
-    FdoPtr<FdoIdentifierCollection> fic = ((MgdFeatureServiceCommand*)m_command)->GetGrouping();
-    CHECKNULL((FdoIdentifierCollection*)fic, L"MgdSelectFeatures.ApplyFdoGroupingProperties");
+    FdoPtr<FdoIdentifierCollection> fic = ((MgPortableFeatureServiceCommand*)m_command)->GetGrouping();
+    CHECKNULL((FdoIdentifierCollection*)fic, L"MgPortableSelectFeatures.ApplyFdoGroupingProperties");
 
     for (INT32 i=0; i < cnt; i++)
     {
@@ -898,7 +898,7 @@
         STRING propertyName = properties->GetItem(i);
 
         FdoPtr<FdoIdentifier> fdoIden = FdoIdentifier::Create((FdoString*)propertyName.c_str());
-        CHECKNULL((FdoIdentifier*)fdoIden, L"MgdSelectFeatures.ApplyFdoGroupingProperties");
+        CHECKNULL((FdoIdentifier*)fdoIden, L"MgPortableSelectFeatures.ApplyFdoGroupingProperties");
 
         fic->Add(fdoIden);
     }
@@ -905,7 +905,7 @@
 }
 
 // Check whether user is requesting custom operations
-bool MgdSelectFeatures::ContainsCustomFunction(MgFeatureQueryOptions* options)
+bool MgPortableSelectFeatures::ContainsCustomFunction(MgFeatureQueryOptions* options)
 {
     bool hasCustomFunction = false;
 
@@ -930,7 +930,7 @@
         if (str != NULL)
         {
             FdoPtr<FdoExpression> expression = FdoExpression::Parse(str);
-            CHECKNULL((FdoExpression*)expression, L"MgdSelectFeatures.ContainsCustomFunction");
+            CHECKNULL((FdoExpression*)expression, L"MgPortableSelectFeatures.ContainsCustomFunction");
 
             hasCustomFunction = ContainsUdf(expression);
         }
@@ -939,11 +939,11 @@
     if (hasCustomFunction && (cnt != 1))
     {
         // Only one custom function with no property is allowed
-        STRING message = MgdFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdSelectFeatures.ContainsCustomFunction",
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableSelectFeatures.ContainsCustomFunction",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -951,13 +951,13 @@
 }
 
 // Convert reader into a custom MgDataReader
-MgReader* MgdSelectFeatures::GetCustomReader(MgReader* reader)
+MgReader* MgPortableSelectFeatures::GetCustomReader(MgReader* reader)
 {
     Ptr<MgReader> distReader;
     if (m_customPropertyFound)
     {
-        Ptr<MgdFeatureDistribution> featureDist =
-            MgdFeatureDistribution::CreateDistributionFunction(reader, m_customFunction, m_customPropertyName);
+        Ptr<MgPortableFeatureDistribution> featureDist =
+            MgPortableFeatureDistribution::CreateDistributionFunction(reader, m_customFunction, m_customPropertyName);
 
         distReader = featureDist->Execute();
     }
@@ -966,19 +966,19 @@
 }
 
 // Look for extension which have calculations but no joins
-bool MgdSelectFeatures::FindFeatureCalculation(MgResourceIdentifier* resourceId, CREFSTRING extensionName)
+bool MgPortableSelectFeatures::FindFeatureCalculation(MgResourceIdentifier* resourceId, CREFSTRING extensionName)
 {
     bool bCalculationExists = false;
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.FindFeatureCalculation");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.FindFeatureCalculation");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.FindFeatureCalculation");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.FindFeatureCalculation");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.FindFeatureCalculation");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.FindFeatureCalculation");
         STRING name = (STRING)extension->GetName();
 
         STRING parsedSchemaName, parsedExtensionName;
@@ -1001,19 +1001,19 @@
 }
 
 // Look for extension (feature join) properties in the feature source document
-bool MgdSelectFeatures::FindFeatureJoinProperties(MgResourceIdentifier* resourceId, CREFSTRING extensionName)
+bool MgPortableSelectFeatures::FindFeatureJoinProperties(MgResourceIdentifier* resourceId, CREFSTRING extensionName)
 {
     bool bJoinPropertiesExists = false;
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.FindFeatureJoinProperties");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.FindFeatureJoinProperties");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.FindFeatureJoinProperties");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.FindFeatureJoinProperties");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.FindFeatureJoinProperties");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.FindFeatureJoinProperties");
         STRING name = (STRING)extension->GetName();
 
         STRING parsedSchemaName, parsedExtensionName;
@@ -1034,19 +1034,19 @@
     return bJoinPropertiesExists;
 }
 
-void MgdSelectFeatures::UpdateCommandOnJoinCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
+void MgPortableSelectFeatures::UpdateCommandOnJoinCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
 {
     MG_FEATURE_SERVICE_TRY()
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.UpdateCommandOnJoinCalculation");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.UpdateCommandOnJoinCalculation");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.UpdateCommandOnJoinCalculation");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.UpdateCommandOnJoinCalculation");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.UpdateCommandOnJoinCalculation");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.UpdateCommandOnJoinCalculation");
         STRING name = (STRING)extension->GetName();
 
         STRING parsedSchemaName, parsedExtensionName;
@@ -1099,22 +1099,22 @@
             break;
         }
     }
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceId, L"MgdSelectFeatures.UpdateCommandOnJoinCalculation")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceId, L"MgPortableSelectFeatures.UpdateCommandOnJoinCalculation")
 }
 
-void MgdSelectFeatures::UpdateCommandOnCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
+void MgPortableSelectFeatures::UpdateCommandOnCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
 {
     MG_FEATURE_SERVICE_TRY()
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.UpdateCommandOnCalculation");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.UpdateCommandOnCalculation");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.UpdateCommandOnCalculation");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.UpdateCommandOnCalculation");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.UpdateCommandOnCalculation");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.UpdateCommandOnCalculation");
         STRING name = (STRING)extension->GetName();
 
         STRING parsedSchemaName, parsedExtensionName;
@@ -1176,10 +1176,10 @@
                 }
                 if (addAllProps)
                 {
-                    Ptr<MgdFeatureConnection> fcConnection = new MgdFeatureConnection(featureSourceId);
+                    Ptr<MgPortableFeatureConnection> fcConnection = new MgPortableFeatureConnection(featureSourceId);
                     if ((NULL != fcConnection.p) && ( fcConnection->IsConnectionOpen() ))
                     {
-                        // The reference to the FDO connection from the MgdFeatureConnection object must be cleaned up before the parent object
+                        // The reference to the FDO connection from the MgPortableFeatureConnection object must be cleaned up before the parent object
                         // otherwise it leaves the FDO connection marked as still in use.
                         FdoPtr<FdoIConnection> conn = fcConnection->GetConnection();
                         FdoPtr<FdoIDescribeSchema>  descSchema = (FdoIDescribeSchema *) conn->CreateCommand (FdoCommandType_DescribeSchema);
@@ -1234,27 +1234,27 @@
             break;
         }
     }
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceId, L"MgdSelectFeatures.UpdateCommandOnCalculation")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceId, L"MgPortableSelectFeatures.UpdateCommandOnCalculation")
 }
 
-MgdGwsFeatureReader* MgdSelectFeatures::JoinFeatures(MgResourceIdentifier* featureSourceIdentifier, CREFSTRING extensionName, FdoFilter* filter)
+MgPortableGwsFeatureReader* MgPortableSelectFeatures::JoinFeatures(MgResourceIdentifier* featureSourceIdentifier, CREFSTRING extensionName, FdoFilter* filter)
 {
-    Ptr<MgdGwsFeatureReader> gwsFeatureReader;
+    Ptr<MgPortableGwsFeatureReader> gwsFeatureReader;
 
     MG_FEATURE_SERVICE_TRY()
 
     FdoPtr<IGWSQueryDefinition> qd;
-    FdoPtr<MgdGwsConnectionPool> pool = MgdGwsConnectionPool::Create();
+    FdoPtr<MgPortableGwsConnectionPool> pool = MgPortableGwsConnectionPool::Create();
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.JoinFeatures");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.JoinFeatures");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.JoinFeatures");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.JoinFeatures");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.JoinFeatures");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.JoinFeatures");
         STRING name = (STRING)extension->GetName();
 
         STRING parsedSchemaName, parsedExtensionName;
@@ -1269,7 +1269,7 @@
             // Establish connection to provider for primary feature source
             STRING primaryConnectionName;
             MgUtil::GenerateUuid(primaryConnectionName);
-            Ptr<MgdFeatureConnection> msfcLeft = new MgdFeatureConnection(featureSourceIdentifier);
+            Ptr<MgPortableFeatureConnection> msfcLeft = new MgPortableFeatureConnection(featureSourceIdentifier);
             if ((NULL != msfcLeft.p) && ( msfcLeft->IsConnectionOpen() ))
             {
                 pool->AddConnection(primaryConnectionName.c_str(), msfcLeft);
@@ -1276,7 +1276,7 @@
             }
             else
             {
-                throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectFeatures.JoinFeatures",
+                throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectFeatures.JoinFeatures",
                     __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
@@ -1363,13 +1363,13 @@
                 lsellist,
                 GWSQualifiedName(primaryConnectionName.c_str(), primaryFsSchema.c_str(), primaryFsClassName.c_str()),
                 lfilter);
-            CHECKNULL(lqd, L"MgdSelectFeatures.JoinFeatures");
+            CHECKNULL(lqd, L"MgPortableSelectFeatures.JoinFeatures");
             qd = lqd;
 
             IGWSJoinQueryDefinition* jqd = NULL;
 
             MdfModel::AttributeRelateCollection* attributeRelates = extension->GetAttributeRelates();
-            CHECKNULL(attributeRelates, L"MgdSelectFeatures.JoinFeatures");
+            CHECKNULL(attributeRelates, L"MgPortableSelectFeatures.JoinFeatures");
 
             bool bForceOneToOne = true;
             Ptr<MgStringCollection> attributeNameDelimiters = new MgStringCollection();
@@ -1382,7 +1382,7 @@
             for (int attributeRelateIndex = 0; attributeRelateIndex < attributeRelates->GetCount(); attributeRelateIndex++)
             {
                 MdfModel::AttributeRelate* attributeRelate = attributeRelates->GetAt(attributeRelateIndex);
-                CHECKNULL(attributeRelate, L"MgdSelectFeatures.JoinFeatures");
+                CHECKNULL(attributeRelate, L"MgPortableSelectFeatures.JoinFeatures");
 
                 // Get the secondary resource id
                 STRING secondaryResourceId = (STRING)attributeRelate->GetResourceId();
@@ -1416,7 +1416,7 @@
 
                 if (NULL != secondaryFeatureSource)
                 {
-                    Ptr<MgdFeatureConnection> msfcRight = new MgdFeatureConnection(secondaryFeatureSource);
+                    Ptr<MgPortableFeatureConnection> msfcRight = new MgPortableFeatureConnection(secondaryFeatureSource);
                     if ((NULL != msfcRight.p) && ( msfcRight->IsConnectionOpen() ))
                     {
                         pool->AddConnection(secondaryConnectionName.c_str(), msfcRight);
@@ -1423,7 +1423,7 @@
                     }
                     else
                     {
-                        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectFeatures.JoinFeatures",
+                        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectFeatures.JoinFeatures",
                             __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
@@ -1443,7 +1443,7 @@
                     rsellist,
                     GWSQualifiedName(secondaryConnectionName.c_str(), secondaryFsSchema.c_str(), secondaryFsClassName.c_str()),
                     rfilter);
-                CHECKNULL(rqd, L"MgdSelectFeatures.JoinFeatures");
+                CHECKNULL(rqd, L"MgPortableSelectFeatures.JoinFeatures");
 
                 // Get Join Attributes
                 FdoPtr<FdoStringCollection> lattrs = FdoStringCollection::Create();
@@ -1451,7 +1451,7 @@
 
                 // Determine the number of RelateProperties (attributes)
                 MdfModel::RelatePropertyCollection* relateProperties = attributeRelate->GetRelateProperties();
-                CHECKNULL(relateProperties, L"MgdSelectFeatures.JoinFeatures");
+                CHECKNULL(relateProperties, L"MgPortableSelectFeatures.JoinFeatures");
                 int nRelatePropertyCount = relateProperties->GetCount();
 
                 // For each RelateProperty need to do the following
@@ -1458,7 +1458,7 @@
                 for (int relatePropertyIndex = 0; relatePropertyIndex < nRelatePropertyCount; relatePropertyIndex++)
                 {
                     MdfModel::RelateProperty* relateProperty = relateProperties->GetAt(relatePropertyIndex);
-                    CHECKNULL(relateProperty, L"MgdSelectFeatures.JoinFeatures");
+                    CHECKNULL(relateProperty, L"MgPortableSelectFeatures.JoinFeatures");
 
                     // Get the FeatureClassProperty (primary attribute)
                     STRING primaryAttribute = (STRING)relateProperty->GetFeatureClassProperty();
@@ -1533,13 +1533,13 @@
 
             FdoPtr<FdoStringCollection> fsNames = qd->FeatureSourceNames();
 
-            gwsFeatureReader = new MgdGwsFeatureReader(pool, iter, iterCopy, parsedExtensionName, fsNames, bForceOneToOne, attributeNameDelimiters);
+            gwsFeatureReader = new MgPortableGwsFeatureReader(pool, iter, iterCopy, parsedExtensionName, fsNames, bForceOneToOne, attributeNameDelimiters);
             gwsFeatureReader->SetFilter(filter);
             break;
         }
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceIdentifier, L"MgdSelectFeatures.JoinFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(featureSourceIdentifier, L"MgPortableSelectFeatures.JoinFeatures")
 
     // Now that the reader has been created we will need to mark all of the connections it uses as OwnReader() because the GWS reader will be
     // taking ownership of the connections. We have to do it this late in the code in case an exception is thrown somewhere before this.
@@ -1549,9 +1549,9 @@
     return gwsFeatureReader.Detach();
 }
 
-void MgdSelectFeatures::ParseQualifiedClassNameForCalculation(MdfModel::Extension* extension, CREFSTRING qualifiedClassName, STRING& schemaName, STRING& className)
+void MgPortableSelectFeatures::ParseQualifiedClassNameForCalculation(MdfModel::Extension* extension, CREFSTRING qualifiedClassName, STRING& schemaName, STRING& className)
 {
-    CHECKNULL(extension, L"MgdSelectFeatures.ParseQualifiedClassNameForCalculation");
+    CHECKNULL(extension, L"MgPortableSelectFeatures.ParseQualifiedClassNameForCalculation");
 
     MgUtil::ParseQualifiedClassName(qualifiedClassName, schemaName, className);
 
@@ -1563,19 +1563,19 @@
     }
 }
 
-MgResourceIdentifier* MgdSelectFeatures::GetSecondaryResourceIdentifier(MgResourceIdentifier* primResId, CREFSTRING extensionName, CREFSTRING relationName)
+MgResourceIdentifier* MgPortableSelectFeatures::GetSecondaryResourceIdentifier(MgResourceIdentifier* primResId, CREFSTRING extensionName, CREFSTRING relationName)
 {
     Ptr<MgResourceIdentifier> secResId;
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.GetSecondaryResourceIdentifier");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.GetSecondaryResourceIdentifier");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.GetSecondaryResourceIdentifier");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.GetSecondaryResourceIdentifier");
 
     for (int i = 0; i < extensions->GetCount(); i++)
     {
         MdfModel::Extension* extension = extensions->GetAt(i);
-        CHECKNULL(extension, L"MgdSelectFeatures.GetSecondaryResourceIdentifier");
+        CHECKNULL(extension, L"MgPortableSelectFeatures.GetSecondaryResourceIdentifier");
 
         // Get the extension name
         STRING name = (STRING)extension->GetName();
@@ -1591,7 +1591,7 @@
         {
             // Determine the number of secondary sources (AttributeRelates)
             MdfModel::AttributeRelateCollection* attributeRelates = extension->GetAttributeRelates();
-            CHECKNULL(attributeRelates, L"MgdSelectFeatures.GetSecondaryResourceIdentifier");
+            CHECKNULL(attributeRelates, L"MgPortableSelectFeatures.GetSecondaryResourceIdentifier");
             int nAttributeRelateCount = attributeRelates->GetCount();
 
             // Find the specified relation name
@@ -1599,7 +1599,7 @@
                 for (int attributeRelateIndex = 0; attributeRelateIndex < nAttributeRelateCount; attributeRelateIndex++)
                 {
                     MdfModel::AttributeRelate* attributeRelate = attributeRelates->GetAt(attributeRelateIndex);
-                    CHECKNULL(attributeRelate, L"MgdSelectFeatures.GetSecondaryResourceIdentifier");
+                    CHECKNULL(attributeRelate, L"MgPortableSelectFeatures.GetSecondaryResourceIdentifier");
 
                     // Get the name for the join relationship
                     STRING attributeRelateName = (STRING)attributeRelate->GetName();
@@ -1623,7 +1623,7 @@
     return secResId.Detach();
 }
 
-bool MgdSelectFeatures::SupportsFdoJoin(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, bool isAggregate)
+bool MgPortableSelectFeatures::SupportsFdoJoin(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, bool isAggregate)
 {
     bool bSupported = false;
 
@@ -1638,10 +1638,10 @@
     STRING extName;
     MgUtil::ParseQualifiedClassName(extensionName, schemaName, extName);
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.SupportsFdoJoin");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.SupportsFdoJoin");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.SupportsFdoJoin");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.SupportsFdoJoin");
 
     MdfModel::Extension* extension = NULL;
     for (INT32 i = 0; i < extensions->GetCount(); i++) 
@@ -1662,11 +1662,11 @@
         return false;
     }
 
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(featureSourceId);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(featureSourceId);
     {
         if (!conn->IsConnectionOpen())
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectFeatures.SupportsFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectFeatures.SupportsFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoIConnection> fdoConn = conn->GetConnection();
@@ -1812,19 +1812,19 @@
         bSupported = true;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSelectFeatures.SupportsFdoJoin")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSelectFeatures.SupportsFdoJoin")
 
     return bSupported;
 }
 
-bool MgdSelectFeatures::IsFunctionOnPrimaryProperty(FdoFunction* function, FdoIConnection* fdoConn, CREFSTRING schemaName, CREFSTRING className)
+bool MgPortableSelectFeatures::IsFunctionOnPrimaryProperty(FdoFunction* function, FdoIConnection* fdoConn, CREFSTRING schemaName, CREFSTRING className)
 {
-    FdoPtr<FdoIdentifierCollection> identifiers = MgdFeatureUtil::ExtractIdentifiers(function);
+    FdoPtr<FdoIdentifierCollection> identifiers = MgPortableFeatureUtil::ExtractIdentifiers(function);
     if (identifiers->GetCount() == 0)
         return true; //Inconsequential
 
     FdoPtr<FdoIDescribeSchema> descSchema = dynamic_cast<FdoIDescribeSchema*>(fdoConn->CreateCommand(FdoCommandType_DescribeSchema));
-    CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgPortableSelectFeatures.SelectFdoJoin");
 
     if (!schemaName.empty())
     {
@@ -1860,7 +1860,7 @@
     if (NULL == (FdoClassDefinition*)classDef)
     {
         //TODO: Refine message if available
-        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgdSelectFeatures.IsFunctionOnPrimaryProperty", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgPortableSelectFeatures.IsFunctionOnPrimaryProperty", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     FdoPtr<FdoPropertyDefinitionCollection> properties = classDef->GetProperties();
@@ -1881,7 +1881,7 @@
     return true;
 }
 
-bool MgdSelectFeatures::FilterContainsSecondaryProperties(MgResourceIdentifier* featureSourceId, CREFSTRING filter, STRING secondarySchema, STRING secondaryClassName, STRING secondaryPrefix)
+bool MgPortableSelectFeatures::FilterContainsSecondaryProperties(MgResourceIdentifier* featureSourceId, CREFSTRING filter, STRING secondarySchema, STRING secondaryClassName, STRING secondaryPrefix)
 {
     if (filter.empty())
         return false;
@@ -1888,17 +1888,17 @@
 
     //TODO: There's probably a more efficient way to do this without needing to fetch the secondary
     //class definition. But we're aiming for functionality and simplicity first.
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(featureSourceId);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(featureSourceId);
     {
         if (!conn->IsConnectionOpen())
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectFeatures.SupportsFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectFeatures.SupportsFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoIConnection> fdoConn = conn->GetConnection();
 
         FdoPtr<FdoIDescribeSchema> descSchema = dynamic_cast<FdoIDescribeSchema*>(fdoConn->CreateCommand(FdoCommandType_DescribeSchema));
-        CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgdSelectFeatures.SelectFdoJoin");
+        CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgPortableSelectFeatures.SelectFdoJoin");
 
         if (!secondarySchema.empty())
         {
@@ -1934,7 +1934,7 @@
         if (NULL == (FdoClassDefinition*)classDef)
         {
             //TODO: Refine message if available
-            throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgdSelectFeatures.FilterContainsSecondaryProperties", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgPortableSelectFeatures.FilterContainsSecondaryProperties", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         FdoPtr<FdoPropertyDefinitionCollection> propDefs = classDef->GetProperties();
@@ -1951,7 +1951,7 @@
     return false;
 }
 
-MgReader* MgdSelectFeatures::SelectFdoJoin(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, bool isAggregate)
+MgReader* MgPortableSelectFeatures::SelectFdoJoin(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, bool isAggregate)
 {
     // TODO: This does not handle filters on the secondary side (yet)
     // Can GwsQueryEngine do this?
@@ -1965,10 +1965,10 @@
     STRING extName;
     MgUtil::ParseQualifiedClassName(extensionName, schemaName, extName);
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.SelectFdoJoin");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.SelectFdoJoin");
 
     MdfModel::Extension* extension = NULL;
     for (INT32 i = 0; i < extensions->GetCount(); i++) 
@@ -1981,7 +1981,7 @@
         }
     }
 
-    CHECKNULL(extension, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(extension, L"MgPortableSelectFeatures.SelectFdoJoin");
     FdoString* clsName = extension->GetFeatureClass().c_str();
     m_command->SetFeatureClassName(clsName);
 #ifdef DEBUG_FDO_JOIN
@@ -1988,7 +1988,7 @@
     ACE_DEBUG((LM_INFO, ACE_TEXT("\n\t(%t) [FdoISelect] Set primary feature class: %W"), clsName));
 #endif
     MdfModel::AttributeRelateCollection* relates = extension->GetAttributeRelates();
-    CHECKNULL(relates, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(relates, L"MgPortableSelectFeatures.SelectFdoJoin");
     MdfModel::AttributeRelate* relate = relates->GetAt(0);
 
     const MdfModel::MdfString& prefix = relate->GetName();
@@ -1999,26 +1999,26 @@
     FdoPtr<FdoJoinCriteriaCollection> joinCriteria;
     if (isAggregate)
     {
-        MgdSelectAggregateCommand* cmd = static_cast<MgdSelectAggregateCommand*>(m_command.p);
+        MgPortableSelectAggregateCommand* cmd = static_cast<MgPortableSelectAggregateCommand*>(m_command.p);
         cmd->SetAlias(primaryAlias.c_str());
         joinCriteria = cmd->GetJoinCriteria();
     }
     else
     {
-        MgdSelectCommand* cmd = static_cast<MgdSelectCommand*>(m_command.p);
+        MgPortableSelectCommand* cmd = static_cast<MgPortableSelectCommand*>(m_command.p);
         cmd->SetAlias(primaryAlias.c_str());
         joinCriteria = cmd->GetJoinCriteria();
     }
 
     Ptr<MgStringCollection> idPropNames = new MgStringCollection();
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(featureSourceId);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(featureSourceId);
     {
         if (!conn->IsConnectionOpen())
         {
-            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSelectFeatures.SelectFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSelectFeatures.SelectFdoJoin", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        CHECKNULL(m_command, L"MgdSelectFeatures.SelectFdoJoin");
+        CHECKNULL(m_command, L"MgPortableSelectFeatures.SelectFdoJoin");
         FdoPtr<FdoIConnection> fdoConn = conn->GetConnection();
 
         bool bAppliedProperties = false;
@@ -2115,16 +2115,16 @@
     joinCriteria->Add(criteria);
 
     if (isAggregate)
-        ret = ((MgdSelectAggregateCommand*)m_command.p)->ExecuteJoined(idPropNames, bForceOneToOne);
+        ret = ((MgPortableSelectAggregateCommand*)m_command.p)->ExecuteJoined(idPropNames, bForceOneToOne);
     else
-        ret = ((MgdSelectCommand*)m_command.p)->ExecuteJoined(idPropNames, bForceOneToOne);
+        ret = ((MgPortableSelectCommand*)m_command.p)->ExecuteJoined(idPropNames, bForceOneToOne);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSelectFeatures.SelectFdoJoin")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSelectFeatures.SelectFdoJoin")
 
     return ret.Detach();
 }
 
-void MgdSelectFeatures::ApplyAggregateCommandJoinFilterAndCriteria(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
+void MgPortableSelectFeatures::ApplyAggregateCommandJoinFilterAndCriteria(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName)
 {
 #ifdef DEBUG_FDO_JOIN
     ACE_DEBUG((LM_INFO, ACE_TEXT("\n\t(%t) Applying FDO join criteria and filter to aggregate command")));
@@ -2135,10 +2135,10 @@
     STRING extName;
     MgUtil::ParseQualifiedClassName(extensionName, schemaName, extName);
 
-    CHECKNULL(m_featureSourceCacheItem.p, L"MgdSelectFeatures.SupportsFdoJoin");
+    CHECKNULL(m_featureSourceCacheItem.p, L"MgPortableSelectFeatures.SupportsFdoJoin");
     MdfModel::FeatureSource* featureSource = m_featureSourceCacheItem->Get();
     MdfModel::ExtensionCollection* extensions = featureSource->GetExtensions();
-    CHECKNULL(extensions, L"MgdSelectFeatures.SupportsFdoJoin");
+    CHECKNULL(extensions, L"MgPortableSelectFeatures.SupportsFdoJoin");
 
     MdfModel::Extension* extension = NULL;
     for (INT32 i = 0; i < extensions->GetCount(); i++) 
@@ -2151,10 +2151,10 @@
         }
     }
 
-    CHECKNULL(extension, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(extension, L"MgPortableSelectFeatures.SelectFdoJoin");
     m_command->SetFeatureClassName(extension->GetFeatureClass().c_str());
     MdfModel::AttributeRelateCollection* relates = extension->GetAttributeRelates();
-    CHECKNULL(relates, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL(relates, L"MgPortableSelectFeatures.SelectFdoJoin");
     MdfModel::AttributeRelate* relate = relates->GetAt(0);
 
     const MdfModel::MdfString& prefix = relate->GetName();
@@ -2162,7 +2162,7 @@
     STRING primaryAlias = PRIMARY_ALIAS;
     STRING secondaryAlias = SECONDARY_ALIAS;
 
-    MgdSelectAggregateCommand* extSelect = static_cast<MgdSelectAggregateCommand*>(m_command.p);
+    MgPortableSelectAggregateCommand* extSelect = static_cast<MgPortableSelectAggregateCommand*>(m_command.p);
     extSelect->SetAlias(primaryAlias.c_str());
 
     FdoPtr<FdoJoinCriteriaCollection> joinCriteria = extSelect->GetJoinCriteria();
@@ -2216,10 +2216,10 @@
     joinCriteria->Add(criteria);
 }
 
-void MgdSelectFeatures::ApplyClassProperties(FdoIConnection* fdoConn, CREFSTRING schemaName, CREFSTRING className, MgStringCollection* idPropNames, CREFSTRING alias, CREFSTRING prefix)
+void MgPortableSelectFeatures::ApplyClassProperties(FdoIConnection* fdoConn, CREFSTRING schemaName, CREFSTRING className, MgStringCollection* idPropNames, CREFSTRING alias, CREFSTRING prefix)
 {
     FdoPtr<FdoIDescribeSchema> descSchema = dynamic_cast<FdoIDescribeSchema*>(fdoConn->CreateCommand(FdoCommandType_DescribeSchema));
-    CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgdSelectFeatures.SelectFdoJoin");
+    CHECKNULL((FdoIDescribeSchema*)descSchema, L"MgPortableSelectFeatures.SelectFdoJoin");
 
     if (!schemaName.empty())
     {
@@ -2255,7 +2255,7 @@
     if (NULL == (FdoClassDefinition*)classDef)
     {
         //TODO: Refine message if available
-        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgdSelectFeatures.ApplyClassProperties", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgPortableSelectFeatures.ApplyClassProperties", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     FdoPtr<FdoIdentifierCollection> propNames = m_command->GetPropertyNames();
@@ -2295,11 +2295,11 @@
     }
 }
 
-MgdScrollableFeatureReader* MgdSelectFeatures::SelectExtended()
+MgPortableScrollableFeatureReader* MgPortableSelectFeatures::SelectExtended()
 {
-    Ptr<MgdScrollableFeatureReader> scrollReader;
+    Ptr<MgPortableScrollableFeatureReader> scrollReader;
     ApplyQueryOptions(false);
-    scrollReader = dynamic_cast<MgdScrollableFeatureReader*>(m_command->Execute());
-    CHECKNULL(scrollReader.p, L"MgdSelectFeatures::SelectExtended");
+    scrollReader = dynamic_cast<MgPortableScrollableFeatureReader*>(m_command->Execute());
+    CHECKNULL(scrollReader.p, L"MgPortableSelectFeatures::SelectExtended");
     return scrollReader.Detach();
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SelectFeatures.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_SELECT_FEATURES_H_
 #define DESKTOP_SELECT_FEATURES_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
@@ -25,14 +25,14 @@
 #include "Services/Feature/GwsFeatureReader.h"
 
 class MgFeatureQueryOptions;
-class MgdFeatureServiceCommand;
-template class Ptr<MgdFeatureSourceCacheItem>;
+class MgPortableFeatureServiceCommand;
+template class Ptr<MgPortableFeatureSourceCacheItem>;
 
-class MgdSelectFeatures
+class MgPortableSelectFeatures
 {
 public:
-    MgdSelectFeatures();
-    ~MgdSelectFeatures();
+    MgPortableSelectFeatures();
+    ~MgPortableSelectFeatures();
     MgReader* SelectFeatures(MgResourceIdentifier* resource,
                              CREFSTRING className,
                              MgFeatureQueryOptions* options,
@@ -49,7 +49,7 @@
     void  ApplyOrderingOptions();
     void  ApplyFetchSize();
 
-    MgdScrollableFeatureReader* SelectExtended();
+    MgPortableScrollableFeatureReader* SelectExtended();
 
     //bool HasCustomProperty() { return m_customPropertyFound; }
     //FdoFunction* GetCustomFunction() { return FDO_SAFE_ADDREF(m_customFunction); }
@@ -73,9 +73,9 @@
     Ptr<MgStringCollection> properties;
     Ptr<MgFeatureQueryOptions> m_options;
     STRING                  filterText;
-    Ptr<MgdFeatureServiceCommand>    m_command;
+    Ptr<MgPortableFeatureServiceCommand>    m_command;
 
-    Ptr<MgdFeatureSourceCacheItem> m_featureSourceCacheItem;
+    Ptr<MgPortableFeatureSourceCacheItem> m_featureSourceCacheItem;
 
     // Only one custom property is supported. No nesting of custom properties allowed.
     STRING                  m_customPropertyName;
@@ -85,7 +85,7 @@
     // Methods for Feature Join
     bool FindFeatureJoinProperties(MgResourceIdentifier* resourceId, CREFSTRING extensionName);
     bool FindFeatureCalculation(MgResourceIdentifier* resourceId, CREFSTRING extensionName);
-    MgdGwsFeatureReader* JoinFeatures(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, FdoFilter* filter);
+    MgPortableGwsFeatureReader* JoinFeatures(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName, FdoFilter* filter);
     void UpdateCommandOnCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName);
     void UpdateCommandOnJoinCalculation(MgResourceIdentifier* featureSourceId, CREFSTRING extensionName);
     void ParseQualifiedClassNameForCalculation(MdfModel::Extension* extension, CREFSTRING qualifiedClassName, STRING& schemaName, STRING& className);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SqlCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,11 +23,11 @@
 #include "Services/Feature/FeatureUtil.h"
 #include "Services/Transaction.h"
 
-MgdSqlCommand::MgdSqlCommand()
+MgPortableSqlCommand::MgPortableSqlCommand()
 {
 }
 
-MgdSqlCommand::~MgdSqlCommand()
+MgPortableSqlCommand::~MgPortableSqlCommand()
 {
     MG_TRY()
 
@@ -36,7 +36,7 @@
     MG_CATCH_AND_RELEASE()
 }
 
-void MgdSqlCommand::CloseConnection()
+void MgPortableSqlCommand::CloseConnection()
 {
     // The FDO connection must be released before the parent object is released
     m_fdoConn = NULL;
@@ -44,7 +44,7 @@
 }
 
 // Executes the describe schema command and serializes the schema to XML
-MgSqlDataReader* MgdSqlCommand::ExecuteQuery(
+MgSqlDataReader* MgPortableSqlCommand::ExecuteQuery(
     MgResourceIdentifier* resource,
     CREFSTRING sqlStatement,
     MgParameterCollection* params,
@@ -60,7 +60,7 @@
 
     // Create the SQL command
     FdoPtr<FdoISQLCommand> fdoCommand = (FdoISQLCommand*)m_fdoConn->CreateCommand(FdoCommandType_SQLCommand);
-    CHECKNULL((FdoISQLCommand*)fdoCommand, L"MgdSqlCommand.ExecuteQuery");
+    CHECKNULL((FdoISQLCommand*)fdoCommand, L"MgPortableSqlCommand.ExecuteQuery");
 
     // Set SQL statement
     fdoCommand->SetSQLStatement((FdoString*)sqlStatement.c_str());
@@ -73,27 +73,27 @@
     if (NULL != params && params->GetCount() > 0)
     {
         fdoParams = fdoCommand->GetParameterValues();
-        MgdFeatureUtil::FillFdoParameterCollection(params, fdoParams);
+        MgPortableFeatureUtil::FillFdoParameterCollection(params, fdoParams);
     }
 
     // Execute the command
     FdoPtr<FdoISQLDataReader> sqlReader = fdoCommand->ExecuteReader();
-    CHECKNULL((FdoISQLDataReader*)sqlReader, L"MgdSqlCommand.ExecuteQuery");
+    CHECKNULL((FdoISQLDataReader*)sqlReader, L"MgPortableSqlCommand.ExecuteQuery");
 
     // Update parameter whose direction is InputOutput, Output, or Return.
     if (NULL != params && params->GetCount() > 0)
-        MgdFeatureUtil::UpdateParameterCollection(fdoParams, params);
+        MgPortableFeatureUtil::UpdateParameterCollection(fdoParams, params);
 
-    mgSqlDataReader = new MgdSqlDataReader(m_featureConnection, sqlReader); //, m_providerName);
-    CHECKNULL((MgSqlDataReader*)mgSqlDataReader, L"MgdSqlCommand.ExecuteQuery");
+    mgSqlDataReader = new MgPortableSqlDataReader(m_featureConnection, sqlReader); //, m_providerName);
+    CHECKNULL((MgSqlDataReader*)mgSqlDataReader, L"MgPortableSqlCommand.ExecuteQuery");
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdSqlCommand.ExecuteQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableSqlCommand.ExecuteQuery")
 
     return mgSqlDataReader.Detach();
 }
 
 // Executes the describe schema command and serializes the schema to XML
-INT32 MgdSqlCommand::ExecuteNonQuery(
+INT32 MgPortableSqlCommand::ExecuteNonQuery(
     MgResourceIdentifier* resource,
     CREFSTRING sqlStatement,
     MgParameterCollection* params,
@@ -108,7 +108,7 @@
 
     // Create the SQL command
     FdoPtr<FdoISQLCommand> fdoCommand = (FdoISQLCommand*)m_fdoConn->CreateCommand(FdoCommandType_SQLCommand);
-    CHECKNULL((FdoISQLCommand*)fdoCommand, L"MgdSqlCommand.ExecuteQuery");
+    CHECKNULL((FdoISQLCommand*)fdoCommand, L"MgPortableSqlCommand.ExecuteQuery");
 
     // Set SQL statement
     fdoCommand->SetSQLStatement((FdoString*)sqlStatement.c_str());
@@ -118,7 +118,7 @@
     if (NULL != params && params->GetCount() > 0)
     {
         fdoParams = fdoCommand->GetParameterValues();
-        MgdFeatureUtil::FillFdoParameterCollection(params, fdoParams);
+        MgPortableFeatureUtil::FillFdoParameterCollection(params, fdoParams);
     }
 
     // Execute the command
@@ -126,20 +126,20 @@
 
     // Update parameter whose direction is InputOutput, Output, or Return.
     if (NULL != params && params->GetCount() > 0)
-        MgdFeatureUtil::UpdateParameterCollection(fdoParams, params);
+        MgPortableFeatureUtil::UpdateParameterCollection(fdoParams, params);
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdSqlCommand.ExecuteQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableSqlCommand.ExecuteQuery")
 
     return rowsAffected;
 }
 
 
-void MgdSqlCommand::Validate(MgResourceIdentifier* resource, CREFSTRING sqlStatement, INT32 commandType, MgTransaction* transaction)
+void MgPortableSqlCommand::Validate(MgResourceIdentifier* resource, CREFSTRING sqlStatement, INT32 commandType, MgTransaction* transaction)
 {
     // SQL statement can not be empty
     if (resource == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdSqlCommand.Validate", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableSqlCommand.Validate", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     if (sqlStatement.empty())
@@ -148,7 +148,7 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdSqlCommand.Validate",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableSqlCommand.Validate",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -159,13 +159,13 @@
     if (NULL != transaction)
     {
         // grab the connection used to start the transaction.
-        MgdTransaction* featureTransaction = static_cast<MgdTransaction*>(transaction);
+        MgPortableTransaction* featureTransaction = static_cast<MgPortableTransaction*>(transaction);
         m_featureConnection = featureTransaction->GetConnection();
     }
     else
     {
         // No transaction, grab the connection as usual.
-        m_featureConnection = new MgdFeatureConnection(resource);
+        m_featureConnection = new MgPortableFeatureConnection(resource);
     }
 
     if (m_featureConnection->IsConnectionOpen() )
@@ -177,12 +177,12 @@
         if (!m_featureConnection->SupportsCommand(commandType))
         {
             // TODO: specify which argument and message, once we have the mechanism
-            STRING message = MgdFeatureUtil::GetMessage(L"MgCommandNotSupported");
-            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdSqlCommand.Validate", __LINE__, __WFILE__, NULL, L"", NULL);
+            STRING message = MgPortableFeatureUtil::GetMessage(L"MgCommandNotSupported");
+            throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableSqlCommand.Validate", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
     else
     {
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdSqlCommand::Validate", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableSqlCommand::Validate", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/SqlCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,18 +18,18 @@
 #ifndef _MG_SERVER_SQLCOMMAND_H_
 #define _MG_SERVER_SQLCOMMAND_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-class MgdSqlCommand
+class MgPortableSqlCommand
 {
 public:
-    MgdSqlCommand();
-    ~MgdSqlCommand();
+    MgPortableSqlCommand();
+    ~MgPortableSqlCommand();
     MgSqlDataReader* ExecuteQuery(
                         MgResourceIdentifier* resource,
                         CREFSTRING sqlStatement,
@@ -50,7 +50,7 @@
     STRING                  m_providerName;
     STRING                  m_sqlStatement;
     FdoPtr<FdoIConnection> m_fdoConn;
-    Ptr<MgdFeatureConnection> m_featureConnection;
+    Ptr<MgPortableFeatureConnection> m_featureConnection;
 };
 
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/UpdateCommand.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureDefs.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/FeatureService.h"
 #include "Services/Feature/FeatureConnection.h"
 #include "FeatureManipulationCommand.h"
@@ -24,28 +24,28 @@
 #include "Services/Feature/FeatureUtil.h"
 #include "Services/FeatureReader.h"
 
-MgdUpdateCommand::MgdUpdateCommand()
+MgPortableUpdateCommand::MgPortableUpdateCommand()
 {
     m_srvrFeatConn = NULL;
     m_featCommand = NULL;
 }
 
-MgdUpdateCommand::MgdUpdateCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId)
+MgPortableUpdateCommand::MgPortableUpdateCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId)
 {
-    CHECKNULL(command, L"MgdUpdateCommand.MgdUpdateCommand");
-    CHECKNULL(connection, L"MgdUpdateCommand.MgdUpdateCommand");
+    CHECKNULL(command, L"MgPortableUpdateCommand.MgPortableUpdateCommand");
+    CHECKNULL(connection, L"MgPortableUpdateCommand.MgPortableUpdateCommand");
 
-    m_srvrFeatConn = SAFE_ADDREF((MgdFeatureConnection*)connection);
+    m_srvrFeatConn = SAFE_ADDREF((MgPortableFeatureConnection*)connection);
     m_featCommand = SAFE_ADDREF((MgUpdateFeatures*)command);
     m_cmdId = cmdId;
 }
 
-MgdUpdateCommand::~MgdUpdateCommand()
+MgPortableUpdateCommand::~MgPortableUpdateCommand()
 {
     m_srvrFeatConn = NULL;
 }
 
-MgProperty* MgdUpdateCommand::Execute()
+MgProperty* MgPortableUpdateCommand::Execute()
 {
     STRING clsName = m_featCommand->GetFeatureClassName();
     STRING filterText = m_featCommand->GetFilterText();
@@ -55,13 +55,13 @@
 
     // Create the SQL command
     FdoPtr<FdoIUpdate> fdoCommand = (FdoIUpdate*)fdoConn->CreateCommand(FdoCommandType_Update);
-    CHECKNULL((FdoIUpdate*)fdoCommand, L"MgdUpdateCommand.Execute");
+    CHECKNULL((FdoIUpdate*)fdoCommand, L"MgPortableUpdateCommand.Execute");
 
     fdoCommand->SetFeatureClassName(clsName.c_str());
     fdoCommand->SetFilter(filterText.c_str());
 
     FdoPtr<FdoPropertyValueCollection> paramValCol = fdoCommand->GetPropertyValues();
-    MgdFeatureUtil::FillFdoPropertyCollection(propCol, paramValCol);
+    MgPortableFeatureUtil::FillFdoPropertyCollection(propCol, paramValCol);
 
     INT32 recordsUpdated = fdoCommand->Execute();
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/UpdateCommand.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,21 +18,21 @@
 #ifndef _MG_SERVER_UPDATE_COMMAND_H_
 #define _MG_SERVER_UPDATE_COMMAND_H_
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-class MgdUpdateCommand : public MgdFeatureManipulationCommand
+class MgPortableUpdateCommand : public MgPortableFeatureManipulationCommand
 {
-    DECLARE_CLASSNAME(MgdUpdateCommand)
+    DECLARE_CLASSNAME(MgPortableUpdateCommand)
 
 public:
-    MgdUpdateCommand(MgFeatureCommand* command, MgdFeatureConnection* connection, INT32 cmdId);
+    MgPortableUpdateCommand(MgFeatureCommand* command, MgPortableFeatureConnection* connection, INT32 cmdId);
     virtual MgProperty* Execute();
 protected:
-    MgdUpdateCommand();
-    ~MgdUpdateCommand();
+    MgPortableUpdateCommand();
+    ~MgPortableUpdateCommand();
 private:
     Ptr<MgUpdateFeatures> m_featCommand;
-    Ptr<MgdFeatureConnection> m_srvrFeatConn;
+    Ptr<MgPortableFeatureConnection> m_srvrFeatConn;
     INT32 m_cmdId;
 };
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/UpdateFeatures.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,24 +24,24 @@
 #include "Services/Feature/FeatureServiceCache.h"
 #include "Services/Transaction.h"
 
-MgdUpdateFeaturesCommand::MgdUpdateFeaturesCommand()
+MgPortableUpdateFeaturesCommand::MgPortableUpdateFeaturesCommand()
 {
     m_SrvrFeatConn = NULL;
 }
 
-MgdUpdateFeaturesCommand::~MgdUpdateFeaturesCommand()
+MgPortableUpdateFeaturesCommand::~MgPortableUpdateFeaturesCommand()
 {
 }
 
-void MgdUpdateFeaturesCommand::Connect(MgResourceIdentifier* resource, MgTransaction* transaction)
+void MgPortableUpdateFeaturesCommand::Connect(MgResourceIdentifier* resource, MgTransaction* transaction)
 {
     if (NULL == transaction)
     {
-        m_SrvrFeatConn = new MgdFeatureConnection(resource);
+        m_SrvrFeatConn = new MgPortableFeatureConnection(resource);
     }
     else
     {
-        MgdTransaction* featTransaction = static_cast<MgdTransaction*>(transaction);
+        MgPortableTransaction* featTransaction = static_cast<MgPortableTransaction*>(transaction);
         m_SrvrFeatConn = featTransaction->GetConnection();
     }
 
@@ -48,13 +48,13 @@
     if ((NULL != m_SrvrFeatConn.p) && ( !m_SrvrFeatConn->IsConnectionOpen() ))
     {
 
-        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgdUpdateFeaturesCommand::MgdUpdateFeaturesCommand()",
+        throw new MgException(MgExceptionCodes::MgConnectionFailedException, L"MgPortableUpdateFeaturesCommand::MgPortableUpdateFeaturesCommand()",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
 
 // Executes the commands
-MgPropertyCollection* MgdUpdateFeaturesCommand::Execute(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableUpdateFeaturesCommand::Execute(MgResourceIdentifier* resource,
                                                       MgFeatureCommandCollection* commands,
                                                       bool useTransaction)
 {
@@ -66,7 +66,7 @@
 
     if (resource == NULL || commands == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdUpdateFeaturesCommand.UpdateFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableUpdateFeaturesCommand.UpdateFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     INT32 cnt = commands->GetCount();
@@ -76,7 +76,7 @@
         arguments.Add(L"2");
         arguments.Add(L"0");
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUpdateFeaturesCommand.UpdateFeatures",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUpdateFeaturesCommand.UpdateFeatures",
             __LINE__, __WFILE__, &arguments, L"MgCollectionEmpty", NULL);
     }
 
@@ -95,13 +95,13 @@
     {
         Ptr<MgProperty> result;
         Ptr<MgFeatureCommand> command = commands->GetItem(i);
-        Ptr<MgdFeatureManipulationCommand> fmServerCommand = MgdFeatureManipulationCommand::CreateCommand(command, m_SrvrFeatConn, i);
+        Ptr<MgPortableFeatureManipulationCommand> fmServerCommand = MgPortableFeatureManipulationCommand::CreateCommand(command, m_SrvrFeatConn, i);
 
         MG_FEATURE_SERVICE_TRY()
         // Execute the manipulation command
         result = fmServerCommand->Execute();
 
-        MG_FEATURE_SERVICE_CATCH(L"MgdUpdateFeaturesCommand.UpdateFeatures")
+        MG_FEATURE_SERVICE_CATCH(L"MgPortableUpdateFeaturesCommand.UpdateFeatures")
 
         if (transaction != NULL)
         {
@@ -135,7 +135,7 @@
         commited = true;
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdUpdateFeaturesCommand.UpdateFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableUpdateFeaturesCommand.UpdateFeatures")
 
     if (transaction != NULL && !commited)
     {
@@ -148,7 +148,7 @@
 }
 
 // Executes the commands
-MgPropertyCollection* MgdUpdateFeaturesCommand::Execute(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableUpdateFeaturesCommand::Execute(MgResourceIdentifier* resource,
                                                       MgFeatureCommandCollection* commands,
                                                       MgTransaction* transaction)
 {
@@ -158,7 +158,7 @@
 
     if (resource == NULL || commands == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdUpdateFeaturesCommand.UpdateFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableUpdateFeaturesCommand.UpdateFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     INT32 cnt = commands->GetCount();
@@ -168,7 +168,7 @@
         arguments.Add(L"2");
         arguments.Add(L"0");
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUpdateFeaturesCommand.UpdateFeatures",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUpdateFeaturesCommand.UpdateFeatures",
             __LINE__, __WFILE__, &arguments, L"MgCollectionEmpty", NULL);
     }
 
@@ -181,13 +181,13 @@
     {
         Ptr<MgProperty> result;
         Ptr<MgFeatureCommand> command = commands->GetItem(i);
-        Ptr<MgdFeatureManipulationCommand> fmServerCommand = MgdFeatureManipulationCommand::CreateCommand(command, m_SrvrFeatConn, i);
+        Ptr<MgPortableFeatureManipulationCommand> fmServerCommand = MgPortableFeatureManipulationCommand::CreateCommand(command, m_SrvrFeatConn, i);
 
         MG_FEATURE_SERVICE_TRY()
         // Execute the manipulation command
         result = fmServerCommand->Execute();
 
-        MG_FEATURE_SERVICE_CATCH(L"MgdUpdateFeaturesCommand.UpdateFeatures")
+        MG_FEATURE_SERVICE_CATCH(L"MgPortableUpdateFeaturesCommand.UpdateFeatures")
 
         if (transaction != NULL)
         {
@@ -215,26 +215,26 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdUpdateFeaturesCommand.UpdateFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableUpdateFeaturesCommand.UpdateFeatures")
 
     return propCol.Detach();
 }
 
-MgFeatureReader* MgdUpdateFeaturesCommand::ExecuteInsert(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableUpdateFeaturesCommand::ExecuteInsert(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
 {
     Ptr<MgFeatureReader> reader;
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdUpdateFeaturesCommand::ExecuteInsert");
-    CHECKARGUMENTNULL(propertyValues, L"MgdUpdateFeaturesCommand::ExecuteInsert");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableUpdateFeaturesCommand::ExecuteInsert");
+    CHECKARGUMENTNULL(propertyValues, L"MgPortableUpdateFeaturesCommand::ExecuteInsert");
     if (className.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdUpdateFeaturesCommand::ExecuteInsert", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteInsert", __LINE__, __WFILE__, NULL, L"", NULL);
     
-    Ptr<MgdFeatureConnection> connWrap;
+    Ptr<MgPortableFeatureConnection> connWrap;
     FdoPtr<FdoIConnection> conn;
     FdoPtr<FdoITransaction> fdoTrans;
-    Ptr<MgdTransaction> mgTrans = dynamic_cast<MgdTransaction*>(trans);
+    Ptr<MgPortableTransaction> mgTrans = dynamic_cast<MgPortableTransaction*>(trans);
     if (NULL != mgTrans)
     {
         SAFE_ADDREF(mgTrans.p);
@@ -241,7 +241,7 @@
         Ptr<MgResourceIdentifier> origFeatureSource = mgTrans->GetFeatureSource();
         //Check that the transaction originates from the same feature source
         if (origFeatureSource->ToString() != resource->ToString())
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUpdateFeaturesCommand::ExecuteInsert", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteInsert", __LINE__, __WFILE__, NULL, L"", NULL);
 
         connWrap = mgTrans->GetConnection(); //Connection is already open
         fdoTrans = mgTrans->GetFdoTransaction();
@@ -248,7 +248,7 @@
     }
     else
     {    
-        connWrap = new MgdFeatureConnection(resource);
+        connWrap = new MgPortableFeatureConnection(resource);
     }
 
     conn = connWrap->GetConnection();
@@ -260,7 +260,7 @@
     for (INT32 i = 0; i < propertyValues->GetCount(); i++)
     {
         Ptr<MgProperty> mgp = propertyValues->GetItem(i);
-        FdoPtr<FdoPropertyValue> pv = MgdFeatureUtil::MgPropertyToFdoProperty(mgp);
+        FdoPtr<FdoPropertyValue> pv = MgPortableFeatureUtil::MgPropertyToFdoProperty(mgp);
 
         propVals->Add(pv);
     }
@@ -270,28 +270,28 @@
 
     FdoPtr<FdoIFeatureReader> insertRes = insert->Execute();
 
-    reader = new MgdFeatureReader(connWrap, insertRes);
+    reader = new MgPortableFeatureReader(connWrap, insertRes);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdUpdateFeaturesCommand::ExecuteInsert", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableUpdateFeaturesCommand::ExecuteInsert", resource)
 
     return reader.Detach();
 }
 
-INT32 MgdUpdateFeaturesCommand::ExecuteUpdate(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableUpdateFeaturesCommand::ExecuteUpdate(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
 {
     INT32 updated = 0;
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdUpdateFeaturesCommand::ExecuteUpdate");
-    CHECKARGUMENTNULL(propertyValues, L"MgdUpdateFeaturesCommand::ExecuteUpdate");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableUpdateFeaturesCommand::ExecuteUpdate");
+    CHECKARGUMENTNULL(propertyValues, L"MgPortableUpdateFeaturesCommand::ExecuteUpdate");
     if (className.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdUpdateFeaturesCommand::ExecuteUpdate", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteUpdate", __LINE__, __WFILE__, NULL, L"", NULL);
 
-    Ptr<MgdFeatureConnection> connWrap;
+    Ptr<MgPortableFeatureConnection> connWrap;
     FdoPtr<FdoIConnection> conn;
     FdoPtr<FdoITransaction> fdoTrans;
-    Ptr<MgdTransaction> mgTrans = dynamic_cast<MgdTransaction*>(trans);
+    Ptr<MgPortableTransaction> mgTrans = dynamic_cast<MgPortableTransaction*>(trans);
     if (NULL != mgTrans)
     {
         SAFE_ADDREF(mgTrans.p);
@@ -298,7 +298,7 @@
         Ptr<MgResourceIdentifier> origFeatureSource = mgTrans->GetFeatureSource();
         //Check that the transaction originates from the same feature source
         if (origFeatureSource->ToString() != resource->ToString())
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUpdateFeaturesCommand::ExecuteUpdate", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteUpdate", __LINE__, __WFILE__, NULL, L"", NULL);
 
         connWrap = mgTrans->GetConnection(); //Connection is already open
         fdoTrans = mgTrans->GetFdoTransaction();
@@ -305,7 +305,7 @@
     }
     else
     {
-        connWrap = new MgdFeatureConnection(resource);
+        connWrap = new MgPortableFeatureConnection(resource);
     }
 
     conn = connWrap->GetConnection();
@@ -322,7 +322,7 @@
     for (INT32 i = 0; i < propertyValues->GetCount(); i++)
     {
         Ptr<MgProperty> mgp = propertyValues->GetItem(i);
-        FdoPtr<FdoPropertyValue> pv = MgdFeatureUtil::MgPropertyToFdoProperty(mgp);
+        FdoPtr<FdoPropertyValue> pv = MgPortableFeatureUtil::MgPropertyToFdoProperty(mgp);
 
         propVals->Add(pv);
     }
@@ -329,26 +329,26 @@
 
     updated = update->Execute();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdUpdateFeaturesCommand::ExecuteUpdate", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableUpdateFeaturesCommand::ExecuteUpdate", resource)
 
     return updated;
 }
 
-INT32 MgdUpdateFeaturesCommand::ExecuteDelete(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableUpdateFeaturesCommand::ExecuteDelete(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
 {
     INT32 deleted = 0;
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdUpdateFeaturesCommand::ExecuteDelete");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableUpdateFeaturesCommand::ExecuteDelete");
     if (className.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdUpdateFeaturesCommand::ExecuteDelete", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteDelete", __LINE__, __WFILE__, NULL, L"", NULL);
 
-    Ptr<MgdFeatureConnection> connWrap;
+    Ptr<MgPortableFeatureConnection> connWrap;
     FdoPtr<FdoIConnection> conn;
     FdoPtr<FdoITransaction> fdoTrans;
 
-    Ptr<MgdTransaction> mgTrans = dynamic_cast<MgdTransaction*>(trans);
+    Ptr<MgPortableTransaction> mgTrans = dynamic_cast<MgPortableTransaction*>(trans);
     if (NULL != mgTrans)
     {
         SAFE_ADDREF(mgTrans.p);
@@ -355,7 +355,7 @@
         Ptr<MgResourceIdentifier> origFeatureSource = mgTrans->GetFeatureSource();
         //Check that the transaction originates from the same feature source
         if (origFeatureSource->ToString() != resource->ToString())
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUpdateFeaturesCommand::ExecuteDelete", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUpdateFeaturesCommand::ExecuteDelete", __LINE__, __WFILE__, NULL, L"", NULL);
 
         connWrap = mgTrans->GetConnection(); //Connection is already open
         fdoTrans = mgTrans->GetFdoTransaction();
@@ -362,7 +362,7 @@
     }
     else
     {
-        connWrap = new MgdFeatureConnection(resource);
+        connWrap = new MgPortableFeatureConnection(resource);
     }
 
     conn = connWrap->GetConnection();
@@ -376,7 +376,7 @@
 
     deleted = fdoDelete->Execute();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdUpdateFeaturesCommand::ExecuteDelete", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableUpdateFeaturesCommand::ExecuteDelete", resource)
 
     return deleted;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Commands/UpdateFeatures.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #ifndef _MG_SERVER_UPDATE_FEATURES_H_
 #define _MG_SERVER_UPDATE_FEATURES_H_
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 class MgFeatureCommandCollection;
 class MgIntCollection;
 
-class MgdUpdateFeaturesCommand
+class MgPortableUpdateFeaturesCommand
 {
 public:
-    MgdUpdateFeaturesCommand();
-    ~MgdUpdateFeaturesCommand();
+    MgPortableUpdateFeaturesCommand();
+    ~MgPortableUpdateFeaturesCommand();
     MgPropertyCollection* Execute(MgResourceIdentifier* resource,
                                   MgFeatureCommandCollection* commands,
                                   bool useTransaction);
@@ -51,7 +51,7 @@
 
 private:
 
-    Ptr<MgdFeatureConnection> m_SrvrFeatConn;
+    Ptr<MgPortableFeatureConnection> m_SrvrFeatConn;
     STRING m_providerName;
 };
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/DataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/DataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/DataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,12 +21,12 @@
 using namespace std;
 
 #include <vector>
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "ProxyDataReader.h"
 
 /// \cond INTERNAL
 template <typename T>
-class MgdDataReaderCreator : public MgDisposable
+class MgPortableDataReaderCreator : public MgDisposable
 {
 public:
 
@@ -39,7 +39,7 @@
         // Use the converted vector
         Ptr<MgPropertyDefinitionCollection> propDefCol = this->GetPropertyDefinitions();
         Ptr<MgBatchPropertyCollection> bpCol = this->GetBatchCollection(values);
-        return new MgdProxyDataReader(bpCol, propDefCol);
+        return new MgPortableProxyDataReader(bpCol, propDefCol);
     }
 
     MgDataReader* Execute(const std::vector<INT64>& in)
@@ -51,7 +51,7 @@
         // Use the converted vector
         Ptr<MgPropertyDefinitionCollection> propDefCol = this->GetPropertyDefinitions();
         Ptr<MgBatchPropertyCollection> bpCol = this->GetBatchCollection(values);
-        return new MgdProxyDataReader(bpCol, propDefCol);
+        return new MgPortableProxyDataReader(bpCol, propDefCol);
     }
 
     MgDataReader* Execute(const std::vector<STRING>& in)
@@ -58,7 +58,7 @@
     {
         Ptr<MgPropertyDefinitionCollection> propDefCol = this->GetPropertyDefinitions();
         Ptr<MgBatchPropertyCollection> bpCol = this->GetBatchCollection(in);
-        return new MgdProxyDataReader(bpCol, propDefCol);
+        return new MgPortableProxyDataReader(bpCol, propDefCol);
     }
 
     MgDataReader* Execute(MgGeometryCollection* in)
@@ -65,7 +65,7 @@
     {
         Ptr<MgPropertyDefinitionCollection> propDefCol = this->GetPropertyDefinitions();
         Ptr<MgBatchPropertyCollection> bpCol = this->GetBatchCollection(in);
-        return new MgdProxyDataReader(bpCol, propDefCol);
+        return new MgPortableProxyDataReader(bpCol, propDefCol);
     }
 
     MgPropertyDefinitionCollection* GetPropertyDefinitions()
@@ -156,11 +156,11 @@
         delete this;
     }
 
-    MgdDataReaderCreator()
+    MgPortableDataReaderCreator()
     {
         m_propType = MgPropertyType::Null;
     }
-    ~MgdDataReaderCreator()
+    ~MgPortableDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/DateTimeDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,22 +23,22 @@
 #include <vector>
 
 /// \cond INTERNAL
-class MgdDateTimeDataReaderCreator : public MgdDataReaderCreator<double>
+class MgPortableDateTimeDataReaderCreator : public MgPortableDataReaderCreator<double>
 {
-    DECLARE_CLASSNAME(MgdDateTimeDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableDateTimeDataReaderCreator)
 
 public:
-    MgdDateTimeDataReaderCreator()
+    MgPortableDateTimeDataReaderCreator()
     {
     }
 
-    MgdDateTimeDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableDateTimeDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::DateTime;
     }
 
-    ~MgdDateTimeDataReaderCreator()
+    ~MgPortableDateTimeDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/DoubleDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 /// \cond INTERNAL
-class MgdDoubleDataReaderCreator : public MgdDataReaderCreator<double>
+class MgPortableDoubleDataReaderCreator : public MgPortableDataReaderCreator<double>
 {
-    DECLARE_CLASSNAME(MgdDoubleDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableDoubleDataReaderCreator)
 
 public:
-    MgdDoubleDataReaderCreator()
+    MgPortableDoubleDataReaderCreator()
     {
     }
 
-    MgdDoubleDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableDoubleDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Double;
     }
 
-    ~MgdDoubleDataReaderCreator()
+    ~MgPortableDoubleDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/Mutex.h"
 #include "FdoConnectionPool.h"
 #include "FdoConnectionUtil.h"
@@ -43,12 +43,12 @@
 {
     ~PoolHolder()
     {
-        MgdFdoConnectionPool::Cleanup();
+        MgPortableFdoConnectionPool::Cleanup();
     }
 
     ConnPool freePool;
     //ConnPool busyPool;
-    MgdMutex    m_mutex;
+    MgPortableMutex    m_mutex;
 };
 
 //The One instance of the connection pool
@@ -56,19 +56,19 @@
 Ptr<MgStringCollection> g_excludedProviders;
 bool g_bPoolingEnabled;
 
-FdoIConnection* MgdFdoConnectionPool::GetConnection(MgResourceIdentifier* featureSourceId)
+FdoIConnection* MgPortableFdoConnectionPool::GetConnection(MgResourceIdentifier* featureSourceId)
 {
     FdoPtr<FdoIConnection> conn;
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(featureSourceId, L"MgdFdoConnectionPool::GetConnection");
+    CHECK_FEATURE_SOURCE_ARGUMENT(featureSourceId, L"MgPortableFdoConnectionPool::GetConnection");
 
     ScopedLock scc(g_pool.m_mutex);
     STRING fsIdStr = featureSourceId->ToString();
     ConnPool::iterator it = g_pool.freePool.find(fsIdStr);
 
-    MdfModel::FeatureSource* fs = MgdFdoConnectionUtil::GetFeatureSource(featureSourceId);
-    STRING providerName = MgdFdoConnectionUtil::ParseNonQualifiedProviderName(fs->GetProvider());
+    MdfModel::FeatureSource* fs = MgPortableFdoConnectionUtil::GetFeatureSource(featureSourceId);
+    STRING providerName = MgPortableFdoConnectionUtil::ParseNonQualifiedProviderName(fs->GetProvider());
 
     bool bNewInstance = false;
 
@@ -75,7 +75,7 @@
     //no connection for this string in the pool -- make one
     if (!g_bPoolingEnabled || it == g_pool.freePool.end() || it->second.size() == 0)
     {
-        conn = MgdFdoConnectionUtil::CreateConnection(featureSourceId);
+        conn = MgPortableFdoConnectionUtil::CreateConnection(featureSourceId);
         conn->Open();
     #ifdef DEBUG_FDO_CONNECTION_POOL
         ACE_DEBUG((LM_INFO, ACE_TEXT("[Created]: (%W) (refcount: %d)\n"), featureSourceId->ToString().c_str(), conn->GetRefCount()));
@@ -101,7 +101,7 @@
         #ifdef DEBUG_FDO_CONNECTION_POOL
             ACE_DEBUG((LM_INFO, ACE_TEXT("Provider for (%W) is not poolable\n"), featureSourceId->ToString().c_str()));
         #endif
-            conn = MgdFdoConnectionUtil::CreateConnection(featureSourceId);
+            conn = MgPortableFdoConnectionUtil::CreateConnection(featureSourceId);
             conn->Open();
         #ifdef DEBUG_FDO_CONNECTION_POOL
             ACE_DEBUG((LM_INFO, ACE_TEXT("[Created]: (%W) (refcount: %d)\n"), featureSourceId->ToString().c_str(), conn->GetRefCount()));
@@ -110,22 +110,22 @@
         }
     }
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionPool::GetConnection", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionPool::GetConnection", mgStackParams);
     logDetail.AddResourceIdentifier(L"featureSourceId", featureSourceId);
     logDetail.AddBool(L"IsNewInstance", bNewInstance);
     logDetail.Create();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::GetConnection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::GetConnection")
 
     return conn.Detach();
 }
 
-FdoIConnection* MgdFdoConnectionPool::GetConnection(CREFSTRING providerName, CREFSTRING connectionString)
+FdoIConnection* MgPortableFdoConnectionPool::GetConnection(CREFSTRING providerName, CREFSTRING connectionString)
 {
-    return MgdFdoConnectionUtil::CreateConnection(providerName, connectionString);
+    return MgPortableFdoConnectionUtil::CreateConnection(providerName, connectionString);
 }
 
-void MgdFdoConnectionPool::ReturnConnection(MgdFeatureConnection* conn)
+void MgPortableFdoConnectionPool::ReturnConnection(MgPortableFeatureConnection* conn)
 {
     MG_FEATURE_SERVICE_TRY()
 
@@ -146,7 +146,7 @@
     //Only return it to pool if pooling enabled. Connections returned to the pool stay open otherwise close them
     if (g_bPoolingEnabled)
     {
-        STRING providerName = MgdFdoConnectionUtil::ParseNonQualifiedProviderName(conn->GetProviderName());
+        STRING providerName = MgPortableFdoConnectionUtil::ParseNonQualifiedProviderName(conn->GetProviderName());
         if (!g_excludedProviders->Contains(providerName) && !fsIdStr.empty())
         {
             std::vector<PoolRec>& vec = g_pool.freePool[fsIdStr];
@@ -158,7 +158,7 @@
         }
         else
         {
-            MgdFdoConnectionUtil::CloseConnection(fdoConn);
+            MgPortableFdoConnectionUtil::CloseConnection(fdoConn);
         #ifdef DEBUG_FDO_CONNECTION_POOL
             ACE_DEBUG((LM_INFO, ACE_TEXT("[Closed] (%W) - Provider excluded from pooling (refcount: %d)\n"), fsIdStr.c_str(), fdoConn->GetRefCount()));
         #endif
@@ -167,55 +167,55 @@
     }
     else
     {
-        MgdFdoConnectionUtil::CloseConnection(fdoConn);
+        MgPortableFdoConnectionUtil::CloseConnection(fdoConn);
         #ifdef DEBUG_FDO_CONNECTION_POOL
         ACE_DEBUG((LM_INFO, ACE_TEXT("[Closed] (%W) - Connection Pooling disabled (refcount: %d)\n"), fsIdStr.c_str(), fdoConn->GetRefCount()));
         #endif
     }
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionPool::ReturnConnection", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionPool::ReturnConnection", mgStackParams);
     logDetail.AddString(L"FeatureSource", fsIdStr.empty() ? L"<No Feature Source>" : fsIdStr);
     logDetail.AddBool(L"ReturnedToPool", bReturned);
     logDetail.AddBool(L"ProviderExcluded", bProviderExcluded);
     logDetail.Create();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::ReturnConnection")   
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::ReturnConnection")   
 }
 
-void MgdFdoConnectionPool::Initialize(MgConfiguration* pConfiguration)
+void MgPortableFdoConnectionPool::Initialize(MgConfiguration* pConfiguration)
 {
     MG_FEATURE_SERVICE_TRY()
 
-    bool bDataConnectionPoolEnabled = MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled;
-    INT32 nDataConnectionPoolSize = MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize;
-    STRING excludedProviders = MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders;
-    STRING fdoConnectionPoolSizeCustom = MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom;
-    STRING fdoConnectionUseLimit = MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit;
+    bool bDataConnectionPoolEnabled = MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled;
+    INT32 nDataConnectionPoolSize = MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize;
+    STRING excludedProviders = MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders;
+    STRING fdoConnectionPoolSizeCustom = MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom;
+    STRING fdoConnectionUseLimit = MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit;
 
-    pConfiguration->GetBoolValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                                 MgdConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled, 
+    pConfiguration->GetBoolValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                                 MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled, 
                                  bDataConnectionPoolEnabled, 
-                                 MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled);
+                                 MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled);
 
-    pConfiguration->GetIntValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                                MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSize, 
+    pConfiguration->GetIntValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                                MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSize, 
                                 nDataConnectionPoolSize, 
-                                MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize);
+                                MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize);
 
-    pConfiguration->GetStringValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                                   MgdConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                                   MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders, 
                                    excludedProviders, 
-                                   MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders);
+                                   MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders);
 
-    pConfiguration->GetStringValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                                   MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                                   MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom, 
                                    fdoConnectionPoolSizeCustom, 
-                                   MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom);
+                                   MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom);
 
-    pConfiguration->GetStringValue(MgdConfigProperties::FeatureServicePropertiesSection, 
-                                   MgdConfigProperties::FeatureServicePropertyDataConnectionUseLimit, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::FeatureServicePropertiesSection, 
+                                   MgPortableConfigProperties::FeatureServicePropertyDataConnectionUseLimit, 
                                    fdoConnectionUseLimit, 
-                                   MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit);
+                                   MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit);
 
     //TODO: Add support for all of the data pooling configuration options
     g_bPoolingEnabled = bDataConnectionPoolEnabled;
@@ -225,15 +225,15 @@
         g_excludedProviders = new MgStringCollection();
     }
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionPool::Initialize", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionPool::Initialize", mgStackParams);
     logDetail.AddBool(L"PoolingEnabled", g_bPoolingEnabled);
     logDetail.AddString(L"ExcludedProviders", excludedProviders);
     logDetail.Create();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::Initialize")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::Initialize")
 }
 
-void MgdFdoConnectionPool::Cleanup()
+void MgPortableFdoConnectionPool::Cleanup()
 {
     MG_FEATURE_SERVICE_TRY()
 
@@ -243,7 +243,7 @@
     {
         while (it->second.size())
         {
-            MgdFdoConnectionUtil::CloseConnection(it->second.back()._conn);
+            MgPortableFdoConnectionUtil::CloseConnection(it->second.back()._conn);
             it->second.back()._conn->Release();
         #ifdef DEBUG_FDO_CONNECTION_POOL
             ACE_DEBUG((LM_INFO, ACE_TEXT("[Cleanup]: (%W) %d in cache\n"), it->second.back()._fsId.c_str(), it->second.size()));
@@ -253,13 +253,13 @@
     }
 
 #ifdef DEBUG_FDO_CONNECTION_POOL
-    MgdFdoConnectionUtil::CheckCallStats();
+    MgPortableFdoConnectionUtil::CheckCallStats();
 #endif
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::Cleanup")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::Cleanup")
 }
 
-void MgdFdoConnectionPool::PurgeCachedConnections(MgResourceIdentifier* resId)
+void MgPortableFdoConnectionPool::PurgeCachedConnections(MgResourceIdentifier* resId)
 {
     if (NULL == resId)
         return;
@@ -278,7 +278,7 @@
         INT32 purged = 0;
         while (it->second.size())
         {
-            MgdFdoConnectionUtil::CloseConnection(it->second.back()._conn);
+            MgPortableFdoConnectionUtil::CloseConnection(it->second.back()._conn);
             it->second.back()._conn->Release();
             it->second.pop_back();
             purged++;
@@ -286,16 +286,16 @@
     #ifdef DEBUG_FDO_CONNECTION_POOL
         ACE_DEBUG((LM_INFO, ACE_TEXT("[Purge]: (%W) %d purged\n"), fsIdStr.c_str(), purged));
     #endif
-        MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionPool::PurgeCachedConnections", mgStackParams);
+        MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionPool::PurgeCachedConnections", mgStackParams);
         logDetail.AddResourceIdentifier(L"resId", resId);
         logDetail.AddInt32(L"purgedConnections", purged);
         logDetail.Create();
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::PurgeCachedConnections")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::PurgeCachedConnections")
 }
 
-void MgdFdoConnectionPool::PurgeCachedConnectionsUnderFolder(MgResourceIdentifier* resId)
+void MgPortableFdoConnectionPool::PurgeCachedConnectionsUnderFolder(MgResourceIdentifier* resId)
 {
     if (NULL == resId)
         return;
@@ -320,7 +320,7 @@
         {
             while (it->second.size())
             {
-                MgdFdoConnectionUtil::CloseConnection(it->second.back()._conn);
+                MgPortableFdoConnectionUtil::CloseConnection(it->second.back()._conn);
                 it->second.back()._conn->Release();
                 it->second.pop_back();
                 purged++;
@@ -331,15 +331,15 @@
     ACE_DEBUG((LM_INFO, ACE_TEXT("[Purge]: (%W) %d purged\n"), fsIdStr.c_str(), purged));
 #endif
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionPool::PurgeCachedConnectionsUnderFolder", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionPool::PurgeCachedConnectionsUnderFolder", mgStackParams);
     logDetail.AddResourceIdentifier(L"resId", resId);
     logDetail.AddInt32(L"purgedConnections", purged);
     logDetail.Create();
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionPool::PurgeCachedConnectionsUnderFolder")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionPool::PurgeCachedConnectionsUnderFolder")
 }
 
-bool MgdFdoConnectionPool::StringStartsWith(CREFSTRING haystack, CREFSTRING needle)
+bool MgPortableFdoConnectionPool::StringStartsWith(CREFSTRING haystack, CREFSTRING needle)
 {
     if (haystack.empty() || needle.empty())
         return false;
@@ -355,7 +355,7 @@
     return true;
 }
 
-void MgdFdoConnectionPool::GetCacheInfo(std::vector<PoolCacheEntry*>& entries)
+void MgPortableFdoConnectionPool::GetCacheInfo(std::vector<PoolCacheEntry*>& entries)
 {
     ScopedLock scc(g_pool.m_mutex);
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionPool.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionPool.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -5,7 +5,7 @@
 
 /// \cond INTERNAL
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 class MgResourceIdentifier;
 class MgConfiguration;
 
@@ -25,13 +25,13 @@
     STRING ProviderName;
 };
 
-class MG_DESKTOP_API MgdFdoConnectionPool //Needs to be exported for unit testing code
+class MG_DESKTOP_API MgPortableFdoConnectionPool //Needs to be exported for unit testing code
 {
 public:
     static void Initialize(MgConfiguration* config);
     static FdoIConnection* GetConnection(MgResourceIdentifier* resId);
     static FdoIConnection* GetConnection(CREFSTRING provider, CREFSTRING connectionString);
-    static void ReturnConnection(MgdFeatureConnection* conn);
+    static void ReturnConnection(MgPortableFeatureConnection* conn);
     static void Cleanup();
     static void PurgeCachedConnections(MgResourceIdentifier* resId);
     static void PurgeCachedConnectionsUnderFolder(MgResourceIdentifier* resId);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FdoConnectionUtil.h"
 #include "Fdo.h"
 #include "FeatureServiceCache.h"
@@ -22,10 +22,10 @@
 #include "Services/Resource/UnmanagedDataManager.h"
 #include "CryptographyUtil.h"
 
-INT64 MgdFdoConnectionUtil::sm_nConnectionsCreated = 0L;
-INT64 MgdFdoConnectionUtil::sm_nConnectionsClosed = 0L;
+INT64 MgPortableFdoConnectionUtil::sm_nConnectionsCreated = 0L;
+INT64 MgPortableFdoConnectionUtil::sm_nConnectionsClosed = 0L;
 
-FdoIConnection* MgdFdoConnectionUtil::CreateConnection(CREFSTRING providerName, CREFSTRING connectionString)
+FdoIConnection* MgPortableFdoConnectionUtil::CreateConnection(CREFSTRING providerName, CREFSTRING connectionString)
 {
     sm_nConnectionsCreated++;
 
@@ -33,13 +33,13 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionUtil::CreateConnection", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionUtil::CreateConnection", mgStackParams);
     logDetail.AddString(L"providerName", providerName);
     logDetail.AddString(L"connectionString", connectionString);
     logDetail.Create();
 
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    Ptr<MgdResourceService> resSvc = static_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    Ptr<MgPortableResourceService> resSvc = static_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     FdoPtr<FdoProviderNameTokens> tokens = FdoProviderNameTokens::Create(providerName.c_str());
     FdoStringsP tokenValues = tokens->GetNameTokens();
     FdoPtr<FdoStringElement> company = tokenValues->GetItem(0);
@@ -59,12 +59,12 @@
         conn->SetConnectionString(connectionString.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFdoConnectionUtil::CreateConnection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFdoConnectionUtil::CreateConnection")
 
     return conn.Detach();
 }
 
-FdoIConnection* MgdFdoConnectionUtil::CreateConnection(MgResourceIdentifier* resource)
+FdoIConnection* MgPortableFdoConnectionUtil::CreateConnection(MgResourceIdentifier* resource)
 {
     sm_nConnectionsCreated++;
 
@@ -72,9 +72,9 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFdoConnectionUtil::CreateConnection");
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    Ptr<MgdResourceService> resSvc = static_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFdoConnectionUtil::CreateConnection");
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    Ptr<MgPortableResourceService> resSvc = static_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
 
     std::string xmlContent;
     Ptr<MgByteReader> content = resSvc->GetResourceContent(resource, L"");
@@ -142,7 +142,7 @@
         dict->SetProperty(n.c_str(), v.c_str());
     }
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::InternalTrace, L"MgdFdoConnectionUtil::CreateConnection", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::InternalTrace, L"MgPortableFdoConnectionUtil::CreateConnection", mgStackParams);
     logDetail.AddResourceIdentifier(L"resource", resource);
     logDetail.Create();
 
@@ -160,7 +160,7 @@
                 strCol = new MgStringCollection();
                 strCol->Add(message);
             }
-            throw new MgException(MgExceptionCodes::MgInvalidFeatureSourceException, L"MgdFdoConnectionUtil::CreateConnection",
+            throw new MgException(MgExceptionCodes::MgInvalidFeatureSourceException, L"MgPortableFdoConnectionUtil::CreateConnection",
                 __LINE__, __WFILE__, (MgStringCollection*)strCol, L"", NULL);
         }
 
@@ -179,12 +179,12 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdFdoConnectionUtil::CreateConnection", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableFdoConnectionUtil::CreateConnection", resource)
 
     return conn.Detach();
 }
 
-void MgdFdoConnectionUtil::PerformTagSubstitution(MgdResourceService* resSvc, REFSTRING str, MgResourceIdentifier* resource, CREFSTRING username, CREFSTRING password)
+void MgPortableFdoConnectionUtil::PerformTagSubstitution(MgPortableResourceService* resSvc, REFSTRING str, MgResourceIdentifier* resource, CREFSTRING username, CREFSTRING password)
 {
     const STRING::size_type dataTokenPos = str.find(MgResourceTag::DataFilePath);
     const STRING::size_type dataAliasPos = str.find(MgResourceTag::DataPathAliasBegin);
@@ -197,7 +197,7 @@
     }
     else if (dataAliasPos != STRING::npos)
     {
-        MgdUnmanagedDataManager::SubstituteDataPathAliases(str);
+        MgPortableUnmanagedDataManager::SubstituteDataPathAliases(str);
     }
     else if (usernamePos != STRING::npos && !username.empty())
     {
@@ -209,7 +209,7 @@
     }
 }
 
-STRING MgdFdoConnectionUtil::ParseNonQualifiedProviderName(CREFSTRING providerName)
+STRING MgPortableFdoConnectionUtil::ParseNonQualifiedProviderName(CREFSTRING providerName)
 {
     FdoPtr<FdoProviderNameTokens> tokens = FdoProviderNameTokens::Create(providerName.c_str());
     FdoStringsP tokenParts = tokens->GetNameTokens();
@@ -224,10 +224,10 @@
     return name;
 }
 
-MdfModel::FeatureSource* MgdFdoConnectionUtil::GetFeatureSource(MgResourceIdentifier* resource)
+MdfModel::FeatureSource* MgPortableFdoConnectionUtil::GetFeatureSource(MgResourceIdentifier* resource)
 {
-    MgdFeatureServiceCache* cache = MgdFeatureServiceCache::GetInstance();
-    Ptr<MgdFeatureSourceCacheItem> fsCache = cache->GetFeatureSource(resource);
+    MgPortableFeatureServiceCache* cache = MgPortableFeatureServiceCache::GetInstance();
+    Ptr<MgPortableFeatureSourceCacheItem> fsCache = cache->GetFeatureSource(resource);
 
     MdfModel::FeatureSource* fs = NULL;
 
@@ -241,8 +241,8 @@
     }
 
     // Get the Resource Service.
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    Ptr<MgdResourceService> resourceService = static_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    Ptr<MgPortableResourceService> resourceService = static_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     ACE_ASSERT(NULL != resourceService.p);
 
     // Retrieve the XML document from the repository.
@@ -264,7 +264,7 @@
             MgStringCollection arguments;
             arguments.Add(errorMsg);
             throw new MgException(MgExceptionCodes::MgInvalidFeatureSourceException, 
-                L"MgdFdoConnectionUtil::GetFeatureSource",
+                L"MgPortableFdoConnectionUtil::GetFeatureSource",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
     }
@@ -283,7 +283,7 @@
         arguments.Add(message);
 
         throw new MgException(MgExceptionCodes::MgInvalidFeatureSourceException, 
-            L"MgdFdoConnectionUtil::GetFeatureSource",
+            L"MgPortableFdoConnectionUtil::GetFeatureSource",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -294,7 +294,7 @@
     }
     else
     {
-        fsCache = new MgdFeatureSourceCacheItem(fs);
+        fsCache = new MgPortableFeatureSourceCacheItem(fs);
         cache->SetFeatureSource(resource, fsCache);
     }
 
@@ -301,7 +301,7 @@
     return fs;
 }
 
-void MgdFdoConnectionUtil::CloseConnection(FdoIConnection* conn)
+void MgPortableFdoConnectionUtil::CloseConnection(FdoIConnection* conn)
 {
     sm_nConnectionsClosed++;
     try 
@@ -319,7 +319,7 @@
 }
 
 #ifdef DEBUG_FDO_CONNECTION_POOL
-void MgdFdoConnectionUtil::CheckCallStats()
+void MgPortableFdoConnectionUtil::CheckCallStats()
 {
     if (sm_nConnectionsCreated > sm_nConnectionsClosed)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoConnectionUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,10 +18,10 @@
 #ifndef DESKTOP_FDO_CONNECTION_UTIL_H
 #define DESKTOP_FDO_CONNECTION_UTIL_H
 
-class MgdFdoConnectionPool;
+class MgPortableFdoConnectionPool;
 class FdoIConnection;
 class MgResourceIdentifier;
-class MgdResourceService;
+class MgPortableResourceService;
 
 namespace MdfModel
 {
@@ -29,15 +29,15 @@
 }
 
 /// \cond INTERNAL
-class MgdFdoConnectionUtil
+class MgPortableFdoConnectionUtil
 {
-    friend class MgdFeatureConnection;
-    friend class MgdFdoConnectionPool;
+    friend class MgPortableFeatureConnection;
+    friend class MgPortableFdoConnectionPool;
 
 public:
     static MdfModel::FeatureSource* GetFeatureSource(MgResourceIdentifier* resource);
     static void CloseConnection(FdoIConnection* conn);
-    static void PerformTagSubstitution(MgdResourceService* resSvc, REFSTRING str, MgResourceIdentifier* resource, CREFSTRING username = L"", CREFSTRING password = L"");
+    static void PerformTagSubstitution(MgPortableResourceService* resSvc, REFSTRING str, MgResourceIdentifier* resource, CREFSTRING username = L"", CREFSTRING password = L"");
 
 private:
     static STRING ParseNonQualifiedProviderName(CREFSTRING providerName);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,20 +25,20 @@
 using namespace std;
 
 
-// Class MgdFdoFeatureReader
-MgdFdoFeatureReader::MgdFdoFeatureReader() : m_currentReaderId(-1)
+// Class MgPortableFdoFeatureReader
+MgPortableFdoFeatureReader::MgPortableFdoFeatureReader() : m_currentReaderId(-1)
 {
     m_readerDepleted = false;
-    m_readerCollection = MgdFdoReaderCollection::Create();
+    m_readerCollection = MgPortableFdoReaderCollection::Create();
 }
 
-MgdFdoFeatureReader::MgdFdoFeatureReader(MgdFdoReaderCollection *readerCollection) : m_currentReaderId(-1)
+MgPortableFdoFeatureReader::MgPortableFdoFeatureReader(MgPortableFdoReaderCollection *readerCollection) : m_currentReaderId(-1)
 {
     m_readerDepleted = false;
     m_readerCollection = FDO_SAFE_ADDREF(readerCollection);
 }
 
-MgdFdoFeatureReader::~MgdFdoFeatureReader()
+MgPortableFdoFeatureReader::~MgPortableFdoFeatureReader()
 {
     MG_TRY()
 
@@ -47,12 +47,12 @@
     MG_CATCH_AND_RELEASE()
 }
 
-void MgdFdoFeatureReader::Dispose()
+void MgPortableFdoFeatureReader::Dispose()
 {
     delete this;
 }
 
-FdoClassDefinition *MgdFdoFeatureReader::GetClassDefinition()
+FdoClassDefinition *MgPortableFdoFeatureReader::GetClassDefinition()
 {
     if (m_currentReader == NULL)
     {
@@ -63,7 +63,7 @@
 }
 
 
-int MgdFdoFeatureReader::GetDepth()
+int MgPortableFdoFeatureReader::GetDepth()
 {
     if (m_currentReader == NULL)
     {
@@ -73,7 +73,7 @@
     return m_currentReader->GetDepth();
 }
 
-FdoString* MgdFdoFeatureReader::GetPropertyName(FdoInt32 index)
+FdoString* MgPortableFdoFeatureReader::GetPropertyName(FdoInt32 index)
 {
     if (m_currentReader == NULL)
     {
@@ -83,7 +83,7 @@
     return m_currentReader->GetPropertyName(index);
 }
 
-FdoInt32 MgdFdoFeatureReader::GetPropertyIndex(FdoString* propertyName)
+FdoInt32 MgPortableFdoFeatureReader::GetPropertyIndex(FdoString* propertyName)
 {
     if (m_currentReader == NULL)
     {
@@ -93,7 +93,7 @@
     return m_currentReader->GetPropertyIndex(propertyName);
 }
 
-FdoIFeatureReader* MgdFdoFeatureReader::GetFeatureObject( const wchar_t* propertyName )
+FdoIFeatureReader* MgPortableFdoFeatureReader::GetFeatureObject( const wchar_t* propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -103,7 +103,7 @@
     return m_currentReader->GetFeatureObject(propertyName);
 }
 
-FdoIFeatureReader* MgdFdoFeatureReader::GetFeatureObject( FdoInt32 index )
+FdoIFeatureReader* MgPortableFdoFeatureReader::GetFeatureObject( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -113,7 +113,7 @@
     return m_currentReader->GetFeatureObject(index);
 }
 
-bool MgdFdoFeatureReader::GetBoolean( const wchar_t *propertyName )
+bool MgPortableFdoFeatureReader::GetBoolean( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -123,7 +123,7 @@
     return m_currentReader->GetBoolean(propertyName);
 }
 
-bool MgdFdoFeatureReader::GetBoolean( FdoInt32 index )
+bool MgPortableFdoFeatureReader::GetBoolean( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -133,7 +133,7 @@
     return m_currentReader->GetBoolean(index);
 }
 
-FdoByte MgdFdoFeatureReader::GetByte( const wchar_t *propertyName )
+FdoByte MgPortableFdoFeatureReader::GetByte( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -143,7 +143,7 @@
     return m_currentReader->GetByte(propertyName);
 }
 
-FdoByte MgdFdoFeatureReader::GetByte( FdoInt32 index )
+FdoByte MgPortableFdoFeatureReader::GetByte( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -153,7 +153,7 @@
     return m_currentReader->GetByte(index);
 }
 
-FdoDateTime MgdFdoFeatureReader::GetDateTime( const wchar_t *propertyName )
+FdoDateTime MgPortableFdoFeatureReader::GetDateTime( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -163,7 +163,7 @@
     return m_currentReader->GetDateTime(propertyName);
 }
 
-FdoDateTime MgdFdoFeatureReader::GetDateTime( FdoInt32 index )
+FdoDateTime MgPortableFdoFeatureReader::GetDateTime( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -173,7 +173,7 @@
     return m_currentReader->GetDateTime(index);
 }
 
-double MgdFdoFeatureReader::GetDouble( const wchar_t *propertyName )
+double MgPortableFdoFeatureReader::GetDouble( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -183,7 +183,7 @@
     return m_currentReader->GetDouble(propertyName);
 }
 
-double MgdFdoFeatureReader::GetDouble( FdoInt32 index )
+double MgPortableFdoFeatureReader::GetDouble( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -193,7 +193,7 @@
     return m_currentReader->GetDouble(index);
 }
 
-const wchar_t* MgdFdoFeatureReader::GetString( const wchar_t *propertyName )
+const wchar_t* MgPortableFdoFeatureReader::GetString( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -204,7 +204,7 @@
 
 }
 
-const wchar_t* MgdFdoFeatureReader::GetString( FdoInt32 index )
+const wchar_t* MgPortableFdoFeatureReader::GetString( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -215,7 +215,7 @@
 
 }
 
-short MgdFdoFeatureReader::GetInt16( const wchar_t *propertyName )
+short MgPortableFdoFeatureReader::GetInt16( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -225,7 +225,7 @@
     return m_currentReader->GetInt16(propertyName);
 }
 
-short MgdFdoFeatureReader::GetInt16( FdoInt32 index )
+short MgPortableFdoFeatureReader::GetInt16( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -235,7 +235,7 @@
     return m_currentReader->GetInt16(index);
 }
 
-int MgdFdoFeatureReader::GetInt32( const wchar_t *propertyName )
+int MgPortableFdoFeatureReader::GetInt32( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -245,7 +245,7 @@
     return m_currentReader->GetInt32(propertyName);
 }
 
-int MgdFdoFeatureReader::GetInt32( FdoInt32 index )
+int MgPortableFdoFeatureReader::GetInt32( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -255,7 +255,7 @@
     return m_currentReader->GetInt32(index);
 }
 
-FdoInt64 MgdFdoFeatureReader::GetInt64( const wchar_t *propertyName )
+FdoInt64 MgPortableFdoFeatureReader::GetInt64( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -265,7 +265,7 @@
     return m_currentReader->GetInt64(propertyName);
 }
 
-FdoInt64 MgdFdoFeatureReader::GetInt64( FdoInt32 index )
+FdoInt64 MgPortableFdoFeatureReader::GetInt64( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -275,7 +275,7 @@
     return m_currentReader->GetInt64(index);
 }
 
-float MgdFdoFeatureReader::GetSingle( const wchar_t *propertyName )
+float MgPortableFdoFeatureReader::GetSingle( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -285,7 +285,7 @@
     return m_currentReader->GetSingle(propertyName);
 }
 
-float MgdFdoFeatureReader::GetSingle( FdoInt32 index )
+float MgPortableFdoFeatureReader::GetSingle( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -296,7 +296,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-FdoIStreamReader* MgdFdoFeatureReader::GetLOBStreamReader(const wchar_t* propertyName)
+FdoIStreamReader* MgPortableFdoFeatureReader::GetLOBStreamReader(const wchar_t* propertyName)
 {
     if (m_currentReader == NULL)
     {
@@ -306,7 +306,7 @@
     return m_currentReader->GetLOBStreamReader(propertyName);
 }
 
-FdoIStreamReader* MgdFdoFeatureReader::GetLOBStreamReader(FdoInt32 index)
+FdoIStreamReader* MgPortableFdoFeatureReader::GetLOBStreamReader(FdoInt32 index)
 {
     if (m_currentReader == NULL)
     {
@@ -316,7 +316,7 @@
     return m_currentReader->GetLOBStreamReader(index);
 }
 ///////////////////////////////////////////////////////////////////////////////
-FdoLOBValue* MgdFdoFeatureReader::GetLOB(const wchar_t* propertyName)
+FdoLOBValue* MgPortableFdoFeatureReader::GetLOB(const wchar_t* propertyName)
 {
     if (m_currentReader == NULL)
     {
@@ -326,7 +326,7 @@
     return m_currentReader->GetLOB(propertyName);
 }
 
-FdoLOBValue* MgdFdoFeatureReader::GetLOB(FdoInt32 index)
+FdoLOBValue* MgPortableFdoFeatureReader::GetLOB(FdoInt32 index)
 {
     if (m_currentReader == NULL)
     {
@@ -336,7 +336,7 @@
     return m_currentReader->GetLOB(index);
 }
 
-bool MgdFdoFeatureReader::IsNull( const wchar_t *propertyName )
+bool MgPortableFdoFeatureReader::IsNull( const wchar_t *propertyName )
 {
     if (m_currentReader == NULL)
     {
@@ -346,7 +346,7 @@
     return m_currentReader->IsNull(propertyName);
 }
 
-bool MgdFdoFeatureReader::IsNull( FdoInt32 index )
+bool MgPortableFdoFeatureReader::IsNull( FdoInt32 index )
 {
     if (m_currentReader == NULL)
     {
@@ -356,7 +356,7 @@
     return m_currentReader->IsNull(index);
 }
 
-FdoByteArray* MgdFdoFeatureReader::GetGeometry(const wchar_t* propertyName)
+FdoByteArray* MgPortableFdoFeatureReader::GetGeometry(const wchar_t* propertyName)
 {
     if (m_currentReader == NULL)
     {
@@ -366,7 +366,7 @@
     return m_currentReader->GetGeometry(propertyName);
 }
 
-FdoByteArray* MgdFdoFeatureReader::GetGeometry(FdoInt32 index)
+FdoByteArray* MgPortableFdoFeatureReader::GetGeometry(FdoInt32 index)
 {
     if (m_currentReader == NULL)
     {
@@ -376,7 +376,7 @@
     return m_currentReader->GetGeometry(index);
 }
 
-const FdoByte * MgdFdoFeatureReader::GetGeometry(const wchar_t* propertyName, FdoInt32 * count)
+const FdoByte * MgPortableFdoFeatureReader::GetGeometry(const wchar_t* propertyName, FdoInt32 * count)
 {
     if (m_currentReader == NULL)
     {
@@ -386,7 +386,7 @@
     return m_currentReader->GetGeometry(propertyName, count);
 }
 
-const FdoByte * MgdFdoFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
+const FdoByte * MgPortableFdoFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
 {
     if (m_currentReader == NULL)
     {
@@ -401,7 +401,7 @@
 /// of Raster type; otherwise, an exception is thrown.</summary>
 /// <param name="propertyName">Input the property name.</param>
 /// <returns>Returns the raster object.</returns>
-FdoIRaster* MgdFdoFeatureReader::GetRaster(FdoString* propertyName)
+FdoIRaster* MgPortableFdoFeatureReader::GetRaster(FdoString* propertyName)
 {
     if (m_currentReader == NULL)
     {
@@ -411,7 +411,7 @@
     return m_currentReader->GetRaster(propertyName);
 }
 
-FdoIRaster* MgdFdoFeatureReader::GetRaster(FdoInt32 index)
+FdoIRaster* MgPortableFdoFeatureReader::GetRaster(FdoInt32 index)
 {
     if (m_currentReader == NULL)
     {
@@ -421,7 +421,7 @@
     return m_currentReader->GetRaster(index);
 }
 
-bool MgdFdoFeatureReader::ReadNext( )
+bool MgPortableFdoFeatureReader::ReadNext( )
 {
     if (m_readerDepleted)
         return false;
@@ -444,7 +444,7 @@
    return false;
 }
 
-void MgdFdoFeatureReader::Close( )
+void MgPortableFdoFeatureReader::Close( )
 {
     if (m_currentReader)
     {
@@ -452,12 +452,12 @@
     }
 }
 
-void MgdFdoFeatureReader::Add(FdoIFeatureReader *reader)
+void MgPortableFdoFeatureReader::Add(FdoIFeatureReader *reader)
 {
     m_readerCollection->Add(reader);
 }
 
-void MgdFdoFeatureReader::Initialize()
+void MgPortableFdoFeatureReader::Initialize()
 {
     if (m_currentReader == NULL)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,8 +15,8 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFdoFeatureReader_H
-#define _MgdFdoFeatureReader_H
+#ifndef _MgPortableFdoFeatureReader_H
+#define _MgPortableFdoFeatureReader_H
 
 #include "FdoReaderCollection.h"
 
@@ -23,14 +23,14 @@
 class FdoIFeatureReader;
 
 /// \cond INTERNAL
-class MgdFdoFeatureReader: public FdoIFeatureReader
+class MgPortableFdoFeatureReader: public FdoIFeatureReader
 {
 public:
-    // constructs a MgdFdoFeatureReader
-    MgdFdoFeatureReader();
-    MgdFdoFeatureReader(MgdFdoReaderCollection* readerCollection);
+    // constructs a MgPortableFdoFeatureReader
+    MgPortableFdoFeatureReader();
+    MgPortableFdoFeatureReader(MgPortableFdoReaderCollection* readerCollection);
     // default destructor
-    virtual ~MgdFdoFeatureReader();
+    virtual ~MgPortableFdoFeatureReader();
 
 protected:
 
@@ -90,7 +90,7 @@
 protected:
 
 private:
-    FdoPtr<MgdFdoReaderCollection> m_readerCollection;
+    FdoPtr<MgPortableFdoReaderCollection> m_readerCollection;
     FdoPtr<FdoIFeatureReader> m_currentReader;
     FdoInt32 m_currentReaderId;
     FdoBoolean m_readerDepleted;
@@ -99,4 +99,4 @@
 };
 /// \endcond
 
-#endif // _MgdFdoFeatureReader_H
+#endif // _MgPortableFdoFeatureReader_H

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoFilterCollection.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #include "stdafx.h"
 #include "FdoFilterCollection.h"
 
-/*FDO_API*/ MgdFdoFilterCollection* MgdFdoFilterCollection::Create()
+/*FDO_API*/ MgPortableFdoFilterCollection* MgPortableFdoFilterCollection::Create()
 {
-    return new MgdFdoFilterCollection();
+    return new MgPortableFdoFilterCollection();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoFilterCollection.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoFilterCollection.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,8 +15,8 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFdoFilterCollection_H_
-#define _MgdFdoFilterCollection_H_
+#ifndef _MgPortableFdoFilterCollection_H_
+#define _MgPortableFdoFilterCollection_H_
 
 #include <FdoStd.h>
 
@@ -24,16 +24,16 @@
 
 /// \cond INTERNAL
 /// \brief
-/// The MgdFdoFilterCollection class represents a collection of FdoFilter objects.
-class MgdFdoFilterCollection : public FdoCollection<FdoFilter, FdoException>
+/// The MgPortableFdoFilterCollection class represents a collection of FdoFilter objects.
+class MgPortableFdoFilterCollection : public FdoCollection<FdoFilter, FdoException>
 {
 protected:
 /// \cond DOXYGEN-IGNORE
-    MgdFdoFilterCollection() : FdoCollection<FdoFilter, FdoException>()
+    MgPortableFdoFilterCollection() : FdoCollection<FdoFilter, FdoException>()
     {
     }
 
-    virtual ~MgdFdoFilterCollection()
+    virtual ~MgPortableFdoFilterCollection()
     {
     }
 
@@ -45,12 +45,12 @@
 
 public:
     /// \brief
-    /// Constructs a default instance of an MgdFdoFilterCollection.
+    /// Constructs a default instance of an MgPortableFdoFilterCollection.
     ///
     /// \return
-    /// Returns MgdFdoFilterCollection
+    /// Returns MgPortableFdoFilterCollection
     ///
-    /*FDO_API*/ static MgdFdoFilterCollection* Create();
+    /*FDO_API*/ static MgPortableFdoFilterCollection* Create();
 };
 /// \endcond
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoForcedOneToOneFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,10 +17,10 @@
 
 #include "FdoForcedOneToOneFeatureReader.h"
 
-// constructs a MgdFdoForcedOneToOneFeatureReader
-MgdFdoForcedOneToOneFeatureReader::MgdFdoForcedOneToOneFeatureReader() { }
+// constructs a MgPortableFdoForcedOneToOneFeatureReader
+MgPortableFdoForcedOneToOneFeatureReader::MgPortableFdoForcedOneToOneFeatureReader() { }
 
-MgdFdoForcedOneToOneFeatureReader::MgdFdoForcedOneToOneFeatureReader(FdoIFeatureReader* reader, FdoStringCollection* idPropNames)
+MgPortableFdoForcedOneToOneFeatureReader::MgPortableFdoForcedOneToOneFeatureReader(FdoIFeatureReader* reader, FdoStringCollection* idPropNames)
 {
     m_cachedClsDef = NULL;
     m_reader = FDO_SAFE_ADDREF(reader);
@@ -28,7 +28,7 @@
 }
 
 // default destructor
-MgdFdoForcedOneToOneFeatureReader::~MgdFdoForcedOneToOneFeatureReader() 
+MgPortableFdoForcedOneToOneFeatureReader::~MgPortableFdoForcedOneToOneFeatureReader() 
 { 
     m_idValues.clear();
     FDO_SAFE_RELEASE(m_reader);
@@ -36,184 +36,184 @@
     FDO_SAFE_RELEASE(m_cachedClsDef);
 }
 
-void MgdFdoForcedOneToOneFeatureReader::Dispose() { delete this; }
+void MgPortableFdoForcedOneToOneFeatureReader::Dispose() { delete this; }
 
-FdoClassDefinition* MgdFdoForcedOneToOneFeatureReader::GetClassDefinition()
+FdoClassDefinition* MgPortableFdoForcedOneToOneFeatureReader::GetClassDefinition()
 {
     return m_reader->GetClassDefinition();
 }
 
-int MgdFdoForcedOneToOneFeatureReader::GetDepth()
+int MgPortableFdoForcedOneToOneFeatureReader::GetDepth()
 {
     return m_reader->GetDepth();
 }
 
-bool MgdFdoForcedOneToOneFeatureReader::GetBoolean(const wchar_t *propertyName)
+bool MgPortableFdoForcedOneToOneFeatureReader::GetBoolean(const wchar_t *propertyName)
 {
     return m_reader->GetBoolean(propertyName);
 }
 
-FdoByte MgdFdoForcedOneToOneFeatureReader::GetByte(const wchar_t *propertyName)
+FdoByte MgPortableFdoForcedOneToOneFeatureReader::GetByte(const wchar_t *propertyName)
 {
     return m_reader->GetByte(propertyName);
 }
 
-double MgdFdoForcedOneToOneFeatureReader::GetDouble(const wchar_t* propertyName)
+double MgPortableFdoForcedOneToOneFeatureReader::GetDouble(const wchar_t* propertyName)
 {
     return m_reader->GetDouble(propertyName);
 }
 
-short MgdFdoForcedOneToOneFeatureReader::GetInt16(const wchar_t *propertyName)
+short MgPortableFdoForcedOneToOneFeatureReader::GetInt16(const wchar_t *propertyName)
 {
     return m_reader->GetInt16(propertyName);
 }
 
-int MgdFdoForcedOneToOneFeatureReader::GetInt32(const wchar_t *propertyName)
+int MgPortableFdoForcedOneToOneFeatureReader::GetInt32(const wchar_t *propertyName)
 {
     return m_reader->GetInt32(propertyName);
 }
 
-FdoInt64 MgdFdoForcedOneToOneFeatureReader::GetInt64(const wchar_t *propertyName)
+FdoInt64 MgPortableFdoForcedOneToOneFeatureReader::GetInt64(const wchar_t *propertyName)
 {
     return m_reader->GetInt64(propertyName);
 }
 
-float MgdFdoForcedOneToOneFeatureReader::GetSingle(const wchar_t *propertyName)
+float MgPortableFdoForcedOneToOneFeatureReader::GetSingle(const wchar_t *propertyName)
 {
     return m_reader->GetSingle(propertyName);
 }
 
-const wchar_t* MgdFdoForcedOneToOneFeatureReader::GetString(const wchar_t *propertyName)
+const wchar_t* MgPortableFdoForcedOneToOneFeatureReader::GetString(const wchar_t *propertyName)
 {
     return m_reader->GetString(propertyName);
 }
 
-FdoLOBValue* MgdFdoForcedOneToOneFeatureReader::GetLOB(const wchar_t* propertyName)
+FdoLOBValue* MgPortableFdoForcedOneToOneFeatureReader::GetLOB(const wchar_t* propertyName)
 {
     return m_reader->GetLOB(propertyName);
 }
 
-FdoIStreamReader* MgdFdoForcedOneToOneFeatureReader::GetLOBStreamReader(const wchar_t* propertyName)
+FdoIStreamReader* MgPortableFdoForcedOneToOneFeatureReader::GetLOBStreamReader(const wchar_t* propertyName)
 {
     return m_reader->GetLOBStreamReader(propertyName);
 }
 
-bool MgdFdoForcedOneToOneFeatureReader::IsNull(const wchar_t *propertyName)
+bool MgPortableFdoForcedOneToOneFeatureReader::IsNull(const wchar_t *propertyName)
 {
     return m_reader->IsNull(propertyName);
 }
 
-FdoIFeatureReader* MgdFdoForcedOneToOneFeatureReader::GetFeatureObject(const wchar_t* propertyName)
+FdoIFeatureReader* MgPortableFdoForcedOneToOneFeatureReader::GetFeatureObject(const wchar_t* propertyName)
 {
     return m_reader->GetFeatureObject(propertyName);
 }
 
-FdoByteArray* MgdFdoForcedOneToOneFeatureReader::GetGeometry(const wchar_t* propertyName)
+FdoByteArray* MgPortableFdoForcedOneToOneFeatureReader::GetGeometry(const wchar_t* propertyName)
 {
     return m_reader->GetGeometry(propertyName);
 }
 
-const FdoByte * MgdFdoForcedOneToOneFeatureReader::GetGeometry(const wchar_t* propertyName, FdoInt32 * count)
+const FdoByte * MgPortableFdoForcedOneToOneFeatureReader::GetGeometry(const wchar_t* propertyName, FdoInt32 * count)
 {
     return m_reader->GetGeometry(propertyName, count);
 }
 
-FdoIRaster* MgdFdoForcedOneToOneFeatureReader::GetRaster(const wchar_t* propertyName)
+FdoIRaster* MgPortableFdoForcedOneToOneFeatureReader::GetRaster(const wchar_t* propertyName)
 {
     return m_reader->GetRaster(propertyName);
 }
 
-bool MgdFdoForcedOneToOneFeatureReader::IsNull(FdoInt32 index)
+bool MgPortableFdoForcedOneToOneFeatureReader::IsNull(FdoInt32 index)
 {
     return m_reader->IsNull(index);
 }
 
-const wchar_t* MgdFdoForcedOneToOneFeatureReader::GetString(FdoInt32 index)
+const wchar_t* MgPortableFdoForcedOneToOneFeatureReader::GetString(FdoInt32 index)
 {
     return m_reader->GetString(index);
 }
 
-bool MgdFdoForcedOneToOneFeatureReader::GetBoolean(FdoInt32 index)
+bool MgPortableFdoForcedOneToOneFeatureReader::GetBoolean(FdoInt32 index)
 {
     return m_reader->GetBoolean(index);
 }
 
-FdoByte MgdFdoForcedOneToOneFeatureReader::GetByte(FdoInt32 index)
+FdoByte MgPortableFdoForcedOneToOneFeatureReader::GetByte(FdoInt32 index)
 {
     return m_reader->GetByte(index);
 }
 
-FdoDateTime MgdFdoForcedOneToOneFeatureReader::GetDateTime(FdoInt32 index)
+FdoDateTime MgPortableFdoForcedOneToOneFeatureReader::GetDateTime(FdoInt32 index)
 {
     return m_reader->GetDateTime(index);
 }
 
-double MgdFdoForcedOneToOneFeatureReader::GetDouble(FdoInt32 index)
+double MgPortableFdoForcedOneToOneFeatureReader::GetDouble(FdoInt32 index)
 {
     return m_reader->GetDouble(index);
 }
 
-short MgdFdoForcedOneToOneFeatureReader::GetInt16(FdoInt32 index)
+short MgPortableFdoForcedOneToOneFeatureReader::GetInt16(FdoInt32 index)
 {
     return m_reader->GetInt16(index);
 }
 
-int MgdFdoForcedOneToOneFeatureReader::GetInt32(FdoInt32 index)
+int MgPortableFdoForcedOneToOneFeatureReader::GetInt32(FdoInt32 index)
 {
     return m_reader->GetInt32(index);
 }
 
-FdoInt64 MgdFdoForcedOneToOneFeatureReader::GetInt64(FdoInt32 index)
+FdoInt64 MgPortableFdoForcedOneToOneFeatureReader::GetInt64(FdoInt32 index)
 {
     return m_reader->GetInt64(index);
 }
 
-float MgdFdoForcedOneToOneFeatureReader::GetSingle(FdoInt32 index)
+float MgPortableFdoForcedOneToOneFeatureReader::GetSingle(FdoInt32 index)
 {
     return m_reader->GetSingle(index);
 }
 
-FdoLOBValue* MgdFdoForcedOneToOneFeatureReader::GetLOB(FdoInt32 index)
+FdoLOBValue* MgPortableFdoForcedOneToOneFeatureReader::GetLOB(FdoInt32 index)
 {
     return m_reader->GetLOB(index);
 }
 
-FdoIStreamReader* MgdFdoForcedOneToOneFeatureReader::GetLOBStreamReader(FdoInt32 index)
+FdoIStreamReader* MgPortableFdoForcedOneToOneFeatureReader::GetLOBStreamReader(FdoInt32 index)
 {
     return m_reader->GetLOBStreamReader(index);
 }
 
-FdoIRaster* MgdFdoForcedOneToOneFeatureReader::GetRaster(FdoInt32 index)
+FdoIRaster* MgPortableFdoForcedOneToOneFeatureReader::GetRaster(FdoInt32 index)
 {
     return m_reader->GetRaster(index);
 }
 
-const FdoByte* MgdFdoForcedOneToOneFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
+const FdoByte* MgPortableFdoForcedOneToOneFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
 {
     return m_reader->GetGeometry(index, count);
 }
 
-FdoByteArray* MgdFdoForcedOneToOneFeatureReader::GetGeometry(FdoInt32 index)
+FdoByteArray* MgPortableFdoForcedOneToOneFeatureReader::GetGeometry(FdoInt32 index)
 {
     return m_reader->GetGeometry(index);
 }
 
-FdoIFeatureReader* MgdFdoForcedOneToOneFeatureReader::GetFeatureObject (FdoInt32 index)
+FdoIFeatureReader* MgPortableFdoForcedOneToOneFeatureReader::GetFeatureObject (FdoInt32 index)
 {
     return m_reader->GetFeatureObject(index);
 }
 
-FdoString* MgdFdoForcedOneToOneFeatureReader::GetPropertyName(FdoInt32 index)
+FdoString* MgPortableFdoForcedOneToOneFeatureReader::GetPropertyName(FdoInt32 index)
 {
     return m_reader->GetPropertyName(index);
 }
 
-FdoInt32 MgdFdoForcedOneToOneFeatureReader::GetPropertyIndex(FdoString* propertyName)
+FdoInt32 MgPortableFdoForcedOneToOneFeatureReader::GetPropertyIndex(FdoString* propertyName)
 {
     return m_reader->GetPropertyIndex(propertyName);
 }
 
-bool MgdFdoForcedOneToOneFeatureReader::ReadNext()
+bool MgPortableFdoForcedOneToOneFeatureReader::ReadNext()
 {
     bool ret = false;
 
@@ -238,18 +238,18 @@
     return ret;
 }
 
-void MgdFdoForcedOneToOneFeatureReader::Close()
+void MgPortableFdoForcedOneToOneFeatureReader::Close()
 {
     m_reader->Close();
 }
 
 
-FdoDateTime MgdFdoForcedOneToOneFeatureReader::GetDateTime(const wchar_t *propertyName )
+FdoDateTime MgPortableFdoForcedOneToOneFeatureReader::GetDateTime(const wchar_t *propertyName )
 {
     return m_reader->GetDateTime(propertyName);
 }
 
-STRING MgdFdoForcedOneToOneFeatureReader::GetIdentityHash()
+STRING MgPortableFdoForcedOneToOneFeatureReader::GetIdentityHash()
 {
     STRING ret;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoForcedOneToOneFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,21 +15,21 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFdoForcedOneToOneFeatureReader_H
-#define _MgdFdoForcedOneToOneFeatureReader_H
+#ifndef _MgPortableFdoForcedOneToOneFeatureReader_H
+#define _MgPortableFdoForcedOneToOneFeatureReader_H
 
 #include <set>
 
 class FdoIFeatureReader;
 /// \cond INTERNAL
-class MgdFdoForcedOneToOneFeatureReader: public FdoIFeatureReader
+class MgPortableFdoForcedOneToOneFeatureReader: public FdoIFeatureReader
 {
 public:
-    // constructs a MgdFdoForcedOneToOneFeatureReader
-    MgdFdoForcedOneToOneFeatureReader();
-    MgdFdoForcedOneToOneFeatureReader(FdoIFeatureReader* reader, FdoStringCollection* idPropNames);
+    // constructs a MgPortableFdoForcedOneToOneFeatureReader
+    MgPortableFdoForcedOneToOneFeatureReader();
+    MgPortableFdoForcedOneToOneFeatureReader(FdoIFeatureReader* reader, FdoStringCollection* idPropNames);
     // default destructor
-    virtual ~MgdFdoForcedOneToOneFeatureReader();
+    virtual ~MgPortableFdoForcedOneToOneFeatureReader();
 
 protected:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoReaderCollection.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #include "stdafx.h"
 #include "FdoReaderCollection.h"
 
-/*FDO_API*/ MgdFdoReaderCollection* MgdFdoReaderCollection::Create()
+/*FDO_API*/ MgPortableFdoReaderCollection* MgPortableFdoReaderCollection::Create()
 {
-    return new MgdFdoReaderCollection();
+    return new MgPortableFdoReaderCollection();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FdoReaderCollection.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FdoReaderCollection.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,8 +15,8 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFdoReaderCollection_H_
-#define _MgdFdoReaderCollection_H_
+#ifndef _MgPortableFdoReaderCollection_H_
+#define _MgPortableFdoReaderCollection_H_
 
 #include <FdoStd.h>
 
@@ -23,16 +23,16 @@
 class FdoIFeatureReader;
 /// \cond INTERNAL
 /// \brief
-/// The MgdFdoReaderCollection class represents a collection of FdoIFeatureReader objects.
-class MgdFdoReaderCollection : public FdoCollection<FdoIFeatureReader, FdoException>
+/// The MgPortableFdoReaderCollection class represents a collection of FdoIFeatureReader objects.
+class MgPortableFdoReaderCollection : public FdoCollection<FdoIFeatureReader, FdoException>
 {
 protected:
 /// \cond DOXYGEN-IGNORE
-    MgdFdoReaderCollection() : FdoCollection<FdoIFeatureReader, FdoException>()
+    MgPortableFdoReaderCollection() : FdoCollection<FdoIFeatureReader, FdoException>()
     {
     }
 
-    virtual ~MgdFdoReaderCollection()
+    virtual ~MgPortableFdoReaderCollection()
     {
     }
 
@@ -44,12 +44,12 @@
 
 public:
     /// \brief
-    /// Constructs a default instance of an MgdFdoReaderCollection.
+    /// Constructs a default instance of an MgPortableFdoReaderCollection.
     ///
     /// \return
-    /// Returns MgdFdoReaderCollection
+    /// Returns MgPortableFdoReaderCollection
     ///
-    /*FDO_API*/ static MgdFdoReaderCollection* Create();
+    /*FDO_API*/ static MgPortableFdoReaderCollection* Create();
 };
 /// \endcond
 #endif

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureClassCacheItem.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureClassCacheItem.h"
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdFeatureClassCacheItem::MgdFeatureClassCacheItem()
+MgPortableFeatureClassCacheItem::MgPortableFeatureClassCacheItem()
 {
 }
 
@@ -30,7 +30,7 @@
 /// \brief
 /// Destruct the object.
 ///
-MgdFeatureClassCacheItem::~MgdFeatureClassCacheItem()
+MgPortableFeatureClassCacheItem::~MgPortableFeatureClassCacheItem()
 {
 }
 
@@ -38,17 +38,17 @@
 /// \brief
 /// Methods to manage cache data.
 ///
-void MgdFeatureClassCacheItem::SetSchemaXml(CREFSTRING schemaXml)
+void MgPortableFeatureClassCacheItem::SetSchemaXml(CREFSTRING schemaXml)
 {
     m_schemaXml = schemaXml;
 }
 
-STRING MgdFeatureClassCacheItem::GetSchemaXml()
+STRING MgPortableFeatureClassCacheItem::GetSchemaXml()
 {
     return m_schemaXml;
 }
 
-void MgdFeatureClassCacheItem::SetSchemas(bool serialized, MgFeatureSchemaCollection* schemas)
+void MgPortableFeatureClassCacheItem::SetSchemas(bool serialized, MgFeatureSchemaCollection* schemas)
 {
     if (serialized)
     {
@@ -60,7 +60,7 @@
     }
 }
 
-MgFeatureSchemaCollection* MgdFeatureClassCacheItem::GetSchemas(bool serialized)
+MgFeatureSchemaCollection* MgPortableFeatureClassCacheItem::GetSchemas(bool serialized)
 {
     if (serialized)
     {
@@ -72,22 +72,22 @@
     }
 }
 
-void MgdFeatureClassCacheItem::SetClassDefinition(MgClassDefinition* classDef)
+void MgPortableFeatureClassCacheItem::SetClassDefinition(MgClassDefinition* classDef)
 {
     m_classDef = SAFE_ADDREF(classDef);
 }
 
-MgClassDefinition* MgdFeatureClassCacheItem::GetClassDefinition()
+MgClassDefinition* MgPortableFeatureClassCacheItem::GetClassDefinition()
 {
     return SAFE_ADDREF(m_classDef.p);
 }
 
-void MgdFeatureClassCacheItem::SetClassIdentityProperties(MgPropertyDefinitionCollection* idProperties)
+void MgPortableFeatureClassCacheItem::SetClassIdentityProperties(MgPropertyDefinitionCollection* idProperties)
 {
     m_idProperties = SAFE_ADDREF(idProperties);
 }
 
-MgPropertyDefinitionCollection* MgdFeatureClassCacheItem::GetClassIdentityProperties()
+MgPropertyDefinitionCollection* MgPortableFeatureClassCacheItem::GetClassIdentityProperties()
 {
     return SAFE_ADDREF(m_idProperties.p);
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureClassCacheItem.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #ifndef DESKTOP_FEATURE_CLASS_CACHE_ITEM_H
 #define DESKTOP_FEATURE_CLASS_CACHE_ITEM_H
 /// \cond INTERNAL
-class MgdFeatureClassCacheItem : public MgGuardDisposable
+class MgPortableFeatureClassCacheItem : public MgGuardDisposable
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdFeatureClassCacheItem();
-    virtual ~MgdFeatureClassCacheItem();
+    MgPortableFeatureClassCacheItem();
+    virtual ~MgPortableFeatureClassCacheItem();
 
 private:
 
     // Unimplemented copy constructor and assignment operator.
-    MgdFeatureClassCacheItem(const MgdFeatureClassCacheItem&);
-    MgdFeatureClassCacheItem& operator=(const MgdFeatureClassCacheItem&);
+    MgPortableFeatureClassCacheItem(const MgPortableFeatureClassCacheItem&);
+    MgPortableFeatureClassCacheItem& operator=(const MgPortableFeatureClassCacheItem&);
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,15 +23,15 @@
 #endif
 
 // Initialize the minimum required memeber variables
-MgdFeatureConnection::MgdFeatureConnection(MgResourceIdentifier* featureSourceIdentifier)
+MgPortableFeatureConnection::MgPortableFeatureConnection(MgResourceIdentifier* featureSourceIdentifier)
 {
     Initialize();
     //This is a potentially poolable connection
-    m_fdoConn = MgdFdoConnectionPool::GetConnection(featureSourceIdentifier);
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.MgdFeatureConnection()");
+    m_fdoConn = MgPortableFdoConnectionPool::GetConnection(featureSourceIdentifier);
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.MgPortableFeatureConnection()");
 
 #ifdef DEBUG_FDO_CONNECTION_POOL
-    ACE_DEBUG((LM_INFO, ACE_TEXT("MgdFeatureConnection::MgdFeatureConnection(MgResourceIdentifier*) - refcount: %d\n"), m_fdoConn->GetRefCount()));
+    ACE_DEBUG((LM_INFO, ACE_TEXT("MgPortableFeatureConnection::MgPortableFeatureConnection(MgResourceIdentifier*) - refcount: %d\n"), m_fdoConn->GetRefCount()));
 #endif
 
     m_resourceId = SAFE_ADDREF(featureSourceIdentifier);
@@ -39,17 +39,17 @@
 }
 
 
-MgdFeatureConnection::MgdFeatureConnection(CREFSTRING providerName, CREFSTRING connectionString)
+MgPortableFeatureConnection::MgPortableFeatureConnection(CREFSTRING providerName, CREFSTRING connectionString)
 {
     Initialize();
     //This is not a poolable connection
-    m_fdoConn = MgdFdoConnectionPool::GetConnection(providerName, connectionString);
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.MgdFeatureConnection()");
+    m_fdoConn = MgPortableFdoConnectionPool::GetConnection(providerName, connectionString);
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.MgPortableFeatureConnection()");
     if (!connectionString.empty())
         m_fdoConn->Open();
 
 #ifdef DEBUG_FDO_CONNECTION_POOL
-    ACE_DEBUG((LM_INFO, ACE_TEXT("MgdFeatureConnection::MgdFeatureConnection(CREFSTRING, CREFSTRING) - refcount: %d\n"), m_fdoConn->GetRefCount()));
+    ACE_DEBUG((LM_INFO, ACE_TEXT("MgPortableFeatureConnection::MgPortableFeatureConnection(CREFSTRING, CREFSTRING) - refcount: %d\n"), m_fdoConn->GetRefCount()));
 #endif
 
     m_resourceId = NULL;
@@ -57,7 +57,7 @@
 }
 
 
-MgdFeatureConnection::~MgdFeatureConnection()
+MgPortableFeatureConnection::~MgPortableFeatureConnection()
 {
     MG_TRY()
 
@@ -71,12 +71,12 @@
     MG_CATCH_AND_RELEASE()
 }
 
-void MgdFeatureConnection::Dispose()
+void MgPortableFeatureConnection::Dispose()
 {
     delete this;
 }
 
-void MgdFeatureConnection::Initialize()
+void MgPortableFeatureConnection::Initialize()
 {
     m_fdoConn = NULL;
     m_resourceId = NULL;
@@ -83,45 +83,45 @@
     m_bCloseConnection = true;
 }
 
-void MgdFeatureConnection::Close()
+void MgPortableFeatureConnection::Close()
 {
     if (NULL != m_fdoConn)
     {
     #ifdef DEBUG_FDO_CONNECTION_POOL
         FdoInt32 iRefCount = m_fdoConn->GetRefCount();
-        ACE_DEBUG((LM_INFO, ACE_TEXT("MgdFeatureConnection::Close() - refcount %d\n"), iRefCount));
+        ACE_DEBUG((LM_INFO, ACE_TEXT("MgPortableFeatureConnection::Close() - refcount %d\n"), iRefCount));
     #endif
-        MgdFdoConnectionPool::ReturnConnection(this);
+        MgPortableFdoConnectionPool::ReturnConnection(this);
         m_fdoConn = NULL;
     }
 }
 
-MgResourceIdentifier* MgdFeatureConnection::GetFeatureSource()
+MgResourceIdentifier* MgPortableFeatureConnection::GetFeatureSource()
 {
     return SAFE_ADDREF(m_resourceId);
 }
 
-FdoIConnection* MgdFeatureConnection::GetConnection()
+FdoIConnection* MgPortableFeatureConnection::GetConnection()
 {
     return FDO_SAFE_ADDREF(m_fdoConn);
 }
 
 
-STRING MgdFeatureConnection::GetProviderName()
+STRING MgPortableFeatureConnection::GetProviderName()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.GetProviderName");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.GetProviderName");
 
     // Get FdoIConnectionInfo
     FdoPtr<FdoIConnectionInfo> fdoConnInfo = m_fdoConn->GetConnectionInfo();
-    CHECKNULL((FdoIConnectionInfo*)fdoConnInfo, L"MgdFeatureConnection.GetProviderName");
+    CHECKNULL((FdoIConnectionInfo*)fdoConnInfo, L"MgPortableFeatureConnection.GetProviderName");
 
     return fdoConnInfo->GetProviderName();
 }
 
 
-bool MgdFeatureConnection::IsConnectionOpen()
+bool MgPortableFeatureConnection::IsConnectionOpen()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.IsConnectionOpen()");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.IsConnectionOpen()");
     FdoConnectionState state = m_fdoConn->GetConnectionState();
     if (FdoConnectionState_Open != state)
         return false;
@@ -130,9 +130,9 @@
 }
 
 
-bool MgdFeatureConnection::IsConnectionPending()
+bool MgPortableFeatureConnection::IsConnectionPending()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.IsConnectionPending()");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.IsConnectionPending()");
     FdoConnectionState state = m_fdoConn->GetConnectionState();
     if (FdoConnectionState_Pending != state)
         return false;
@@ -141,9 +141,9 @@
 }
 
 
-bool MgdFeatureConnection::IsConnectionBusy()
+bool MgPortableFeatureConnection::IsConnectionBusy()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.IsConnectionBusy()");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.IsConnectionBusy()");
     FdoConnectionState state = m_fdoConn->GetConnectionState();
     if (FdoConnectionState_Busy != state)
         return false;
@@ -152,9 +152,9 @@
 }
 
 
-bool MgdFeatureConnection::IsConnectionClosed()
+bool MgPortableFeatureConnection::IsConnectionClosed()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.IsConnectionClosed()");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.IsConnectionClosed()");
     FdoConnectionState state = m_fdoConn->GetConnectionState();
     if (FdoConnectionState_Closed != state)
         return false;
@@ -162,12 +162,12 @@
     return true;
 }
 
-bool MgdFeatureConnection::SupportsJoins()
+bool MgPortableFeatureConnection::SupportsJoins()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.SupportsJoins");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.SupportsJoins");
 
     FdoPtr<FdoIConnectionCapabilities> connCaps = m_fdoConn->GetConnectionCapabilities();
-    CHECKNULL((FdoIConnectionCapabilities*)connCaps, L"MgdFeatureConnection.SupportsJoins");
+    CHECKNULL((FdoIConnectionCapabilities*)connCaps, L"MgPortableFeatureConnection.SupportsJoins");
     bool joinsSupported = connCaps->SupportsJoins();
 #ifdef DEBUG_FDOJOIN
     if (!joinsSupported)
@@ -178,32 +178,32 @@
     return joinsSupported;
 }
 
-bool MgdFeatureConnection::SupportsSelectOrdering()
+bool MgPortableFeatureConnection::SupportsSelectOrdering()
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.SupportsSelectOrdering");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.SupportsSelectOrdering");
 
     FdoPtr<FdoICommandCapabilities> cmdCaps = m_fdoConn->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)cmdCaps, L"MgdFeatureConnection.SupportsSelectOrdering");
+    CHECKNULL((FdoICommandCapabilities*)cmdCaps, L"MgPortableFeatureConnection.SupportsSelectOrdering");
 
     return cmdCaps->SupportsSelectOrdering();
 }
 
-FdoJoinType MgdFeatureConnection::GetJoinTypes() const
+FdoJoinType MgPortableFeatureConnection::GetJoinTypes() const
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.GetJoinTypes");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.GetJoinTypes");
 
     FdoPtr<FdoIConnectionCapabilities> connCaps = m_fdoConn->GetConnectionCapabilities();
-    CHECKNULL((FdoIConnectionCapabilities*)connCaps, L"MgdFeatureConnection.GetJoinTypes");
+    CHECKNULL((FdoIConnectionCapabilities*)connCaps, L"MgPortableFeatureConnection.GetJoinTypes");
 
     return (FdoJoinType)connCaps->GetJoinTypes();
 }
 
-bool MgdFeatureConnection::SupportsCommand(INT32 commandType)
+bool MgPortableFeatureConnection::SupportsCommand(INT32 commandType)
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.SupportsCommand");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.SupportsCommand");
 
     FdoPtr<FdoICommandCapabilities> fcc = m_fdoConn->GetCommandCapabilities();
-    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgdFeatureConnection.SupportsCommand");
+    CHECKNULL((FdoICommandCapabilities*)fcc, L"MgPortableFeatureConnection.SupportsCommand");
 
     bool supports = false;
 
@@ -225,7 +225,7 @@
     return supports;
 }
 
-void MgdFeatureConnection::OwnReader()
+void MgPortableFeatureConnection::OwnReader()
 {
     if(! m_bCloseConnection)
         FDO_SAFE_ADDREF(m_fdoConn);
@@ -232,12 +232,12 @@
     m_bCloseConnection = false;
 }
 
-bool MgdFeatureConnection::IsSupportedFunction(FdoFunction* fdoFunc)
+bool MgPortableFeatureConnection::IsSupportedFunction(FdoFunction* fdoFunc)
 {
-    CHECKNULL(m_fdoConn, L"MgdFeatureConnection.SupportsFunction");
+    CHECKNULL(m_fdoConn, L"MgPortableFeatureConnection.SupportsFunction");
 
     FdoPtr<FdoIExpressionCapabilities> fec = m_fdoConn->GetExpressionCapabilities();
-    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgdFeatureConnection.SupportsFunction");
+    CHECKNULL((FdoIExpressionCapabilities*)fec, L"MgPortableFeatureConnection.SupportsFunction");
 
     bool supports = false;
 
@@ -248,7 +248,7 @@
         for (FdoInt32 i=0; i < funcCnt; i++)
         {
             FdoPtr<FdoFunctionDefinition> ffd = ffdc->GetItem(i);
-            CHECKNULL((FdoFunctionDefinition*)ffd, L"MgdFeatureConnection.SupportsFunction");
+            CHECKNULL((FdoFunctionDefinition*)ffd, L"MgPortableFeatureConnection.SupportsFunction");
 
             // TODO: Just comparing name is enough?
             // TODO: I think, NOT, because there can be overloaded functions like one function

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureConnection.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureConnection.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,20 +20,20 @@
 
 class FdoIConnection;
 class MgResourceIdentifier;
-class MgdFdoConnectionPool;
+class MgPortableFdoConnectionPool;
 
 /// \cond INTERNAL
-class MgdFeatureConnection : public MgGuardDisposable
+class MgPortableFeatureConnection : public MgGuardDisposable
 {
-    friend class MgdFdoConnectionPool;
+    friend class MgPortableFdoConnectionPool;
 
 public:
-    MgdFeatureConnection(MgResourceIdentifier* featureSourceIdentifier);
-    MgdFeatureConnection(CREFSTRING providerName, CREFSTRING connectionString);
-    virtual ~MgdFeatureConnection();
+    MgPortableFeatureConnection(MgResourceIdentifier* featureSourceIdentifier);
+    MgPortableFeatureConnection(CREFSTRING providerName, CREFSTRING connectionString);
+    virtual ~MgPortableFeatureConnection();
 
 private:
-    MgdFeatureConnection();
+    MgPortableFeatureConnection();
     void Initialize();
 
 public:

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDefs.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureDefs.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDefs.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_FEATURE_DEFS_H
 #define DESKTOP_FEATURE_DEFS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #define CHECK_FEATURE_SOURCE_ARGUMENT(resource, method)                                        \
     CHECKARGUMENTNULL(resource, method);                                                            \
@@ -154,7 +154,7 @@
                (NULL != wcsstr(buf, L"ConnectionRead")) ||                    \
                (NULL != wcsstr(buf, L"Communication link failure")))          \
             {                                                                 \
-                MgdFdoConnectionPool::PurgeCachedConnections(resource);        \
+                MgPortableFdoConnectionPool::PurgeCachedConnections(resource);        \
             }                                                                 \
             messageId = L"MgFeatureSourceFormatInnerExceptionMessage";        \
             arguments.Add(resource->ToString());                              \

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureDistribution.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -30,23 +30,23 @@
 #include "FeatureGeometricFunctions.h"
 #include "FeatureStringFunctions.h"
 
-MgdFeatureDistribution::MgdFeatureDistribution()
+MgPortableFeatureDistribution::MgPortableFeatureDistribution()
 {
 }
 
-MgdFeatureDistribution::~MgdFeatureDistribution()
+MgPortableFeatureDistribution::~MgPortableFeatureDistribution()
 {
 }
 
-MgdFeatureDistribution* MgdFeatureDistribution::CreateDistributionFunction(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+MgPortableFeatureDistribution* MgPortableFeatureDistribution::CreateDistributionFunction(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
     STRING propName;
-    Ptr<MgdFeatureDistribution> featDist;
+    Ptr<MgPortableFeatureDistribution> featDist;
 
     INT32 propType;
     if(1 == reader->GetPropertyCount())
     {
-        propType = MgdFeatureUtil::GetPropertyDefinition(reader, propName);
+        propType = MgPortableFeatureUtil::GetPropertyDefinition(reader, propName);
     }
     else
     {
@@ -58,7 +58,7 @@
         {
             expr = exprCol->GetItem(0);
             FdoIdentifier* propIdentifier = dynamic_cast<FdoIdentifier*>(expr.p);
-            CHECKNULL(propIdentifier, L"MgdFeatureDistribution.CreateDistributionFunction");
+            CHECKNULL(propIdentifier, L"MgPortableFeatureDistribution.CreateDistributionFunction");
             propName = propIdentifier->GetName();
             propType = reader->GetPropertyType(propName);
         }
@@ -65,7 +65,7 @@
         else
         {
             // Throw original exception
-            propType = MgdFeatureUtil::GetPropertyDefinition(reader, propName);
+            propType = MgPortableFeatureUtil::GetPropertyDefinition(reader, propName);
         }
     }
 
@@ -80,23 +80,23 @@
         case MgPropertyType::Single:
         case MgPropertyType::Boolean:
         {
-            featDist = new MgdFeatureNumericFunctions(reader, customFunction, propertyAlias);
+            featDist = new MgPortableFeatureNumericFunctions(reader, customFunction, propertyAlias);
             break;
         }
         case MgPropertyType::String:
         {
-            featDist = new MgdFeatureStringFunctions(reader, customFunction, propertyAlias);
+            featDist = new MgPortableFeatureStringFunctions(reader, customFunction, propertyAlias);
             break;
         }
         case MgPropertyType::Geometry:
         {
-            featDist = new MgdFeatureGeometricFunctions(reader, customFunction, propertyAlias);
+            featDist = new MgPortableFeatureGeometricFunctions(reader, customFunction, propertyAlias);
             break;
         }
         default:
         {
             throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-                L"MgdFeatureDistribution.CreateDistributionFunction", __LINE__, __WFILE__, NULL, L"", NULL);
+                L"MgPortableFeatureDistribution.CreateDistributionFunction", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
     return featDist.Detach();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureDistribution.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureDistribution.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,24 +15,24 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef _MgdFeatureDistribution_H
-#define _MgdFeatureDistribution_H
+#ifndef _MgPortableFeatureDistribution_H
+#define _MgPortableFeatureDistribution_H
 
 class MgDisposable;
 class FdoFunction;
 class MgReader;
 /// \cond INTERNAL
-class MgdFeatureDistribution : public MgDisposable
+class MgPortableFeatureDistribution : public MgDisposable
 {
 public:
 
-    static MgdFeatureDistribution* CreateDistributionFunction(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
+    static MgPortableFeatureDistribution* CreateDistributionFunction(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
     virtual MgReader* Execute() = 0;
 
 protected:
 
-    MgdFeatureDistribution();
-    virtual ~MgdFeatureDistribution();
+    MgPortableFeatureDistribution();
+    virtual ~MgPortableFeatureDistribution();
     virtual void Dispose()
     {
         delete this;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureGeometricFunctions.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,7 +25,7 @@
 #include <algorithm>
 #include "UniqueFunction.h"
 
-MgdFeatureGeometricFunctions::MgdFeatureGeometricFunctions()
+MgPortableFeatureGeometricFunctions::MgPortableFeatureGeometricFunctions()
 {
     m_type = MgPropertyType::Null;
     m_reader = NULL;
@@ -34,19 +34,19 @@
     m_extentsInitialized = false;
 }
 
-MgdFeatureGeometricFunctions::MgdFeatureGeometricFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+MgPortableFeatureGeometricFunctions::MgPortableFeatureGeometricFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
     Initialize(reader, customFunction, propertyAlias); // Initialize the instance
 }
 
-void MgdFeatureGeometricFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+void MgPortableFeatureGeometricFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
-    CHECKNULL((MgReader*)reader, L"MgdFeatureGeometricFunctions.Initialize");
-    CHECKNULL((FdoFunction*)customFunction, L"MgdFeatureGeometricFunctions.Initialize");
+    CHECKNULL((MgReader*)reader, L"MgPortableFeatureGeometricFunctions.Initialize");
+    CHECKNULL((FdoFunction*)customFunction, L"MgPortableFeatureGeometricFunctions.Initialize");
 
     if(1 == reader->GetPropertyCount())
     {
-        m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+        m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
     }
     else
     {
@@ -58,7 +58,7 @@
         {
             expr = exprCol->GetItem(0);
             FdoIdentifier* propName = dynamic_cast<FdoIdentifier*>(expr.p);
-            CHECKNULL(propName, L"MgdFeatureGeometricFunctions.Initialize");
+            CHECKNULL(propName, L"MgPortableFeatureGeometricFunctions.Initialize");
             m_propertyName = propName->GetName();
             m_type = reader->GetPropertyType(m_propertyName);
         }
@@ -65,7 +65,7 @@
         else
         {
             // Throw original exception
-            m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+            m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
         }
     }
 
@@ -74,7 +74,7 @@
     if (!this->CheckSupportedPropertyType())
     {
         throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-            L"MgdFeatureGeometricFunctions.Initialize", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableFeatureGeometricFunctions.Initialize", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // We must have an property alias
@@ -82,11 +82,11 @@
     // But Fdo forces to have an alias. Therefore we implement this restriction.
     if (propertyAlias.empty())
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureGeometricFunctions.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureGeometricFunctions.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     m_reader = SAFE_ADDREF(reader);
@@ -96,19 +96,19 @@
 }
 
 
-MgdFeatureGeometricFunctions::~MgdFeatureGeometricFunctions()
+MgPortableFeatureGeometricFunctions::~MgPortableFeatureGeometricFunctions()
 {
 }
 
 // Execute the function
-MgReader* MgdFeatureGeometricFunctions::Execute()
+MgReader* MgPortableFeatureGeometricFunctions::Execute()
 {
-    CHECKNULL((MgReader*)m_reader, L"MgdFeatureGeometricFunctions.Execute");
-    CHECKNULL(m_customFunction, L"MgdFeatureGeometricFunctions.Execute");
+    CHECKNULL((MgReader*)m_reader, L"MgPortableFeatureGeometricFunctions.Execute");
+    CHECKNULL(m_customFunction, L"MgPortableFeatureGeometricFunctions.Execute");
 
     Ptr<MgGeometryCollection> geomCol = new MgGeometryCollection();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureGeometricFunctions::Execute");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureGeometricFunctions::Execute");
     while(m_reader->ReadNext())
     {
         // Get the geometry
@@ -143,11 +143,11 @@
     return GetReader(finalResult);
 }
 
-void MgdFeatureGeometricFunctions::ComputeExtents(MgCoordinate* lowerLeft,
+void MgPortableFeatureGeometricFunctions::ComputeExtents(MgCoordinate* lowerLeft,
                                                     MgCoordinate* upperRight)
 {
-    CHECKNULL((MgCoordinate*)lowerLeft, L"MgdFeatureGeometricFunctions.ComputeExtents");
-    CHECKNULL((MgCoordinate*)upperRight, L"MgdFeatureGeometricFunctions.ComputeExtents");
+    CHECKNULL((MgCoordinate*)lowerLeft, L"MgPortableFeatureGeometricFunctions.ComputeExtents");
+    CHECKNULL((MgCoordinate*)upperRight, L"MgPortableFeatureGeometricFunctions.ComputeExtents");
 
     if (!m_extentsInitialized)
     {
@@ -185,7 +185,7 @@
     }
 }
 
-MgGeometryCollection* MgdFeatureGeometricFunctions::ExecuteOperation()
+MgGeometryCollection* MgPortableFeatureGeometricFunctions::ExecuteOperation()
 {
     INT32 funcCode = -1;
 
@@ -193,7 +193,7 @@
 
     // Get the arguments from the FdoFunction
     STRING propertyName;
-    bool supported = MgdFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
+    bool supported = MgPortableFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
 
     if (supported)
     {
@@ -230,12 +230,12 @@
             }
             default:
             {
-                STRING message = MgdFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
+                STRING message = MgPortableFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
 
                 MgStringCollection arguments;
                 arguments.Add(message);
                 throw new MgException(MgExceptionCodes::MgFeatureServiceException, 
-                    L"MgdFeatureGeometricFunctions.ExecuteOperation",
+                    L"MgPortableFeatureGeometricFunctions.ExecuteOperation",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
             }
         }
@@ -245,7 +245,7 @@
 }
 
 // Check whether property type is a supported type
-bool MgdFeatureGeometricFunctions::CheckSupportedPropertyType()
+bool MgPortableFeatureGeometricFunctions::CheckSupportedPropertyType()
 {
     return MgPropertyType::Geometry == m_type;
 }
@@ -252,7 +252,7 @@
 
 
 // Get the value of property
-MgGeometry* MgdFeatureGeometricFunctions::GetValue()
+MgGeometry* MgPortableFeatureGeometricFunctions::GetValue()
 {
     Ptr<MgGeometry> geom;
 
@@ -273,7 +273,7 @@
             default:
             {
                 throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-                    L"MgdFeatureGeometricFunctions.GetValue",
+                    L"MgPortableFeatureGeometricFunctions.GetValue",
                     __LINE__, __WFILE__, NULL, L"", NULL);
             }
         }
@@ -286,7 +286,7 @@
 
 
 // Create the reader for string properties
-MgReader* MgdFeatureGeometricFunctions::GetReader(MgGeometryCollection* geomCol)
+MgReader* MgPortableFeatureGeometricFunctions::GetReader(MgGeometryCollection* geomCol)
 {
     Ptr<MgDataReader> dataReader;
 
@@ -294,7 +294,7 @@
     {
         case MgPropertyType::Geometry:
         {
-            Ptr<MgdGeometryDataReaderCreator> drCreator = new MgdGeometryDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableGeometryDataReaderCreator> drCreator = new MgPortableGeometryDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(geomCol);
             break;
         }
@@ -301,7 +301,7 @@
         default:
         {
             throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-                L"MgdFeatureGeometricFunctions.GetReader", __LINE__, __WFILE__, NULL, L"", NULL);
+                L"MgPortableFeatureGeometricFunctions.GetReader", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
     return dataReader.Detach();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureGeometricFunctions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,23 +21,23 @@
 class MgDisposable;
 class FdoFunction;
 class MgReader;
-class MgdFeatureDistribution;
+class MgPortableFeatureDistribution;
 class MgGeometry;
 class MgGeometryCollection;
 /// \cond INTERNAL
-class MgdFeatureGeometricFunctions : public MgdFeatureDistribution
+class MgPortableFeatureGeometricFunctions : public MgPortableFeatureDistribution
 {
-    DECLARE_CLASSNAME(MgdFeatureGeometricFunctions)
+    DECLARE_CLASSNAME(MgPortableFeatureGeometricFunctions)
 
 public:
 
-    MgdFeatureGeometricFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
+    MgPortableFeatureGeometricFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
     virtual MgReader* Execute();
 
 protected:
 
-    MgdFeatureGeometricFunctions();
-    virtual ~MgdFeatureGeometricFunctions();
+    MgPortableFeatureGeometricFunctions();
+    virtual ~MgPortableFeatureGeometricFunctions();
     virtual void Dispose()
     {
         delete this;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureNumericFunctions.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -35,7 +35,7 @@
 #include "DateTimeDataReaderCreator.h"
 #include "BooleanDataReaderCreator.h"
 
-MgdFeatureNumericFunctions::MgdFeatureNumericFunctions()
+MgPortableFeatureNumericFunctions::MgPortableFeatureNumericFunctions()
 {
     m_type = MgPropertyType::Null;
     m_reader = NULL;
@@ -43,19 +43,19 @@
     m_propertyAlias = L"";
 }
 
-MgdFeatureNumericFunctions::MgdFeatureNumericFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+MgPortableFeatureNumericFunctions::MgPortableFeatureNumericFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
     Initialize(reader, customFunction, propertyAlias); // Initialize the instance
 }
 
-void MgdFeatureNumericFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+void MgPortableFeatureNumericFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
-    CHECKNULL((MgReader*)reader, L"MgdFeatureNumericFunctions.Initialize");
-    CHECKNULL((FdoFunction*)customFunction, L"MgdFeatureNumericFunctions.Initialize");
+    CHECKNULL((MgReader*)reader, L"MgPortableFeatureNumericFunctions.Initialize");
+    CHECKNULL((FdoFunction*)customFunction, L"MgPortableFeatureNumericFunctions.Initialize");
 
     if(1 == reader->GetPropertyCount())
     {
-        m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+        m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
     }
     else
     {
@@ -67,7 +67,7 @@
         {
             expr = exprCol->GetItem(0);
             FdoIdentifier* propName = dynamic_cast<FdoIdentifier*>(expr.p);
-            CHECKNULL(propName, L"MgdFeatureNumericFunctions.Initialize");
+            CHECKNULL(propName, L"MgPortableFeatureNumericFunctions.Initialize");
             m_propertyName = propName->GetName();
             m_type = reader->GetPropertyType(m_propertyName);
         }
@@ -74,7 +74,7 @@
         else
         {
             // Throw original exception
-            m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+            m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
         }
     }
 
@@ -87,11 +87,11 @@
     // But Fdo forces to have an alias. Therefore we implement this restriction.
     if (propertyAlias.empty())
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureDistribution.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureDistribution.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     m_reader = SAFE_ADDREF(reader);
@@ -99,21 +99,21 @@
     m_propertyAlias = propertyAlias;
 }
 
-MgdFeatureNumericFunctions::~MgdFeatureNumericFunctions()
+MgPortableFeatureNumericFunctions::~MgPortableFeatureNumericFunctions()
 {
 }
 
-MgReader* MgdFeatureNumericFunctions::Execute()
+MgReader* MgPortableFeatureNumericFunctions::Execute()
 {
-    CHECKNULL((MgReader*)m_reader, L"MgdFeatureNumericFunctions.Execute");
-    CHECKNULL(m_customFunction, L"MgdFeatureNumericFunctions.Execute");
+    CHECKNULL((MgReader*)m_reader, L"MgPortableFeatureNumericFunctions.Execute");
+    CHECKNULL(m_customFunction, L"MgPortableFeatureNumericFunctions.Execute");
 
     Ptr<MgReader> reader;
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureNumericFunctions::Execute");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureNumericFunctions::Execute");
     // TODO: Can this be optimized to process them as they are read?
     // TODO: Should we put a limit on double buffer
     INT32 funcCode = -1;
-    bool supported = MgdFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
+    bool supported = MgPortableFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
     if (supported)
     {
         // In case we have int64 but is a custom function use double to evaluate it.
@@ -155,7 +155,7 @@
             CalculateDistribution(values, distValues);
 
             // Create FeatureReader from distribution values
-            Ptr<MgdInt64DataReaderCreator> drCreator = new MgdInt64DataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableInt64DataReaderCreator> drCreator = new MgPortableInt64DataReaderCreator(m_propertyAlias);
             reader = drCreator->Execute(distValues);
         }
     }
@@ -170,7 +170,7 @@
 }
 
 // Check whether property type is a supported type
-void MgdFeatureNumericFunctions::CheckSupportedPropertyType()
+void MgPortableFeatureNumericFunctions::CheckSupportedPropertyType()
 {
     bool supported = false;
     switch(m_type)
@@ -189,7 +189,7 @@
         }
         default:
         {
-            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdFeatureNumericFunctions.CheckSupportedPropertyType",
+            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableFeatureNumericFunctions.CheckSupportedPropertyType",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
@@ -197,7 +197,7 @@
 }
 
 // Get the value of property
-double MgdFeatureNumericFunctions::GetValue()
+double MgPortableFeatureNumericFunctions::GetValue()
 {
     double val = 0;
 
@@ -248,7 +248,7 @@
             }
             default:
             {
-                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdFeatureNumericFunctions.CheckSupportedPropertyType",
+                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableFeatureNumericFunctions.CheckSupportedPropertyType",
                     __LINE__, __WFILE__, NULL, L"", NULL);
             }
         }
@@ -257,16 +257,16 @@
 }
 
 // Calculate equal categories
-void MgdFeatureNumericFunctions::GetEqualCategories(VECTOR &values, int numCats, double dataMin, double dataMax, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetEqualCategories(VECTOR &values, int numCats, double dataMin, double dataMax, VECTOR &distValues)
 {
     // Expected categories should be more than zero
     if (numCats <= 0)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureNumericFunctions::GetEqualCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureNumericFunctions::GetEqualCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // find the range of the data values
@@ -312,43 +312,43 @@
 }
 
 
-void MgdFeatureNumericFunctions::GetMinimum(VECTOR &values, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetMinimum(VECTOR &values, VECTOR &distValues)
 {
     // TODO: Change this algorithm to take reader directly instead of vector
 
     // find the range of the data values
-    distValues.push_back(MgdFeatureUtil::Minimum(values));
+    distValues.push_back(MgPortableFeatureUtil::Minimum(values));
 }
 
 
-void MgdFeatureNumericFunctions::GetMinimum(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
+void MgPortableFeatureNumericFunctions::GetMinimum(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
 {
     // TODO: Change this algorithm to take reader directly instead of vector
 
     // find the range of the data values
-    distValues.push_back(MgdFeatureUtil::Minimum(values));
+    distValues.push_back(MgPortableFeatureUtil::Minimum(values));
 }
 
 
-void MgdFeatureNumericFunctions::GetMaximum(VECTOR &values, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetMaximum(VECTOR &values, VECTOR &distValues)
 {
     // TODO: Change this algorithm to take reader directly instead of vector
 
     // find the range of the data values
-    distValues.push_back(MgdFeatureUtil::Maximum(values));
+    distValues.push_back(MgPortableFeatureUtil::Maximum(values));
 }
 
 
-void MgdFeatureNumericFunctions::GetMaximum(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
+void MgPortableFeatureNumericFunctions::GetMaximum(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
 {
     // TODO: Change this algorithm to take reader directly instead of vector
 
     // find the range of the data values
-    distValues.push_back(MgdFeatureUtil::Maximum(values));
+    distValues.push_back(MgPortableFeatureUtil::Maximum(values));
 }
 
 
-void MgdFeatureNumericFunctions::CalculateDistribution(VECTOR& values, VECTOR& distValues)
+void MgPortableFeatureNumericFunctions::CalculateDistribution(VECTOR& values, VECTOR& distValues)
 {
     STRING funcName;
     int numCats;
@@ -357,7 +357,7 @@
 
     // Get the arguments from the FdoFunction
     STRING propertyName;
-    bool supported = MgdFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
+    bool supported = MgPortableFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
 
     if (supported)
     {
@@ -365,25 +365,25 @@
         {
             case EQUAL_CATEGORY: // Equal Category
             {
-                MgdFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
+                MgPortableFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
                 GetEqualCategories(values, numCats, dataMin, dataMax, distValues);
                 break;
             }
             case STDEV_CATEGORY: // StdDev Category
             {
-                MgdFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
+                MgPortableFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
                 GetStandardDeviationCategories(values, numCats, dataMin, dataMax, distValues);
                 break;
             }
             case QUANTILE_CATEGORY: // Quantile Category
             {
-                MgdFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
+                MgPortableFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
                 GetQuantileCategories(values, numCats, dataMin, dataMax, distValues);
                 break;
             }
             case JENK_CATEGORY: // Jenk Category
             {
-                MgdFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
+                MgPortableFeatureUtil::GetArguments(m_customFunction, propertyName, numCats, dataMin, dataMax, m_type);
                 GetJenksCategories(values, numCats, dataMin, dataMax, distValues);
                 break;
             }
@@ -409,7 +409,7 @@
             }
             case UNIQUE:
             {
-                MgdUniqueFunction<double>::Execute(values, distValues);
+                MgPortableUniqueFunction<double>::Execute(values, distValues);
                 break;
             }
         }
@@ -416,11 +416,11 @@
     }
 }
 
-void MgdFeatureNumericFunctions::CalculateDistribution(VECTOR_INT64& values, VECTOR_INT64& distValues)
+void MgPortableFeatureNumericFunctions::CalculateDistribution(VECTOR_INT64& values, VECTOR_INT64& distValues)
 {
     INT32 funcCode = -1;
     // Get the arguments from the FdoFunction
-    bool supported = MgdFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
+    bool supported = MgPortableFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
 
     if (supported)
     {
@@ -438,7 +438,7 @@
             }
             case UNIQUE:
             {
-                MgdUniqueFunction<INT64>::Execute(values, distValues);
+                MgPortableUniqueFunction<INT64>::Execute(values, distValues);
                 break;
             }
         }
@@ -445,7 +445,7 @@
     }
 }
 
-MgReader* MgdFeatureNumericFunctions::GetReader(VECTOR& distValues)
+MgReader* MgPortableFeatureNumericFunctions::GetReader(VECTOR& distValues)
 {
     Ptr<MgDataReader> dataReader;
 
@@ -453,55 +453,55 @@
     {
         case MgPropertyType::Double:
         {
-            Ptr<MgdDoubleDataReaderCreator> drCreator = new MgdDoubleDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableDoubleDataReaderCreator> drCreator = new MgPortableDoubleDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Byte:
         {
-            Ptr<MgdByteDataReaderCreator> drCreator = new MgdByteDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableByteDataReaderCreator> drCreator = new MgPortableByteDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Int16:
         {
-            Ptr<MgdInt16DataReaderCreator> drCreator = new MgdInt16DataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableInt16DataReaderCreator> drCreator = new MgPortableInt16DataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Int32:
         {
-            Ptr<MgdInt32DataReaderCreator> drCreator = new MgdInt32DataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableInt32DataReaderCreator> drCreator = new MgPortableInt32DataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Int64:
         {
-            Ptr<MgdInt64DataReaderCreator> drCreator = new MgdInt64DataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableInt64DataReaderCreator> drCreator = new MgPortableInt64DataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Single:
         {
-            Ptr<MgdSingleDataReaderCreator> drCreator = new MgdSingleDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableSingleDataReaderCreator> drCreator = new MgPortableSingleDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::DateTime:
         {
-            Ptr<MgdDateTimeDataReaderCreator> drCreator = new MgdDateTimeDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableDateTimeDataReaderCreator> drCreator = new MgPortableDateTimeDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         case MgPropertyType::Boolean:
         {
-            Ptr<MgdBooleanDataReaderCreator> drCreator = new MgdBooleanDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableBooleanDataReaderCreator> drCreator = new MgPortableBooleanDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
         default:
         {
-            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdFeatureNumericFunctions.CheckSupportedPropertyType",
+            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableFeatureNumericFunctions.CheckSupportedPropertyType",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
@@ -508,9 +508,9 @@
     return dataReader.Detach();
 }
 
-//MgDataReader* MgdFeatureNumericFunctions::GetStringReader(std::vector<STRING>& distValues)
+//MgDataReader* MgPortableFeatureNumericFunctions::GetStringReader(std::vector<STRING>& distValues)
 //{
-//    MgdDoubleDataReaderCreator* drCreator = new MgdDoubleDataReaderCreator(m_propertyAlias);
+//    MgPortableDoubleDataReaderCreator* drCreator = new MgPortableDoubleDataReaderCreator(m_propertyAlias);
 //    Ptr<MgDataReader> dataReader = drCreator->Execute(distValues);
 //    delete drCreator;
 //
@@ -518,7 +518,7 @@
 //}
 
 // Calculate Standard Deviation for the values
-void MgdFeatureNumericFunctions::GetStandardDeviationCategories( VECTOR &values, int numCats,
+void MgPortableFeatureNumericFunctions::GetStandardDeviationCategories( VECTOR &values, int numCats,
                                                                 double dataMin, double dataMax,
                                                                 VECTOR &distValues)
 {
@@ -525,11 +525,11 @@
     // Expected categories should be more than zero
     if (numCats <= 0)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureNumericFunctions::GetStandardDeviationCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureNumericFunctions::GetStandardDeviationCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // collect information about the data values
@@ -618,7 +618,7 @@
 
 
 // Calculate Quantile Distribution for the values
-void MgdFeatureNumericFunctions::GetQuantileCategories(  VECTOR &values, int numCats,
+void MgPortableFeatureNumericFunctions::GetQuantileCategories(  VECTOR &values, int numCats,
                                                     double dataMin, double dataMax,
                                                     VECTOR &distValues )
 {
@@ -625,11 +625,11 @@
     // Expected categories should be more than zero
     if (numCats <= 0)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureNumericFunctions::GetQuantileCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureNumericFunctions::GetQuantileCategories", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     int count = (int)values.size();
@@ -687,7 +687,7 @@
 }
 
 
-bool MgdFeatureNumericFunctions::IsInf(double x)
+bool MgPortableFeatureNumericFunctions::IsInf(double x)
 {
     bool isInfinity = false;
 #ifdef _WIN32
@@ -703,7 +703,7 @@
     return isInfinity;
 }
 
-bool MgdFeatureNumericFunctions::IsNan(double x)
+bool MgPortableFeatureNumericFunctions::IsNan(double x)
 {
     bool isNan = false;
 #ifdef _WIN32
@@ -715,7 +715,7 @@
 }
 
 // Calculate Standard Deviation for the values
-void MgdFeatureNumericFunctions::GetStandardDeviation(VECTOR &values, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetStandardDeviation(VECTOR &values, VECTOR &distValues)
 {
     double mean = 0;
 
@@ -767,7 +767,7 @@
 }
 
 // Calculate average
-void MgdFeatureNumericFunctions::GetMeanValue(VECTOR &values, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetMeanValue(VECTOR &values, VECTOR &distValues)
 {
     double mean = 0;
 
@@ -790,14 +790,14 @@
 }
 
 // Calculate average
-void MgdFeatureNumericFunctions::GetUniqueValue(VECTOR &values, VECTOR &distValues)
+void MgPortableFeatureNumericFunctions::GetUniqueValue(VECTOR &values, VECTOR &distValues)
 {
-    MgdUniqueFunction<double>::Execute(values, distValues);
+    MgPortableUniqueFunction<double>::Execute(values, distValues);
 }
 
-void MgdFeatureNumericFunctions::GetUniqueValue(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
+void MgPortableFeatureNumericFunctions::GetUniqueValue(VECTOR_INT64 &values, VECTOR_INT64 &distValues)
 {
-    MgdUniqueFunction<INT64>::Execute(values, distValues);
+    MgPortableUniqueFunction<INT64>::Execute(values, distValues);
 }
 
 //-------------------------------------------------------------------------
@@ -804,7 +804,7 @@
 // Jenks' Optimization Method
 //
 //-------------------------------------------------------------------------
-void MgdFeatureNumericFunctions::GetJenksCategories(  VECTOR &inputData, int numPartsRequested,
+void MgPortableFeatureNumericFunctions::GetJenksCategories(  VECTOR &inputData, int numPartsRequested,
                                                  double dataMin, double dataMax,
                                                  VECTOR &distValues )
 {
@@ -840,8 +840,8 @@
     // Note that the Matrix constructors initialize all values to 0.
     // mat1 contains integer values used for indices into data
     // mat2 contains floating point values of data and bigNum
-    MgdMatrix<int>     mat1(numObservations + 1, numPartsRequested + 1);
-    MgdMatrix<double>  mat2(numObservations + 1, numPartsRequested + 1);
+    MgPortableMatrix<int>     mat1(numObservations + 1, numPartsRequested + 1);
+    MgPortableMatrix<double>  mat2(numObservations + 1, numPartsRequested + 1);
 
 //  const double bigNum = 1e+14; // from original BASIC code;
 //  const double bigNum = std::numeric_limits<double>::max();
@@ -960,7 +960,7 @@
 // and the indices.
 // Return true if adjustments we made;
 // Return false if no changes were made.
-bool MgdFeatureNumericFunctions::FixGroups(const std::vector<double>& data, std::vector<int>& indices)
+bool MgPortableFeatureNumericFunctions::FixGroups(const std::vector<double>& data, std::vector<int>& indices)
 {
     bool changed1 = FixDuplicateIndices(indices);
     bool changed2 = FixIndicesByValue(data, indices);
@@ -970,7 +970,7 @@
 
 
 //-----------------------------------------------------------------------------
-bool MgdFeatureNumericFunctions::FixDuplicateIndices(std::vector<int>& indices)
+bool MgPortableFeatureNumericFunctions::FixDuplicateIndices(std::vector<int>& indices)
 {
     if (indices.size() <= 1)
     {
@@ -1002,7 +1002,7 @@
 //-----------------------------------------------------------------------------
 // Examine the values specified by the indices.  If any of the values
 // are identical, then toss out the higher index.
-bool MgdFeatureNumericFunctions::FixIndicesByValue(const std::vector<double>& data, std::vector<int>& indices)
+bool MgPortableFeatureNumericFunctions::FixIndicesByValue(const std::vector<double>& data, std::vector<int>& indices)
 {
     if (indices.size() <= 1)
     {
@@ -1030,7 +1030,7 @@
     return changed;
 }
 
-bool MgdFeatureNumericFunctions::doubles_equal(double d1, double d2)
+bool MgPortableFeatureNumericFunctions::doubles_equal(double d1, double d2)
 {
     // We are doing our comparisons with a specific precision.
     const double epsilon = 1.0e-12;  // very small

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureNumericFunctions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,16 +21,16 @@
 class MgDisposable;
 class FdoFunction;
 class MgReader;
-class MgdFeatureDistribution;
+class MgPortableFeatureDistribution;
 
-class MgdFeatureNumericFunctions : public MgdFeatureDistribution
+class MgPortableFeatureNumericFunctions : public MgPortableFeatureDistribution
 {
-    DECLARE_CLASSNAME(MgdFeatureNumericFunctions)
+    DECLARE_CLASSNAME(MgPortableFeatureNumericFunctions)
 
 public:
 
-    MgdFeatureNumericFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
-    virtual ~MgdFeatureNumericFunctions();
+    MgPortableFeatureNumericFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
+    virtual ~MgPortableFeatureNumericFunctions();
     virtual MgReader* Execute();
     virtual void Dispose()
     {
@@ -39,7 +39,7 @@
 
 protected:
 
-    MgdFeatureNumericFunctions();
+    MgPortableFeatureNumericFunctions();
 
 private:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSchemaCacheItem.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureSchemaCacheItem.h"
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdFeatureSchemaCacheItem::MgdFeatureSchemaCacheItem()
+MgPortableFeatureSchemaCacheItem::MgPortableFeatureSchemaCacheItem()
 {
 }
 
@@ -30,9 +30,9 @@
 /// \brief
 /// Destruct the object.
 ///
-MgdFeatureSchemaCacheItem::~MgdFeatureSchemaCacheItem()
+MgPortableFeatureSchemaCacheItem::~MgPortableFeatureSchemaCacheItem()
 {
-    for (MgdFeatureClassCacheItems::iterator i = m_featureClassCacheItems.begin();
+    for (MgPortableFeatureClassCacheItems::iterator i = m_featureClassCacheItems.begin();
         i != m_featureClassCacheItems.end(); ++i)
     {
 #ifdef _DEBUG
@@ -40,7 +40,7 @@
 
         if (NULL != i->second && 1 != i->second->GetRefCount())
         {
-            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdFeatureSchemaCacheItem::~MgdFeatureSchemaCacheItem() - Reference Count of '%W': %d\n"),
+            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableFeatureSchemaCacheItem::~MgPortableFeatureSchemaCacheItem() - Reference Count of '%W': %d\n"),
                 i->first.c_str(), i->second->GetRefCount()));
         }
 #endif
@@ -52,17 +52,17 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Return an existing MgdFeatureClassCacheItem or a newly created one
+/// Return an existing MgPortableFeatureClassCacheItem or a newly created one
 /// if it does not exist.
 ///
-MgdFeatureClassCacheItem* MgdFeatureSchemaCacheItem::SetFeatureClassCacheItem(CREFSTRING classKey)
+MgPortableFeatureClassCacheItem* MgPortableFeatureSchemaCacheItem::SetFeatureClassCacheItem(CREFSTRING classKey)
 {
-    Ptr<MgdFeatureClassCacheItem> item = GetFeatureClassCacheItem(classKey);
+    Ptr<MgPortableFeatureClassCacheItem> item = GetFeatureClassCacheItem(classKey);
 
     if (NULL == item.p)
     {
-        item = new MgdFeatureClassCacheItem();
-        m_featureClassCacheItems.insert(MgdFeatureClassCacheItems::value_type(
+        item = new MgPortableFeatureClassCacheItem();
+        m_featureClassCacheItems.insert(MgPortableFeatureClassCacheItems::value_type(
             classKey, SAFE_ADDREF(item.p)));
     }
 
@@ -71,12 +71,12 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Return an existing MgdFeatureClassCacheItem.
+/// Return an existing MgPortableFeatureClassCacheItem.
 ///
-MgdFeatureClassCacheItem* MgdFeatureSchemaCacheItem::GetFeatureClassCacheItem(CREFSTRING classKey)
+MgPortableFeatureClassCacheItem* MgPortableFeatureSchemaCacheItem::GetFeatureClassCacheItem(CREFSTRING classKey)
 {
-    Ptr<MgdFeatureClassCacheItem> item;
-    MgdFeatureClassCacheItems::iterator i =
+    Ptr<MgPortableFeatureClassCacheItem> item;
+    MgPortableFeatureClassCacheItems::iterator i =
         m_featureClassCacheItems.find(classKey);
 
     if (m_featureClassCacheItems.end() != i)
@@ -91,27 +91,27 @@
 /// \brief
 /// Methods to manage cache data.
 ///
-void MgdFeatureSchemaCacheItem::SetClassNames(MgStringCollection* classNames)
+void MgPortableFeatureSchemaCacheItem::SetClassNames(MgStringCollection* classNames)
 {
     m_classNames = SAFE_ADDREF(classNames);
 }
 
-MgStringCollection* MgdFeatureSchemaCacheItem::GetClassNames()
+MgStringCollection* MgPortableFeatureSchemaCacheItem::GetClassNames()
 {
     return SAFE_ADDREF(m_classNames.p);
 }
 
-void MgdFeatureSchemaCacheItem::SetSchemaXml(CREFSTRING classNames, CREFSTRING schemaXml)
+void MgPortableFeatureSchemaCacheItem::SetSchemaXml(CREFSTRING classNames, CREFSTRING schemaXml)
 {
-    Ptr<MgdFeatureClassCacheItem> item = SetFeatureClassCacheItem(classNames);
+    Ptr<MgPortableFeatureClassCacheItem> item = SetFeatureClassCacheItem(classNames);
 
     item->SetSchemaXml(schemaXml);
 }
 
-STRING MgdFeatureSchemaCacheItem::GetSchemaXml(CREFSTRING classNames)
+STRING MgPortableFeatureSchemaCacheItem::GetSchemaXml(CREFSTRING classNames)
 {
     STRING data;
-    Ptr<MgdFeatureClassCacheItem> item = GetFeatureClassCacheItem(classNames);
+    Ptr<MgPortableFeatureClassCacheItem> item = GetFeatureClassCacheItem(classNames);
 
     if (NULL != item.p)
     {
@@ -121,17 +121,17 @@
     return data;
 }
 
-void MgdFeatureSchemaCacheItem::SetSchemas(CREFSTRING classNames, bool serialized, MgFeatureSchemaCollection* schemas)
+void MgPortableFeatureSchemaCacheItem::SetSchemas(CREFSTRING classNames, bool serialized, MgFeatureSchemaCollection* schemas)
 {
-    Ptr<MgdFeatureClassCacheItem> item = SetFeatureClassCacheItem(classNames);
+    Ptr<MgPortableFeatureClassCacheItem> item = SetFeatureClassCacheItem(classNames);
 
     item->SetSchemas(serialized, schemas);
 }
 
-MgFeatureSchemaCollection* MgdFeatureSchemaCacheItem::GetSchemas(CREFSTRING classNames, bool serialized)
+MgFeatureSchemaCollection* MgPortableFeatureSchemaCacheItem::GetSchemas(CREFSTRING classNames, bool serialized)
 {
     Ptr<MgFeatureSchemaCollection> data;
-    Ptr<MgdFeatureClassCacheItem> item = GetFeatureClassCacheItem(classNames);
+    Ptr<MgPortableFeatureClassCacheItem> item = GetFeatureClassCacheItem(classNames);
 
     if (NULL != item.p)
     {
@@ -141,17 +141,17 @@
     return data.Detach();
 }
 
-void MgdFeatureSchemaCacheItem::SetClassDefinition(CREFSTRING className, MgClassDefinition* classDef)
+void MgPortableFeatureSchemaCacheItem::SetClassDefinition(CREFSTRING className, MgClassDefinition* classDef)
 {
-    Ptr<MgdFeatureClassCacheItem> item = SetFeatureClassCacheItem(className);
+    Ptr<MgPortableFeatureClassCacheItem> item = SetFeatureClassCacheItem(className);
 
     item->SetClassDefinition(classDef);
 }
 
-MgClassDefinition* MgdFeatureSchemaCacheItem::GetClassDefinition(CREFSTRING className)
+MgClassDefinition* MgPortableFeatureSchemaCacheItem::GetClassDefinition(CREFSTRING className)
 {
     Ptr<MgClassDefinition> data;
-    Ptr<MgdFeatureClassCacheItem> item = GetFeatureClassCacheItem(className);
+    Ptr<MgPortableFeatureClassCacheItem> item = GetFeatureClassCacheItem(className);
 
     if (NULL != item.p)
     {
@@ -161,17 +161,17 @@
     return data.Detach();
 }
 
-void MgdFeatureSchemaCacheItem::SetClassIdentityProperties(CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
+void MgPortableFeatureSchemaCacheItem::SetClassIdentityProperties(CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
 {
-    Ptr<MgdFeatureClassCacheItem> item = SetFeatureClassCacheItem(className);
+    Ptr<MgPortableFeatureClassCacheItem> item = SetFeatureClassCacheItem(className);
 
     item->SetClassIdentityProperties(idProperties);
 }
 
-MgPropertyDefinitionCollection* MgdFeatureSchemaCacheItem::GetClassIdentityProperties(CREFSTRING className)
+MgPropertyDefinitionCollection* MgPortableFeatureSchemaCacheItem::GetClassIdentityProperties(CREFSTRING className)
 {
     Ptr<MgPropertyDefinitionCollection> data;
-    Ptr<MgdFeatureClassCacheItem> item = GetFeatureClassCacheItem(className);
+    Ptr<MgPortableFeatureClassCacheItem> item = GetFeatureClassCacheItem(className);
 
     if (NULL != item.p)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSchemaCacheItem.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,22 +23,22 @@
 class MgFeatureSchemaCollection;
 class MgClassDefinition;
 class MgPropertyDefinitionCollection;
-class MgdFeatureClassCacheItem;
+class MgPortableFeatureClassCacheItem;
 
-class MgdFeatureSchemaCacheItem : public MgGuardDisposable
+class MgPortableFeatureSchemaCacheItem : public MgGuardDisposable
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdFeatureSchemaCacheItem();
-    virtual ~MgdFeatureSchemaCacheItem();
+    MgPortableFeatureSchemaCacheItem();
+    virtual ~MgPortableFeatureSchemaCacheItem();
 
 private:
 
     // Unimplemented copy constructor and assignment operator.
-    MgdFeatureSchemaCacheItem(const MgdFeatureSchemaCacheItem&);
-    MgdFeatureSchemaCacheItem& operator=(const MgdFeatureSchemaCacheItem&);
+    MgPortableFeatureSchemaCacheItem(const MgPortableFeatureSchemaCacheItem&);
+    MgPortableFeatureSchemaCacheItem& operator=(const MgPortableFeatureSchemaCacheItem&);
 
 /// Methods
 
@@ -61,8 +61,8 @@
 
 protected:
 
-    MgdFeatureClassCacheItem* SetFeatureClassCacheItem(CREFSTRING classKey);
-    MgdFeatureClassCacheItem* GetFeatureClassCacheItem(CREFSTRING classKey);
+    MgPortableFeatureClassCacheItem* SetFeatureClassCacheItem(CREFSTRING classKey);
+    MgPortableFeatureClassCacheItem* GetFeatureClassCacheItem(CREFSTRING classKey);
 
     virtual void Dispose() { delete this; }
 
@@ -72,8 +72,8 @@
 
     Ptr<MgStringCollection> m_classNames;
 
-    typedef std::map<STRING, MgdFeatureClassCacheItem*> MgdFeatureClassCacheItems;
-    MgdFeatureClassCacheItems m_featureClassCacheItems;
+    typedef std::map<STRING, MgPortableFeatureClassCacheItem*> MgPortableFeatureClassCacheItems;
+    MgPortableFeatureClassCacheItems m_featureClassCacheItems;
 };
 
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureServiceCache.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,18 +15,18 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureServiceCache.h"
 
-Ptr<MgdFeatureServiceCache> MgdFeatureServiceCache::smInstance = (MgdFeatureServiceCache*)NULL;
+Ptr<MgPortableFeatureServiceCache> MgPortableFeatureServiceCache::smInstance = (MgPortableFeatureServiceCache*)NULL;
 
-MgdFeatureServiceCache::MgdFeatureServiceCache() { }
+MgPortableFeatureServiceCache::MgPortableFeatureServiceCache() { }
 
-MgdFeatureServiceCache::~MgdFeatureServiceCache()
+MgPortableFeatureServiceCache::~MgPortableFeatureServiceCache()
 {
     MG_TRY()
 
-    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdFeatureServiceCache::~MgdFeatureServiceCache()\n")));
+    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableFeatureServiceCache::~MgPortableFeatureServiceCache()\n")));
 
     Clear();
 
@@ -33,25 +33,25 @@
     MG_CATCH_AND_RELEASE()
 }
 
-MgdFeatureServiceCache* MgdFeatureServiceCache::GetInstance()
+MgPortableFeatureServiceCache* MgPortableFeatureServiceCache::GetInstance()
 {
-    if (NULL == MgdFeatureServiceCache::smInstance)
+    if (NULL == MgPortableFeatureServiceCache::smInstance)
     {
         // Perform Double-Checked Locking Optimization.
         ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance (), 0));
-        if (NULL == MgdFeatureServiceCache::smInstance)
+        if (NULL == MgPortableFeatureServiceCache::smInstance)
         {
-            MgdFeatureServiceCache::smInstance = new MgdFeatureServiceCache();
+            MgPortableFeatureServiceCache::smInstance = new MgPortableFeatureServiceCache();
         }
     }
     return smInstance;
 }
 
-void MgdFeatureServiceCache::Clear()
+void MgPortableFeatureServiceCache::Clear()
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    for (MgdFeatureServiceCacheEntries::iterator i = m_featureServiceCacheEntries.begin();
+    for (MgPortableFeatureServiceCacheEntries::iterator i = m_featureServiceCacheEntries.begin();
         i != m_featureServiceCacheEntries.end(); ++i)
     {
 #ifdef _DEBUG
@@ -59,7 +59,7 @@
 
         if (NULL != i->second && 1 != i->second->GetRefCount())
         {
-            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdFeatureServiceCache::Clear() - Reference Count of '%W': %d\n"),
+            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableFeatureServiceCache::Clear() - Reference Count of '%W': %d\n"),
                 i->first.c_str(), i->second->GetRefCount()));
         }
 #endif
@@ -69,11 +69,11 @@
     m_featureServiceCacheEntries.clear();
 }
 
-void MgdFeatureServiceCache::RemoveEntry(CREFSTRING resource)
+void MgPortableFeatureServiceCache::RemoveEntry(CREFSTRING resource)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    MgdFeatureServiceCacheEntries::iterator i =
+    MgPortableFeatureServiceCacheEntries::iterator i =
         m_featureServiceCacheEntries.find(resource);
 
     if (m_featureServiceCacheEntries.end() != i)
@@ -83,7 +83,7 @@
     }
 }
 
-void MgdFeatureServiceCache::RemoveEntry(MgResourceIdentifier* resource)
+void MgPortableFeatureServiceCache::RemoveEntry(MgResourceIdentifier* resource)
 {
     if (NULL != resource)
     {
@@ -91,11 +91,11 @@
     }
 }
 
-MgdFeatureServiceCacheEntry* MgdFeatureServiceCache::SetEntry(MgResourceIdentifier* resource)
+MgPortableFeatureServiceCacheEntry* MgPortableFeatureServiceCache::SetEntry(MgResourceIdentifier* resource)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry;
+    Ptr<MgPortableFeatureServiceCacheEntry> entry;
 
     entry = GetEntry(resource);
     if (NULL == entry.p)
@@ -102,8 +102,8 @@
     {
         //Compact();
 
-        entry = new MgdFeatureServiceCacheEntry();
-        m_featureServiceCacheEntries.insert(MgdFeatureServiceCacheEntries::value_type(
+        entry = new MgPortableFeatureServiceCacheEntry();
+        m_featureServiceCacheEntries.insert(MgPortableFeatureServiceCacheEntries::value_type(
             resource->ToString(), SAFE_ADDREF(entry.p)));
     }
 
@@ -110,12 +110,12 @@
     return entry.Detach();
 }
 
-MgdFeatureServiceCacheEntry* MgdFeatureServiceCache::GetEntry(MgResourceIdentifier* resource)
+MgPortableFeatureServiceCacheEntry* MgPortableFeatureServiceCache::GetEntry(MgResourceIdentifier* resource)
 {
     if (NULL == resource)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdFeatureServiceCache::GetEntry",
+            L"MgPortableFeatureServiceCache::GetEntry",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -124,14 +124,14 @@
     if (!resource->IsResourceTypeOf(MgResourceType::FeatureSource))
     {
         throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, 
-            L"MgdFeatureServiceCache::GetEntry",
+            L"MgPortableFeatureServiceCache::GetEntry",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry;
-    MgdFeatureServiceCacheEntries::iterator i =
+    Ptr<MgPortableFeatureServiceCacheEntry> entry;
+    MgPortableFeatureServiceCacheEntries::iterator i =
         m_featureServiceCacheEntries.find(resource->ToString());
 
     if (m_featureServiceCacheEntries.end() != i)
@@ -143,21 +143,21 @@
     return entry.Detach();
 }
 
-void MgdFeatureServiceCache::SetFeatureSource(MgResourceIdentifier* resource, MgdFeatureSourceCacheItem* featureSource)
+void MgPortableFeatureServiceCache::SetFeatureSource(MgResourceIdentifier* resource, MgPortableFeatureSourceCacheItem* featureSource)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetFeatureSource(featureSource);
 }
 
-MgdFeatureSourceCacheItem* MgdFeatureServiceCache::GetFeatureSourceInternal(MgResourceIdentifier* resource)
+MgPortableFeatureSourceCacheItem* MgPortableFeatureServiceCache::GetFeatureSourceInternal(MgResourceIdentifier* resource)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
-    Ptr<MgdFeatureSourceCacheItem> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureSourceCacheItem> data;
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -166,21 +166,21 @@
 
     return data.Detach();
 }
-void MgdFeatureServiceCache::SetSpatialContextInfo(MgResourceIdentifier* resource, MgdSpatialContextCacheItem* spatialContextInfo)
+void MgPortableFeatureServiceCache::SetSpatialContextInfo(MgResourceIdentifier* resource, MgPortableSpatialContextCacheItem* spatialContextInfo)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetSpatialContextInfo(spatialContextInfo);
 }
 
-MgdSpatialContextCacheItem* MgdFeatureServiceCache::GetSpatialContextInfoInternal(MgResourceIdentifier* resource)
+MgPortableSpatialContextCacheItem* MgPortableFeatureServiceCache::GetSpatialContextInfoInternal(MgResourceIdentifier* resource)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
-    Ptr<MgdSpatialContextCacheItem> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableSpatialContextCacheItem> data;
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -190,21 +190,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetSpatialContextReader(MgResourceIdentifier* resource, MgSpatialContextReader* spatialContextReader)
+void MgPortableFeatureServiceCache::SetSpatialContextReader(MgResourceIdentifier* resource, MgSpatialContextReader* spatialContextReader)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetSpatialContextReader(spatialContextReader);
 }
 
-MgSpatialContextReader* MgdFeatureServiceCache::GetSpatialContextReader(MgResourceIdentifier* resource)
+MgSpatialContextReader* MgPortableFeatureServiceCache::GetSpatialContextReader(MgResourceIdentifier* resource)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgSpatialContextReader> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -226,21 +226,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetSchemaNames(MgResourceIdentifier* resource, MgStringCollection* schemaNames)
+void MgPortableFeatureServiceCache::SetSchemaNames(MgResourceIdentifier* resource, MgStringCollection* schemaNames)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetSchemaNames(schemaNames);
 }
 
-MgStringCollection* MgdFeatureServiceCache::GetSchemaNames(MgResourceIdentifier* resource)
+MgStringCollection* MgPortableFeatureServiceCache::GetSchemaNames(MgResourceIdentifier* resource)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgStringCollection> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -250,21 +250,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetClassNames(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames)
+void MgPortableFeatureServiceCache::SetClassNames(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetClassNames(schemaName, classNames);
 }
 
-MgStringCollection* MgdFeatureServiceCache::GetClassNames(MgResourceIdentifier* resource, CREFSTRING schemaName)
+MgStringCollection* MgPortableFeatureServiceCache::GetClassNames(MgResourceIdentifier* resource, CREFSTRING schemaName)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgStringCollection> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -274,21 +274,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetSchemaXml(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, CREFSTRING schemaXml)
+void MgPortableFeatureServiceCache::SetSchemaXml(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, CREFSTRING schemaXml)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetSchemaXml(schemaName, classNames, schemaXml);
 }
 
-STRING MgdFeatureServiceCache::GetSchemaXml(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames)
+STRING MgPortableFeatureServiceCache::GetSchemaXml(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, L""));
 
     STRING data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -298,21 +298,21 @@
     return data;
 }
 
-void MgdFeatureServiceCache::SetSchemas(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, bool serialized, MgFeatureSchemaCollection* schemas)
+void MgPortableFeatureServiceCache::SetSchemas(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, bool serialized, MgFeatureSchemaCollection* schemas)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetSchemas(schemaName, classNames, serialized, schemas);
 }
 
-MgFeatureSchemaCollection* MgdFeatureServiceCache::GetSchemas(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, bool serialized)
+MgFeatureSchemaCollection* MgPortableFeatureServiceCache::GetSchemas(MgResourceIdentifier* resource, CREFSTRING schemaName, MgStringCollection* classNames, bool serialized)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgFeatureSchemaCollection> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -322,21 +322,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetClassDefinition(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className, MgClassDefinition* classDef)
+void MgPortableFeatureServiceCache::SetClassDefinition(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className, MgClassDefinition* classDef)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetClassDefinition(schemaName, className, classDef);
 }
 
-MgClassDefinition* MgdFeatureServiceCache::GetClassDefinition(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className)
+MgClassDefinition* MgPortableFeatureServiceCache::GetClassDefinition(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgClassDefinition> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -346,21 +346,21 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCache::SetClassIdentityProperties(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
+void MgPortableFeatureServiceCache::SetClassIdentityProperties(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
-    Ptr<MgdFeatureServiceCacheEntry> entry = SetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = SetEntry(resource);
 
     entry->SetClassIdentityProperties(schemaName, className, idProperties);
 }
 
-MgPropertyDefinitionCollection* MgdFeatureServiceCache::GetClassIdentityProperties(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className)
+MgPropertyDefinitionCollection* MgPortableFeatureServiceCache::GetClassIdentityProperties(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className)
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
     Ptr<MgPropertyDefinitionCollection> data;
-    Ptr<MgdFeatureServiceCacheEntry> entry = GetEntry(resource);
+    Ptr<MgPortableFeatureServiceCacheEntry> entry = GetEntry(resource);
 
     if (NULL != entry.p)
     {
@@ -370,9 +370,9 @@
     return data.Detach();
 }
 
-MgdFeatureSourceCacheItem* MgdFeatureServiceCache::GetFeatureSource(MgResourceIdentifier* resource)
+MgPortableFeatureSourceCacheItem* MgPortableFeatureServiceCache::GetFeatureSource(MgResourceIdentifier* resource)
 {
-    Ptr<MgdFeatureSourceCacheItem> cacheItem;
+    Ptr<MgPortableFeatureSourceCacheItem> cacheItem;
 
     MG_TRY()
 
@@ -381,7 +381,7 @@
     if (NULL == cacheItem.p)
     {
         // Get the Resource Service.
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> resourceService = static_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         // Retrieve the XML document from the repository.
         string xmlContent;
@@ -426,7 +426,7 @@
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
-        cacheItem = new MgdFeatureSourceCacheItem(featureSource.release());
+        cacheItem = new MgPortableFeatureSourceCacheItem(featureSource.release());
         GetInstance()->SetFeatureSource(resource, cacheItem.p);
     }
     else
@@ -439,9 +439,9 @@
     return cacheItem.Detach();
 }
 
-MgdSpatialContextCacheItem* MgdFeatureServiceCache::GetSpatialContextInfo(MgResourceIdentifier* resource)
+MgPortableSpatialContextCacheItem* MgPortableFeatureServiceCache::GetSpatialContextInfo(MgResourceIdentifier* resource)
 {
-    Ptr<MgdSpatialContextCacheItem> cacheItem;
+    Ptr<MgPortableSpatialContextCacheItem> cacheItem;
 
     MG_TRY()
 
@@ -449,7 +449,7 @@
 
     if (NULL == cacheItem.p)
     {
-        Ptr<MgdFeatureSourceCacheItem> featureSourceCacheItem = GetFeatureSource(resource);
+        Ptr<MgPortableFeatureSourceCacheItem> featureSourceCacheItem = GetFeatureSource(resource);
         MdfModel::FeatureSource* featureSource = featureSourceCacheItem->Get();
         CHECKNULL(featureSource, L"MgCacheManager.GetSpatialContextCacheItem");
 
@@ -478,7 +478,7 @@
             spatialContextInfo->insert(MgSpatialContextInfo::value_type(name, coordinateSystem));
         }
 
-        cacheItem = new MgdSpatialContextCacheItem(spatialContextInfo.release());
+        cacheItem = new MgPortableSpatialContextCacheItem(spatialContextInfo.release());
         GetInstance()->SetSpatialContextInfo(resource, cacheItem.p);
     }
     else

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureServiceCache.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCache.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,19 +18,19 @@
 #ifndef DESKTOP_FEATURE_SERVICE_CACHE_H
 #define DESKTOP_FEATURE_SERVICE_CACHE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureServiceCacheEntry.h"
 #include "SpatialContextCacheItem.h"
 
-class MgdFeatureServiceCache : public MgGuardDisposable
+class MgPortableFeatureServiceCache : public MgGuardDisposable
 {
 private:
-    static Ptr<MgdFeatureServiceCache> smInstance;
-    MgdFeatureServiceCache();
+    static Ptr<MgPortableFeatureServiceCache> smInstance;
+    MgPortableFeatureServiceCache();
 
 public:
-    static MgdFeatureServiceCache* GetInstance();
-    virtual ~MgdFeatureServiceCache();
+    static MgPortableFeatureServiceCache* GetInstance();
+    virtual ~MgPortableFeatureServiceCache();
 
 public:
     void Clear();
@@ -38,12 +38,12 @@
     void RemoveEntry(CREFSTRING resource);
     void RemoveEntry(MgResourceIdentifier* resource);
 
-    MgdFeatureSourceCacheItem* GetFeatureSource(MgResourceIdentifier* resource);
-    MgdSpatialContextCacheItem* GetSpatialContextInfo(MgResourceIdentifier* resource);
+    MgPortableFeatureSourceCacheItem* GetFeatureSource(MgResourceIdentifier* resource);
+    MgPortableSpatialContextCacheItem* GetSpatialContextInfo(MgResourceIdentifier* resource);
 
-    void SetFeatureSource(MgResourceIdentifier* resource, MgdFeatureSourceCacheItem* featureSource);
+    void SetFeatureSource(MgResourceIdentifier* resource, MgPortableFeatureSourceCacheItem* featureSource);
     
-    void SetSpatialContextInfo(MgResourceIdentifier* resource, MgdSpatialContextCacheItem* spatialContextInfo);
+    void SetSpatialContextInfo(MgResourceIdentifier* resource, MgPortableSpatialContextCacheItem* spatialContextInfo);
     
     void SetSpatialContextReader(MgResourceIdentifier* resource, MgSpatialContextReader* spatialContextReader);
     MgSpatialContextReader* GetSpatialContextReader(MgResourceIdentifier* resource);
@@ -67,11 +67,11 @@
     MgPropertyDefinitionCollection* GetClassIdentityProperties(MgResourceIdentifier* resource, CREFSTRING schemaName, CREFSTRING className);
 
 protected:
-    MgdFeatureSourceCacheItem* GetFeatureSourceInternal(MgResourceIdentifier* resource);
-    MgdSpatialContextCacheItem* GetSpatialContextInfoInternal(MgResourceIdentifier* resource);
+    MgPortableFeatureSourceCacheItem* GetFeatureSourceInternal(MgResourceIdentifier* resource);
+    MgPortableSpatialContextCacheItem* GetSpatialContextInfoInternal(MgResourceIdentifier* resource);
 
-    MgdFeatureServiceCacheEntry* SetEntry(MgResourceIdentifier* resource);
-    MgdFeatureServiceCacheEntry* GetEntry(MgResourceIdentifier* resource);
+    MgPortableFeatureServiceCacheEntry* SetEntry(MgResourceIdentifier* resource);
+    MgPortableFeatureServiceCacheEntry* GetEntry(MgResourceIdentifier* resource);
 
     virtual void Dispose() { delete this; }
 
@@ -79,8 +79,8 @@
     /// Needed for thread-safety
     ACE_Recursive_Thread_Mutex m_mutex;
 
-    typedef std::map<STRING, MgdFeatureServiceCacheEntry*> MgdFeatureServiceCacheEntries;
-    MgdFeatureServiceCacheEntries m_featureServiceCacheEntries;
+    typedef std::map<STRING, MgPortableFeatureServiceCacheEntry*> MgPortableFeatureServiceCacheEntries;
+    MgPortableFeatureServiceCacheEntries m_featureServiceCacheEntries;
 };
 
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureServiceCacheEntry.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureServiceCacheEntry.h"
 
 
@@ -23,7 +23,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdFeatureServiceCacheEntry::MgdFeatureServiceCacheEntry() :
+MgPortableFeatureServiceCacheEntry::MgPortableFeatureServiceCacheEntry() :
     m_classNameHintUsed(true)
 {
 }
@@ -32,9 +32,9 @@
 /// \brief
 /// Destruct the object.
 ///
-MgdFeatureServiceCacheEntry::~MgdFeatureServiceCacheEntry()
+MgPortableFeatureServiceCacheEntry::~MgPortableFeatureServiceCacheEntry()
 {
-    for (MgdFeatureSchemaCacheItems::iterator i = m_featureSchemaCacheItems.begin();
+    for (MgPortableFeatureSchemaCacheItems::iterator i = m_featureSchemaCacheItems.begin();
         i != m_featureSchemaCacheItems.end(); ++i)
     {
 #ifdef _DEBUG
@@ -42,7 +42,7 @@
 
         if (NULL != i->second && 1 != i->second->GetRefCount())
         {
-            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdFeatureServiceCacheEntry::~MgdFeatureServiceCacheEntry() - Reference Count of '%W': %d\n"),
+            ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableFeatureServiceCacheEntry::~MgPortableFeatureServiceCacheEntry() - Reference Count of '%W': %d\n"),
                 i->first.c_str(), i->second->GetRefCount()));
         }
 #endif
@@ -54,17 +54,17 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Return an existing MgdFeatureSchemaCacheItem or a newly created one
+/// Return an existing MgPortableFeatureSchemaCacheItem or a newly created one
 /// if it does not exist.
 ///
-MgdFeatureSchemaCacheItem* MgdFeatureServiceCacheEntry::SetFeatureSchemaCacheItem(CREFSTRING schemaName)
+MgPortableFeatureSchemaCacheItem* MgPortableFeatureServiceCacheEntry::SetFeatureSchemaCacheItem(CREFSTRING schemaName)
 {
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaName);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaName);
 
     if (NULL == item.p)
     {
-        item = new MgdFeatureSchemaCacheItem();
-        m_featureSchemaCacheItems.insert(MgdFeatureSchemaCacheItems::value_type(
+        item = new MgPortableFeatureSchemaCacheItem();
+        m_featureSchemaCacheItems.insert(MgPortableFeatureSchemaCacheItems::value_type(
             schemaName, SAFE_ADDREF(item.p)));
     }
 
@@ -73,12 +73,12 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Return an existing MgdFeatureSchemaCacheItem.
+/// Return an existing MgPortableFeatureSchemaCacheItem.
 ///
-MgdFeatureSchemaCacheItem* MgdFeatureServiceCacheEntry::GetFeatureSchemaCacheItem(CREFSTRING schemaName)
+MgPortableFeatureSchemaCacheItem* MgPortableFeatureServiceCacheEntry::GetFeatureSchemaCacheItem(CREFSTRING schemaName)
 {
-    Ptr<MgdFeatureSchemaCacheItem> item;
-    MgdFeatureSchemaCacheItems::iterator i =
+    Ptr<MgPortableFeatureSchemaCacheItem> item;
+    MgPortableFeatureSchemaCacheItems::iterator i =
         m_featureSchemaCacheItems.find(schemaName);
 
     if (m_featureSchemaCacheItems.end() != i)
@@ -93,7 +93,7 @@
 /// \brief
 /// Parse the specified qualified class name.
 ///
-void MgdFeatureServiceCacheEntry::ParseQualifiedClassName(
+void MgPortableFeatureServiceCacheEntry::ParseQualifiedClassName(
     CREFSTRING schemaName, CREFSTRING className,
     REFSTRING parsedSchemaName, REFSTRING parsedClassName)
 {
@@ -108,7 +108,7 @@
         MgStringCollection whyArguments;
         whyArguments.Add(className);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureServiceCacheEntry.ParseQualifiedClassName",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureServiceCacheEntry.ParseQualifiedClassName",
             __LINE__, __WFILE__, &whatArguments, L"MgSchemaNameMismatch", &whyArguments);
     }
 }
@@ -129,7 +129,7 @@
 /// Note that if no class name is specified or the class name hint is not used,
 /// then the class key will be blank.
 ///
-void MgdFeatureServiceCacheEntry::FormatKeys(bool classNameHintUsed,
+void MgPortableFeatureServiceCacheEntry::FormatKeys(bool classNameHintUsed,
     CREFSTRING schemaName, CREFSTRING className,
     REFSTRING schemaKey, REFSTRING classKey)
 {
@@ -169,7 +169,7 @@
     }
 }
 
-INT32 MgdFeatureServiceCacheEntry::FormatKeys(bool classNameHintUsed,
+INT32 MgPortableFeatureServiceCacheEntry::FormatKeys(bool classNameHintUsed,
     CREFSTRING schemaName, MgStringCollection* classNames,
     REFSTRING schemaKey, REFSTRING classKey)
 {
@@ -261,7 +261,7 @@
 /// \brief
 /// Find a schema based on name.
 ///
-MgFeatureSchemaCollection* MgdFeatureServiceCacheEntry::FindSchema(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName)
+MgFeatureSchemaCollection* MgPortableFeatureServiceCacheEntry::FindSchema(MgFeatureSchemaCollection* schemas, CREFSTRING schemaName)
 {
     Ptr<MgFeatureSchemaCollection> data;
 
@@ -291,7 +291,7 @@
 /// \brief
 /// Find a schema in a superset data.
 ///
-MgFeatureSchemaCollection* MgdFeatureServiceCacheEntry::FindSchema(CREFSTRING schemaKey, CREFSTRING classKey, bool serialized, INT32 classCount)
+MgFeatureSchemaCollection* MgPortableFeatureServiceCacheEntry::FindSchema(CREFSTRING schemaKey, CREFSTRING classKey, bool serialized, INT32 classCount)
 {
     Ptr<MgFeatureSchemaCollection> data;
 
@@ -299,7 +299,7 @@
     if (!schemaKey.empty())
     {
         // Get the superset item.
-        Ptr<MgdFeatureSchemaCacheItem> supersetItem = GetFeatureSchemaCacheItem(L"");
+        Ptr<MgPortableFeatureSchemaCacheItem> supersetItem = GetFeatureSchemaCacheItem(L"");
 
         if (NULL != supersetItem.p)
         {
@@ -337,7 +337,7 @@
 /// \brief
 /// Determine if the specified schemas only contain the specified class.
 ///
-bool MgdFeatureServiceCacheEntry::FindClass(MgFeatureSchemaCollection* schemas, CREFSTRING className)
+bool MgPortableFeatureServiceCacheEntry::FindClass(MgFeatureSchemaCollection* schemas, CREFSTRING className)
 {
     bool found = false;
 
@@ -377,57 +377,57 @@
 /// \brief
 /// Methods to manage cache items.
 ///
-void MgdFeatureServiceCacheEntry::SetFeatureSource(MgdFeatureSourceCacheItem* featureSource)
+void MgPortableFeatureServiceCacheEntry::SetFeatureSource(MgPortableFeatureSourceCacheItem* featureSource)
 {
     m_featureSource = SAFE_ADDREF(featureSource);
 }
 
-MgdFeatureSourceCacheItem* MgdFeatureServiceCacheEntry::GetFeatureSource()
+MgPortableFeatureSourceCacheItem* MgPortableFeatureServiceCacheEntry::GetFeatureSource()
 {
     return SAFE_ADDREF(m_featureSource.p);
 }
 
-void MgdFeatureServiceCacheEntry::SetSpatialContextInfo(MgdSpatialContextCacheItem* spatialContextInfo)
+void MgPortableFeatureServiceCacheEntry::SetSpatialContextInfo(MgPortableSpatialContextCacheItem* spatialContextInfo)
 {
     m_spatialContextInfo = SAFE_ADDREF(spatialContextInfo);
 }
 
-MgdSpatialContextCacheItem* MgdFeatureServiceCacheEntry::GetSpatialContextInfo()
+MgPortableSpatialContextCacheItem* MgPortableFeatureServiceCacheEntry::GetSpatialContextInfo()
 {
     return SAFE_ADDREF(m_spatialContextInfo.p);
 }
 
-void MgdFeatureServiceCacheEntry::SetSpatialContextReader(MgSpatialContextReader* spatialContextReader)
+void MgPortableFeatureServiceCacheEntry::SetSpatialContextReader(MgSpatialContextReader* spatialContextReader)
 {
     m_spatialContextReader = SAFE_ADDREF(spatialContextReader);
 }
 
-MgSpatialContextReader* MgdFeatureServiceCacheEntry::GetSpatialContextReader()
+MgSpatialContextReader* MgPortableFeatureServiceCacheEntry::GetSpatialContextReader()
 {
     return SAFE_ADDREF(m_spatialContextReader.p);
 }
 
-void MgdFeatureServiceCacheEntry::SetSchemaNames(MgStringCollection* schemaNames)
+void MgPortableFeatureServiceCacheEntry::SetSchemaNames(MgStringCollection* schemaNames)
 {
     m_schemaNames = SAFE_ADDREF(schemaNames);
 }
 
-MgStringCollection* MgdFeatureServiceCacheEntry::GetSchemaNames()
+MgStringCollection* MgPortableFeatureServiceCacheEntry::GetSchemaNames()
 {
     return SAFE_ADDREF(m_schemaNames.p);
 }
 
-void MgdFeatureServiceCacheEntry::SetClassNames(CREFSTRING schemaName, MgStringCollection* classNames)
+void MgPortableFeatureServiceCacheEntry::SetClassNames(CREFSTRING schemaName, MgStringCollection* classNames)
 {
-    Ptr<MgdFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaName);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaName);
 
     item->SetClassNames(classNames);
 }
 
-MgStringCollection* MgdFeatureServiceCacheEntry::GetClassNames(CREFSTRING schemaName)
+MgStringCollection* MgPortableFeatureServiceCacheEntry::GetClassNames(CREFSTRING schemaName)
 {
     Ptr<MgStringCollection> data;
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaName);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaName);
 
     if (NULL != item.p)
     {
@@ -437,23 +437,23 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCacheEntry::SetSchemaXml(CREFSTRING schemaName, MgStringCollection* classNames, CREFSTRING schemaXml)
+void MgPortableFeatureServiceCacheEntry::SetSchemaXml(CREFSTRING schemaName, MgStringCollection* classNames, CREFSTRING schemaXml)
 {
     STRING schemaKey, classKey;
     FormatKeys(m_classNameHintUsed, schemaName, classNames, schemaKey, classKey);
 
-    Ptr<MgdFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
 
     item->SetSchemaXml(classKey, schemaXml);
 }
 
-STRING MgdFeatureServiceCacheEntry::GetSchemaXml(CREFSTRING schemaName, MgStringCollection* classNames)
+STRING MgPortableFeatureServiceCacheEntry::GetSchemaXml(CREFSTRING schemaName, MgStringCollection* classNames)
 {
     STRING schemaKey, classKey;
     FormatKeys(m_classNameHintUsed, schemaName, classNames, schemaKey, classKey);
 
     STRING data;
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
 
     if (NULL != item.p)
     {
@@ -463,23 +463,23 @@
     return data;
 }
 
-void MgdFeatureServiceCacheEntry::SetSchemas(CREFSTRING schemaName, MgStringCollection* classNames, bool serialized, MgFeatureSchemaCollection* schemas)
+void MgPortableFeatureServiceCacheEntry::SetSchemas(CREFSTRING schemaName, MgStringCollection* classNames, bool serialized, MgFeatureSchemaCollection* schemas)
 {
     STRING schemaKey, classKey;
     FormatKeys(m_classNameHintUsed, schemaName, classNames, schemaKey, classKey);
 
-    Ptr<MgdFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
 
     item->SetSchemas(classKey, serialized, schemas);
 }
 
-MgFeatureSchemaCollection* MgdFeatureServiceCacheEntry::GetSchemas(CREFSTRING schemaName, MgStringCollection* classNames, bool serialized)
+MgFeatureSchemaCollection* MgPortableFeatureServiceCacheEntry::GetSchemas(CREFSTRING schemaName, MgStringCollection* classNames, bool serialized)
 {
     STRING schemaKey, classKey;
     INT32 classCount = FormatKeys(m_classNameHintUsed, schemaName, classNames, schemaKey, classKey);
 
     Ptr<MgFeatureSchemaCollection> data;
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
 
     // Get the data from the current item.
     if (NULL != item.p)
@@ -528,18 +528,18 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCacheEntry::SetClassDefinition(CREFSTRING schemaName, CREFSTRING className, MgClassDefinition* classDef)
+void MgPortableFeatureServiceCacheEntry::SetClassDefinition(CREFSTRING schemaName, CREFSTRING className, MgClassDefinition* classDef)
 {
     STRING schemaKey, classKey;
     // Since this method requires a specific class name, the hint must be explicitly used.
     FormatKeys(true, schemaName, className, schemaKey, classKey);
 
-    Ptr<MgdFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
 
     item->SetClassDefinition(classKey, classDef);
 }
 
-MgClassDefinition* MgdFeatureServiceCacheEntry::GetClassDefinition(CREFSTRING schemaName, CREFSTRING className)
+MgClassDefinition* MgPortableFeatureServiceCacheEntry::GetClassDefinition(CREFSTRING schemaName, CREFSTRING className)
 {
     STRING schemaKey, classKey;
     // Since this method requires a specific class name, the hint must be explicitly used.
@@ -546,7 +546,7 @@
     FormatKeys(true, schemaName, className, schemaKey, classKey);
 
     Ptr<MgClassDefinition> data;
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
 
     if (NULL != item.p)
     {
@@ -556,18 +556,18 @@
     return data.Detach();
 }
 
-void MgdFeatureServiceCacheEntry::SetClassIdentityProperties(CREFSTRING schemaName, CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
+void MgPortableFeatureServiceCacheEntry::SetClassIdentityProperties(CREFSTRING schemaName, CREFSTRING className, MgPropertyDefinitionCollection* idProperties)
 {
     STRING schemaKey, classKey;
     // Since this method requires a specific class name, the hint must be explicitly used.
     FormatKeys(true, schemaName, className, schemaKey, classKey);
 
-    Ptr<MgdFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = SetFeatureSchemaCacheItem(schemaKey);
 
     item->SetClassIdentityProperties(classKey, idProperties);
 }
 
-MgPropertyDefinitionCollection* MgdFeatureServiceCacheEntry::GetClassIdentityProperties(CREFSTRING schemaName, CREFSTRING className)
+MgPropertyDefinitionCollection* MgPortableFeatureServiceCacheEntry::GetClassIdentityProperties(CREFSTRING schemaName, CREFSTRING className)
 {
     STRING schemaKey, classKey;
     // Since this method requires a specific class name, the hint must be explicitly used.
@@ -574,7 +574,7 @@
     FormatKeys(true, schemaName, className, schemaKey, classKey);
 
     Ptr<MgPropertyDefinitionCollection> data;
-    Ptr<MgdFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
+    Ptr<MgPortableFeatureSchemaCacheItem> item = GetFeatureSchemaCacheItem(schemaKey);
 
     if (NULL != item.p)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureServiceCacheEntry.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,31 +22,31 @@
 #include "FeatureSourceCacheItem.h"
 #include "SpatialContextCacheItem.h"
 
-class MgdFeatureServiceCacheEntry : public MgGuardDisposable
+class MgPortableFeatureServiceCacheEntry : public MgGuardDisposable
 {
 public:
-    MgdFeatureServiceCacheEntry();
-    virtual ~MgdFeatureServiceCacheEntry();
+    MgPortableFeatureServiceCacheEntry();
+    virtual ~MgPortableFeatureServiceCacheEntry();
 
 private:
 
     // Unimplemented copy constructor and assignment operator.
-    MgdFeatureServiceCacheEntry(const MgdFeatureServiceCacheEntry&);
-    MgdFeatureServiceCacheEntry& operator=(const MgdFeatureServiceCacheEntry&);
+    MgPortableFeatureServiceCacheEntry(const MgPortableFeatureServiceCacheEntry&);
+    MgPortableFeatureServiceCacheEntry& operator=(const MgPortableFeatureServiceCacheEntry&);
 
 protected:
-    MgdFeatureServiceCacheEntry* SetEntry(MgResourceIdentifier* resource);
-    MgdFeatureServiceCacheEntry* GetEntry(MgResourceIdentifier* resource);
+    MgPortableFeatureServiceCacheEntry* SetEntry(MgResourceIdentifier* resource);
+    MgPortableFeatureServiceCacheEntry* GetEntry(MgResourceIdentifier* resource);
 
 /// Methods
 
 public:
 
-    void SetFeatureSource(MgdFeatureSourceCacheItem* featureSource);
-    MgdFeatureSourceCacheItem* GetFeatureSource();
+    void SetFeatureSource(MgPortableFeatureSourceCacheItem* featureSource);
+    MgPortableFeatureSourceCacheItem* GetFeatureSource();
 
-    void SetSpatialContextInfo(MgdSpatialContextCacheItem* spatialContextInfo);
-    MgdSpatialContextCacheItem* GetSpatialContextInfo();
+    void SetSpatialContextInfo(MgPortableSpatialContextCacheItem* spatialContextInfo);
+    MgPortableSpatialContextCacheItem* GetSpatialContextInfo();
 
     void SetSpatialContextReader(MgSpatialContextReader* spatialContextReader);
     MgSpatialContextReader* GetSpatialContextReader();
@@ -71,8 +71,8 @@
 
 protected:
 
-    MgdFeatureSchemaCacheItem* SetFeatureSchemaCacheItem(CREFSTRING schemaName);
-    MgdFeatureSchemaCacheItem* GetFeatureSchemaCacheItem(CREFSTRING schemaName);
+    MgPortableFeatureSchemaCacheItem* SetFeatureSchemaCacheItem(CREFSTRING schemaName);
+    MgPortableFeatureSchemaCacheItem* GetFeatureSchemaCacheItem(CREFSTRING schemaName);
 
     void ParseQualifiedClassName(CREFSTRING schemaName, CREFSTRING className,
         REFSTRING parsedSchemaName, REFSTRING parsedClassName);
@@ -98,15 +98,15 @@
 
     bool m_classNameHintUsed;
 
-    Ptr<MgdFeatureSourceCacheItem> m_featureSource;
-    Ptr<MgdSpatialContextCacheItem> m_spatialContextInfo;
+    Ptr<MgPortableFeatureSourceCacheItem> m_featureSource;
+    Ptr<MgPortableSpatialContextCacheItem> m_spatialContextInfo;
 
     Ptr<MgSpatialContextReader> m_spatialContextReader;
 
     Ptr<MgStringCollection> m_schemaNames;
 
-    typedef std::map<STRING, MgdFeatureSchemaCacheItem*> MgdFeatureSchemaCacheItems;
-    MgdFeatureSchemaCacheItems m_featureSchemaCacheItems;
+    typedef std::map<STRING, MgPortableFeatureSchemaCacheItem*> MgPortableFeatureSchemaCacheItems;
+    MgPortableFeatureSchemaCacheItems m_featureSchemaCacheItems;
 };
 
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSetReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureSetReader.h"
 
 #define CHECK_FEATURESET_COUNT(pointer, methodname)        \
@@ -34,11 +34,11 @@
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Construct a MgdFeatureSetReader object from a byte source
+/// Construct a MgPortableFeatureSetReader object from a byte source
 ///</summary>
 ///<param name="byteSource">Byte  source object</param>
 ///
-MgdFeatureSetReader::MgdFeatureSetReader(MgFeatureSet* featureSet)
+MgPortableFeatureSetReader::MgPortableFeatureSetReader(MgFeatureSet* featureSet)
 {
     m_currRecord = 0;
     m_set = SAFE_ADDREF(featureSet);
@@ -46,10 +46,10 @@
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Destruct a MgdFeatureSetReader object
+/// Destruct a MgPortableFeatureSetReader object
 ///</summary>
 ///
-MgdFeatureSetReader::~MgdFeatureSetReader()
+MgPortableFeatureSetReader::~MgPortableFeatureSetReader()
 {
     Close();
 }
@@ -60,7 +60,7 @@
 ///</summary>
 ///<param name="byteSource">Byte source object</param>
 ///
-void MgdFeatureSetReader::AssignFeatureSet(MgFeatureSet* featureSet)
+void MgPortableFeatureSetReader::AssignFeatureSet(MgFeatureSet* featureSet)
 {
     m_currRecord = 0;
     m_set = SAFE_ADDREF(featureSet);
@@ -76,9 +76,9 @@
 /// <returns>
 /// Returns true if there is a next item.
 /// </returns>
-bool MgdFeatureSetReader::ReadNext()
+bool MgPortableFeatureSetReader::ReadNext()
 {
-    CHECKNULL(m_set, L"MgdFeatureSetReader.ReadNext");
+    CHECKNULL(m_set, L"MgPortableFeatureSetReader.ReadNext");
 
     bool foundNextFeature = false;
 
@@ -102,14 +102,14 @@
 /// </summary>
 /// <returns>A MgClassDefinition representing the current object
 ///</returns>
-MgClassDefinition* MgdFeatureSetReader::GetClassDefinition()
+MgClassDefinition* MgPortableFeatureSetReader::GetClassDefinition()
 {
-    CHECKNULL(m_set, L"MgdFeatureSetReader.GetClassDefinition");
+    CHECKNULL(m_set, L"MgPortableFeatureSetReader.GetClassDefinition");
 
     return m_set->GetClassDefinition();
 }
 
-MgClassDefinition* MgdFeatureSetReader::GetClassDefinitionNoXml()
+MgClassDefinition* MgPortableFeatureSetReader::GetClassDefinitionNoXml()
 {
     //fall back to regular public call in this case
     return GetClassDefinition();
@@ -121,7 +121,7 @@
 /// </summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns true if the value is null.</returns>
-bool MgdFeatureSetReader::IsNull(CREFSTRING propertyName)
+bool MgPortableFeatureSetReader::IsNull(CREFSTRING propertyName)
 {
     bool isNull = false;
 
@@ -141,7 +141,7 @@
 /// </summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns true if the value is null.</returns>
-bool MgdFeatureSetReader::IsNull(INT32 index)
+bool MgPortableFeatureSetReader::IsNull(INT32 index)
 {
     bool isNull = false;
 
@@ -164,7 +164,7 @@
 /// <returns>Returns the Boolean value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-bool MgdFeatureSetReader::GetBoolean(CREFSTRING propertyName)
+bool MgPortableFeatureSetReader::GetBoolean(CREFSTRING propertyName)
 {
     bool retVal = false;
 
@@ -183,7 +183,7 @@
 /// <returns>Returns the Boolean value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-bool MgdFeatureSetReader::GetBoolean(INT32 index)
+bool MgPortableFeatureSetReader::GetBoolean(INT32 index)
 {
     bool retVal = false;
 
@@ -202,7 +202,7 @@
 /// <returns>Returns the Byte value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-BYTE MgdFeatureSetReader::GetByte(CREFSTRING propertyName)
+BYTE MgPortableFeatureSetReader::GetByte(CREFSTRING propertyName)
 {
     BYTE retVal = 0;
 
@@ -221,7 +221,7 @@
 /// <returns>Returns the Byte value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-BYTE MgdFeatureSetReader::GetByte(INT32 index)
+BYTE MgPortableFeatureSetReader::GetByte(INT32 index)
 {
     BYTE retVal = 0;
 
@@ -240,7 +240,7 @@
 /// <returns>Returns the DTime value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgDateTime* MgdFeatureSetReader::GetDateTime(CREFSTRING propertyName)
+MgDateTime* MgPortableFeatureSetReader::GetDateTime(CREFSTRING propertyName)
 {
     Ptr<MgDateTimeProperty> ptrProp = (MgDateTimeProperty*)GetProperty(propertyName, MgPropertyType::DateTime);
     Ptr<MgDateTime> retVal = ptrProp->GetValue();
@@ -257,7 +257,7 @@
 /// <returns>Returns the DTime value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgDateTime* MgdFeatureSetReader::GetDateTime(INT32 index)
+MgDateTime* MgPortableFeatureSetReader::GetDateTime(INT32 index)
 {
     Ptr<MgDateTimeProperty> ptrProp = (MgDateTimeProperty*)GetProperty(index, MgPropertyType::DateTime);
     Ptr<MgDateTime> retVal = ptrProp->GetValue();
@@ -275,7 +275,7 @@
 /// <returns>Returns the single value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-float MgdFeatureSetReader::GetSingle(CREFSTRING propertyName)
+float MgPortableFeatureSetReader::GetSingle(CREFSTRING propertyName)
 {
     float retVal = 0;
 
@@ -294,7 +294,7 @@
 /// <returns>Returns the single value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-float MgdFeatureSetReader::GetSingle(INT32 index)
+float MgPortableFeatureSetReader::GetSingle(INT32 index)
 {
     float retVal = 0;
 
@@ -313,7 +313,7 @@
 /// <returns>Returns the double value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-double MgdFeatureSetReader::GetDouble(CREFSTRING propertyName)
+double MgPortableFeatureSetReader::GetDouble(CREFSTRING propertyName)
 {
     double retVal = 0;
 
@@ -332,7 +332,7 @@
 /// <returns>Returns the double value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-double MgdFeatureSetReader::GetDouble(INT32 index)
+double MgPortableFeatureSetReader::GetDouble(INT32 index)
 {
     double retVal = 0;
 
@@ -351,7 +351,7 @@
 /// <returns>Returns the integer 16 bits value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT16 MgdFeatureSetReader::GetInt16(CREFSTRING propertyName)
+INT16 MgPortableFeatureSetReader::GetInt16(CREFSTRING propertyName)
 {
     INT16 retVal = 0;
 
@@ -370,7 +370,7 @@
 /// <returns>Returns the integer 16 bits value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT16 MgdFeatureSetReader::GetInt16(INT32 index)
+INT16 MgPortableFeatureSetReader::GetInt16(INT32 index)
 {
     INT16 retVal = 0;
 
@@ -389,7 +389,7 @@
 /// <returns>Returns the integer 32 bits value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT32 MgdFeatureSetReader::GetInt32(CREFSTRING propertyName)
+INT32 MgPortableFeatureSetReader::GetInt32(CREFSTRING propertyName)
 {
     INT32 retVal = 0;
 
@@ -408,7 +408,7 @@
 /// <returns>Returns the integer 32 bits value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT32 MgdFeatureSetReader::GetInt32(INT32 index)
+INT32 MgPortableFeatureSetReader::GetInt32(INT32 index)
 {
     INT32 retVal = 0;
 
@@ -429,7 +429,7 @@
 ///</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT64 MgdFeatureSetReader::GetInt64(CREFSTRING propertyName)
+INT64 MgPortableFeatureSetReader::GetInt64(CREFSTRING propertyName)
 {
     INT64 retVal = 0;
 
@@ -450,7 +450,7 @@
 ///</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-INT64 MgdFeatureSetReader::GetInt64(INT32 index)
+INT64 MgPortableFeatureSetReader::GetInt64(INT32 index)
 {
     INT64 retVal = 0;
 
@@ -469,7 +469,7 @@
 /// <returns>Returns the string value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-STRING MgdFeatureSetReader::GetString(CREFSTRING propertyName)
+STRING MgPortableFeatureSetReader::GetString(CREFSTRING propertyName)
 {
     STRING retVal = L"";
 
@@ -488,7 +488,7 @@
 /// <returns>Returns the string value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-STRING MgdFeatureSetReader::GetString(INT32 index)
+STRING MgPortableFeatureSetReader::GetString(INT32 index)
 {
     STRING retVal = L"";
 
@@ -507,7 +507,7 @@
 /// <returns>Returns the BLOB value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetBLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableFeatureSetReader::GetBLOB(CREFSTRING propertyName)
 {
     Ptr<MgBlobProperty> ptrProp = (MgBlobProperty*)GetProperty(propertyName, MgPropertyType::Blob);
     return ptrProp->GetValue();
@@ -522,7 +522,7 @@
 /// <returns>Returns the BLOB value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetBLOB(INT32 index)
+MgByteReader* MgPortableFeatureSetReader::GetBLOB(INT32 index)
 {
     Ptr<MgBlobProperty> ptrProp = (MgBlobProperty*)GetProperty(index, MgPropertyType::Blob);
     return ptrProp->GetValue();
@@ -537,7 +537,7 @@
 /// <returns>Returns the CLOB value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableFeatureSetReader::GetCLOB(CREFSTRING propertyName)
 {
     Ptr<MgClobProperty> ptrProp = (MgClobProperty*)GetProperty(propertyName, MgPropertyType::Clob);
     return ptrProp->GetValue();
@@ -552,7 +552,7 @@
 /// <returns>Returns the CLOB value.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetCLOB(INT32 index)
+MgByteReader* MgPortableFeatureSetReader::GetCLOB(INT32 index)
 {
     Ptr<MgClobProperty> ptrProp = (MgClobProperty*)GetProperty(index, MgPropertyType::Clob);
     return ptrProp->GetValue();
@@ -568,7 +568,7 @@
 /// <returns>Returns the feature reader to access this object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgFeatureReader* MgdFeatureSetReader::GetFeatureObject(CREFSTRING propertyName)
+MgFeatureReader* MgPortableFeatureSetReader::GetFeatureObject(CREFSTRING propertyName)
 {
     Ptr<MgFeatureProperty> ptrProp = (MgFeatureProperty*)GetProperty(propertyName, MgPropertyType::Feature);
     return ptrProp->GetValue();
@@ -583,7 +583,7 @@
 /// <returns>Returns the feature reader to access this object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgFeatureReader* MgdFeatureSetReader::GetFeatureObject(INT32 index)
+MgFeatureReader* MgPortableFeatureSetReader::GetFeatureObject(INT32 index)
 {
     Ptr<MgFeatureProperty> ptrProp = (MgFeatureProperty*)GetProperty(index, MgPropertyType::Feature);
     return ptrProp->GetValue();
@@ -598,7 +598,7 @@
 /// <returns>Returns the Geometry object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetGeometry(CREFSTRING propertyName)
+MgByteReader* MgPortableFeatureSetReader::GetGeometry(CREFSTRING propertyName)
 {
     Ptr<MgGeometryProperty> ptrProp = (MgGeometryProperty*)GetProperty(propertyName, MgPropertyType::Geometry);
     return ptrProp->GetValue();
@@ -613,7 +613,7 @@
 /// <returns>Returns the Geometry object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgByteReader* MgdFeatureSetReader::GetGeometry(INT32 index)
+MgByteReader* MgPortableFeatureSetReader::GetGeometry(INT32 index)
 {
     Ptr<MgGeometryProperty> ptrProp = (MgGeometryProperty*)GetProperty(index, MgPropertyType::Geometry);
     return ptrProp->GetValue();
@@ -620,10 +620,10 @@
 }
 
 // Get the property for the specified name
-MgProperty* MgdFeatureSetReader::GetProperty(CREFSTRING propertyName, INT16 expectedType)
+MgProperty* MgPortableFeatureSetReader::GetProperty(CREFSTRING propertyName, INT16 expectedType)
 {
     Ptr<MgNullableProperty> ptrProp = (MgNullableProperty*)this->GetProperty(propertyName);
-    CHECKNULL(ptrProp, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableFeatureSetReader.GetProperty");
 
     if (ptrProp->IsNull())
     {
@@ -630,21 +630,21 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureSetReader.GetProperty",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureSetReader.GetProperty",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     INT16 propType = ptrProp->GetPropertyType();
-    CHECK_PROPERTY_TYPE(propType, expectedType, L"MgdFeatureSetReader.GetProperty");
+    CHECK_PROPERTY_TYPE(propType, expectedType, L"MgPortableFeatureSetReader.GetProperty");
 
     return SAFE_ADDREF(ptrProp.p);
 }
 
 // Get the property for the specified index
-MgProperty* MgdFeatureSetReader::GetProperty(INT32 index, INT16 expectedType)
+MgProperty* MgPortableFeatureSetReader::GetProperty(INT32 index, INT16 expectedType)
 {
     Ptr<MgNullableProperty> ptrProp = (MgNullableProperty*)this->GetProperty(index);
-    CHECKNULL(ptrProp, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableFeatureSetReader.GetProperty");
 
     if (ptrProp->IsNull())
     {
@@ -653,42 +653,42 @@
         MgStringCollection arguments;
         arguments.Add(buffer);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureSetReader.GetProperty",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureSetReader.GetProperty",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     INT16 propType = ptrProp->GetPropertyType();
-    CHECK_PROPERTY_TYPE(propType, expectedType, L"MgdFeatureSetReader.GetProperty");
+    CHECK_PROPERTY_TYPE(propType, expectedType, L"MgPortableFeatureSetReader.GetProperty");
 
     return SAFE_ADDREF(ptrProp.p);
 }
 
 // Get the property for the specified name
-MgProperty* MgdFeatureSetReader::GetProperty(CREFSTRING propertyName)
+MgProperty* MgPortableFeatureSetReader::GetProperty(CREFSTRING propertyName)
 {
-    CHECKNULL(m_set, L"MgdFeatureSetReader.GetProperty");
-    CHECK_FEATURESET_COUNT(m_set, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(m_set, L"MgPortableFeatureSetReader.GetProperty");
+    CHECK_FEATURESET_COUNT(m_set, L"MgPortableFeatureSetReader.GetProperty");
 
     Ptr<MgPropertyCollection> ptrCol = m_set->GetFeatureAt(m_currRecord-1);
-    CHECKNULL(ptrCol, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrCol, L"MgPortableFeatureSetReader.GetProperty");
 
     Ptr<MgProperty> ptrProp = ptrCol->GetItem(propertyName);
-    CHECKNULL(ptrProp, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableFeatureSetReader.GetProperty");
 
     return SAFE_ADDREF(ptrProp.p);
 }
 
 // Get the property for the specified index
-MgProperty* MgdFeatureSetReader::GetProperty(INT32 index)
+MgProperty* MgPortableFeatureSetReader::GetProperty(INT32 index)
 {
-    CHECKNULL(m_set, L"MgdFeatureSetReader.GetProperty");
-    CHECK_FEATURESET_COUNT(m_set, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(m_set, L"MgPortableFeatureSetReader.GetProperty");
+    CHECK_FEATURESET_COUNT(m_set, L"MgPortableFeatureSetReader.GetProperty");
 
     Ptr<MgPropertyCollection> ptrCol = m_set->GetFeatureAt(m_currRecord-1);
-    CHECKNULL(ptrCol, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrCol, L"MgPortableFeatureSetReader.GetProperty");
 
     Ptr<MgProperty> ptrProp = ptrCol->GetItem(index);
-    CHECKNULL(ptrProp, L"MgdFeatureSetReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableFeatureSetReader.GetProperty");
 
     return SAFE_ADDREF(ptrProp.p);
 }
@@ -701,9 +701,9 @@
 /// Stream
 ///</param>
 
-void MgdFeatureSetReader::Serialize(MgStream* stream)
+void MgPortableFeatureSetReader::Serialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureSetReader::Serialize");
+    NOT_IMPLEMENTED(L"MgPortableFeatureSetReader::Serialize");
 }
 
 //////////////////////////////////////////////////////////////////
@@ -714,9 +714,9 @@
 /// Stream
 ///</param>
 
-void MgdFeatureSetReader::Deserialize(MgStream* stream)
+void MgPortableFeatureSetReader::Deserialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureSetReader::Deserialize");
+    NOT_IMPLEMENTED(L"MgPortableFeatureSetReader::Deserialize");
 }
 
 //////////////////////////////////////////////////////////////////
@@ -725,7 +725,7 @@
 /// XML is serialized from the current position of feature reader in the order
 /// data are retrieved.
 /// <returns>MgByteReader holding XML.</returns>
-MgByteReader* MgdFeatureSetReader::ToXml()
+MgByteReader* MgPortableFeatureSetReader::ToXml()
 {
     string xmlStr;
     this->ToXml(xmlStr);
@@ -736,9 +736,9 @@
     return byteSource->GetReader();
 }
 
-void MgdFeatureSetReader::ToXml(string &str)
+void MgPortableFeatureSetReader::ToXml(string &str)
 {
-    CHECKNULL(m_set, L"MgdFeatureSetReader.ToXml");
+    CHECKNULL(m_set, L"MgPortableFeatureSetReader.ToXml");
 
     Ptr<MgClassDefinition> classDef = this->GetClassDefinition();
 
@@ -758,17 +758,17 @@
     }
 }
 
-string MgdFeatureSetReader::GetResponseElementName()
+string MgPortableFeatureSetReader::GetResponseElementName()
 {
     return "FeatureSet";
 }
 
-string MgdFeatureSetReader::GetBodyElementName()
+string MgPortableFeatureSetReader::GetBodyElementName()
 {
     return "Features";
 }
 
-void MgdFeatureSetReader::ResponseStartUtf8(string& str)
+void MgPortableFeatureSetReader::ResponseStartUtf8(string& str)
 {
     str += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
     str += "<";
@@ -776,7 +776,7 @@
     str += ">";
 }
 
-void MgdFeatureSetReader::ResponseEndUtf8(string& str)
+void MgPortableFeatureSetReader::ResponseEndUtf8(string& str)
 {
     str += "</";
     str += GetResponseElementName();
@@ -783,7 +783,7 @@
     str += ">";
 }
 
-void MgdFeatureSetReader::BodyStartUtf8(string& str)
+void MgPortableFeatureSetReader::BodyStartUtf8(string& str)
 {
     str += "<";
     str += GetBodyElementName();
@@ -790,7 +790,7 @@
     str += ">";
 }
 
-void MgdFeatureSetReader::BodyEndUtf8(string& str)
+void MgPortableFeatureSetReader::BodyEndUtf8(string& str)
 {
     str += "</";
     str += GetBodyElementName();
@@ -797,7 +797,7 @@
     str += ">";
 }
 
-void MgdFeatureSetReader::HeaderToStringUtf8(string& str)
+void MgPortableFeatureSetReader::HeaderToStringUtf8(string& str)
 {
     Ptr<MgClassDefinition> classDef = this->GetClassDefinition();
     if (classDef != NULL)
@@ -806,12 +806,12 @@
     }
 }
 
-void MgdFeatureSetReader::CurrentToStringUtf8(string& str)
+void MgPortableFeatureSetReader::CurrentToStringUtf8(string& str)
 {
     CurrentToStringUtf8(str, NULL);
 }
 
-void MgdFeatureSetReader::CurrentToStringUtf8(string& str, MgTransform* xform)
+void MgPortableFeatureSetReader::CurrentToStringUtf8(string& str, MgTransform* xform)
 {
     if (NULL != (MgFeatureSet*)m_set)
     {
@@ -829,7 +829,7 @@
 /// Releases all the resources of feature reader.
 /// This must be called when user is done with Feature Reader
 /// <returns>Nothing</returns>
-void MgdFeatureSetReader::Close()
+void MgPortableFeatureSetReader::Close()
 {
 }
 
@@ -838,9 +838,9 @@
 /// </summary>
 /// <param name="propertyName">Input the property name.</param>
 /// <returns>Returns the raster object.</returns>
-MgRaster* MgdFeatureSetReader::GetRaster(CREFSTRING propertyName)
+MgRaster* MgPortableFeatureSetReader::GetRaster(CREFSTRING propertyName)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureSetReader::GetRaster");
+    NOT_IMPLEMENTED(L"MgPortableFeatureSetReader::GetRaster");
 }
 
 /// <summary>Gets the raster object of the specified property.
@@ -848,9 +848,9 @@
 /// </summary>
 /// <param name="index">Input the property index.</param>
 /// <returns>Returns the raster object.</returns>
-MgRaster* MgdFeatureSetReader::GetRaster(INT32 index)
+MgRaster* MgPortableFeatureSetReader::GetRaster(INT32 index)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureSetReader::GetRaster");
+    NOT_IMPLEMENTED(L"MgPortableFeatureSetReader::GetRaster");
 }
 
 //////////////////////////////////////////////////////////////////
@@ -860,9 +860,9 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns a ByteReader object</returns>
-BYTE_ARRAY_OUT MgdFeatureSetReader::GetGeometry(CREFSTRING propertyName, INT32& length)
+BYTE_ARRAY_OUT MgPortableFeatureSetReader::GetGeometry(CREFSTRING propertyName, INT32& length)
 {
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureSetReader.GetGeometry",
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureSetReader.GetGeometry",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
@@ -873,9 +873,9 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns a ByteReader object</returns>
-BYTE_ARRAY_OUT MgdFeatureSetReader::GetGeometry(INT32 index, INT32& length)
+BYTE_ARRAY_OUT MgPortableFeatureSetReader::GetGeometry(INT32 index, INT32& length)
 {
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureSetReader.GetGeometry",
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureSetReader.GetGeometry",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
@@ -886,7 +886,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the string value.</returns>
-const wchar_t* MgdFeatureSetReader::GetString(CREFSTRING propertyName, INT32& length)
+const wchar_t* MgPortableFeatureSetReader::GetString(CREFSTRING propertyName, INT32& length)
 {
     STRING str = this->GetString(propertyName);
     length = (INT32)str.size();
@@ -901,7 +901,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the string value.</returns>
-const wchar_t* MgdFeatureSetReader::GetString(INT32 index, INT32& length)
+const wchar_t* MgPortableFeatureSetReader::GetString(INT32 index, INT32& length)
 {
     STRING str = this->GetString(index);
     length = (INT32)str.size();
@@ -909,10 +909,10 @@
     return str.c_str();
 }
 
-MgFeatureSet* MgdFeatureSetReader::GetFeatures(INT32 count)
+MgFeatureSet* MgPortableFeatureSetReader::GetFeatures(INT32 count)
 {
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureSetReader.GetFeatures",
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureSetReader.GetFeatures",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-INT32 MgdFeatureSetReader::GetReaderType() { return MgReaderType::FeatureReader; }
\ No newline at end of file
+INT32 MgPortableFeatureSetReader::GetReaderType() { return MgReaderType::FeatureReader; }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSetReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSetReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,15 +18,15 @@
 #ifndef DESKTOP_FEATURE_SET_READER_H
 #define DESKTOP_FEATURE_SET_READER_H
 
-class MgdFeatureSetReader : public MgFeatureReader
+class MgPortableFeatureSetReader : public MgFeatureReader
 {
-    DECLARE_CLASSNAME(MgdFeatureSetReader);
+    DECLARE_CLASSNAME(MgPortableFeatureSetReader);
 
 INTERNAL_API:
-    MgdFeatureSetReader(MgFeatureSet* featureSet);
+    MgPortableFeatureSetReader(MgFeatureSet* featureSet);
 
 EXTERNAL_API:
-    virtual ~MgdFeatureSetReader();
+    virtual ~MgPortableFeatureSetReader();
 
     //MgReader
 PUBLISHED_API:

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSourceCacheItem.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureSourceCacheItem.h"
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdFeatureSourceCacheItem::MgdFeatureSourceCacheItem()
+MgPortableFeatureSourceCacheItem::MgPortableFeatureSourceCacheItem()
 {
 }
 
@@ -30,7 +30,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdFeatureSourceCacheItem::MgdFeatureSourceCacheItem(MdfModel::FeatureSource* featureSource)
+MgPortableFeatureSourceCacheItem::MgPortableFeatureSourceCacheItem(MdfModel::FeatureSource* featureSource)
 {
     Set(featureSource);
 }
@@ -39,7 +39,7 @@
 /// \brief
 /// Destruct the object.
 ///
-MgdFeatureSourceCacheItem::~MgdFeatureSourceCacheItem()
+MgPortableFeatureSourceCacheItem::~MgPortableFeatureSourceCacheItem()
 {
 }
 
@@ -47,7 +47,7 @@
 /// \brief
 /// Set the feature source.
 ///
-void MgdFeatureSourceCacheItem::Set(MdfModel::FeatureSource* featureSource)
+void MgPortableFeatureSourceCacheItem::Set(MdfModel::FeatureSource* featureSource)
 {
     m_featureSource.reset(featureSource);
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureSourceCacheItem.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,21 +18,21 @@
 #ifndef DESKTOP_FEATURE_SOURCE_CACHE_ITEM_H
 #define DESKTOP_FEATURE_SOURCE_CACHE_ITEM_H
 
-class MgdFeatureSourceCacheItem : public MgGuardDisposable
+class MgPortableFeatureSourceCacheItem : public MgGuardDisposable
 {
     /// Constructors/Destructor
 
 public:
 
-    MgdFeatureSourceCacheItem();
-    explicit MgdFeatureSourceCacheItem(MdfModel::FeatureSource* featureSource);
-    virtual ~MgdFeatureSourceCacheItem();
+    MgPortableFeatureSourceCacheItem();
+    explicit MgPortableFeatureSourceCacheItem(MdfModel::FeatureSource* featureSource);
+    virtual ~MgPortableFeatureSourceCacheItem();
 
 private:
 
     // Unimplemented copy constructor and assignment operator.
-    MgdFeatureSourceCacheItem(const MgdFeatureSourceCacheItem&);
-    MgdFeatureSourceCacheItem& operator=(const MgdFeatureSourceCacheItem&);
+    MgPortableFeatureSourceCacheItem(const MgPortableFeatureSourceCacheItem&);
+    MgPortableFeatureSourceCacheItem& operator=(const MgPortableFeatureSourceCacheItem&);
 
 /// Methods
 
@@ -53,7 +53,7 @@
 
 /// Inline Methods
 
-inline MdfModel::FeatureSource* MgdFeatureSourceCacheItem::Get()
+inline MdfModel::FeatureSource* MgPortableFeatureSourceCacheItem::Get()
 {
     return m_featureSource.get();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureStringFunctions.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "FeatureDefs.h"
 #include "FeatureUtil.h"
 #include "FeatureDistribution.h"
@@ -25,7 +25,7 @@
 #include <algorithm>
 #include "UniqueFunction.h"
 
-MgdFeatureStringFunctions::MgdFeatureStringFunctions()
+MgPortableFeatureStringFunctions::MgPortableFeatureStringFunctions()
 {
     m_type = MgPropertyType::Null;
     m_reader = NULL;
@@ -33,19 +33,19 @@
     m_propertyAlias = L"";
 }
 
-MgdFeatureStringFunctions::MgdFeatureStringFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+MgPortableFeatureStringFunctions::MgPortableFeatureStringFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
     Initialize(reader, customFunction, propertyAlias); // Initialize the instance
 }
 
-void MgdFeatureStringFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
+void MgPortableFeatureStringFunctions::Initialize(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias)
 {
-    CHECKNULL((MgReader*)reader, L"MgdFeatureStringFunctions.Initialize");
-    CHECKNULL((FdoFunction*)customFunction, L"MgdFeatureStringFunctions.Initialize");
+    CHECKNULL((MgReader*)reader, L"MgPortableFeatureStringFunctions.Initialize");
+    CHECKNULL((FdoFunction*)customFunction, L"MgPortableFeatureStringFunctions.Initialize");
 
     if(1 == reader->GetPropertyCount())
     {
-        m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+        m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
     }
     else
     {
@@ -57,7 +57,7 @@
         {
             expr = exprCol->GetItem(0);
             FdoIdentifier* propName = dynamic_cast<FdoIdentifier*>(expr.p);
-            CHECKNULL(propName, L"MgdFeatureStringFunctions.Initialize");
+            CHECKNULL(propName, L"MgPortableFeatureStringFunctions.Initialize");
             m_propertyName = propName->GetName();
             m_type = reader->GetPropertyType(m_propertyName);
         }
@@ -64,7 +64,7 @@
         else
         {
             // Throw original exception
-            m_type = MgdFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
+            m_type = MgPortableFeatureUtil::GetPropertyDefinition(reader, m_propertyName);
         }
     }
 
@@ -73,7 +73,7 @@
     if (!this->CheckSupportedPropertyType()) 
     {
         throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-            L"MgdFeatureStringFunctions.Initialize", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableFeatureStringFunctions.Initialize", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     // We must have an property alias
     // Though we can name a property with same name as function expression
@@ -80,11 +80,11 @@
     // But Fdo forces to have an alias. Therefore we implement this restriction.
     if (propertyAlias.empty())
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingPropertyAlias");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureStringFunctions.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureStringFunctions.Initialize", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     m_reader = SAFE_ADDREF(reader);
@@ -93,19 +93,19 @@
 }
 
 
-MgdFeatureStringFunctions::~MgdFeatureStringFunctions()
+MgPortableFeatureStringFunctions::~MgPortableFeatureStringFunctions()
 {
 }
 
 // Execute the function
-MgReader* MgdFeatureStringFunctions::Execute()
+MgReader* MgPortableFeatureStringFunctions::Execute()
 {
-    CHECKNULL((MgReader*)m_reader, L"MgdFeatureStringFunctions.Execute");
-    CHECKNULL(m_customFunction, L"MgdFeatureStringFunctions.Execute");
+    CHECKNULL((MgReader*)m_reader, L"MgPortableFeatureStringFunctions.Execute");
+    CHECKNULL(m_customFunction, L"MgPortableFeatureStringFunctions.Execute");
 
     std::vector<STRING> v2;
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureStringFunctions::Execute");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureStringFunctions::Execute");
     // TODO: Should we put a limit on double buffer
 
     std::map<STRING, char> mMap;
@@ -131,7 +131,7 @@
 
 
 // Check whether property type is a supported type
-bool MgdFeatureStringFunctions::CheckSupportedPropertyType()
+bool MgPortableFeatureStringFunctions::CheckSupportedPropertyType()
 {
     return (MgPropertyType::String == m_type);
 }
@@ -138,7 +138,7 @@
 
 
 // Get the value of property
-void MgdFeatureStringFunctions::GetValue(REFSTRING val)
+void MgPortableFeatureStringFunctions::GetValue(REFSTRING val)
 {
     if (!m_reader->IsNull(m_propertyName))
     {
@@ -152,7 +152,7 @@
             default:
             {
                 throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-                    L"MgdFeatureStringFunctions.GetValue", __LINE__, __WFILE__, NULL, L"", NULL);
+                    L"MgPortableFeatureStringFunctions.GetValue", __LINE__, __WFILE__, NULL, L"", NULL);
             }
         }
     }
@@ -160,13 +160,13 @@
 
 
 // Execute the function
-void MgdFeatureStringFunctions::ExecuteOperation(std::map<STRING, char>& values, std::vector<STRING>& distValues)
+void MgPortableFeatureStringFunctions::ExecuteOperation(std::map<STRING, char>& values, std::vector<STRING>& distValues)
 {
    INT32 funcCode = -1;
 
     // Get the arguments from the FdoFunction
     STRING propertyName;
-    bool supported = MgdFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
+    bool supported = MgPortableFeatureUtil::FindCustomFunction(m_customFunction, funcCode);
 
     if (supported)
     {
@@ -182,12 +182,12 @@
             }
             default:
             {
-                STRING message = MgdFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
+                STRING message = MgPortableFeatureUtil::GetMessage(L"MgCustomFunctionNotSupported");
 
                 MgStringCollection arguments;
                 arguments.Add(message);
                 throw new MgException(MgExceptionCodes::MgFeatureServiceException, 
-                    L"MgdFeatureStringFunctions.ExecuteOperation", __LINE__, __WFILE__, &arguments, L"", NULL);
+                    L"MgPortableFeatureStringFunctions.ExecuteOperation", __LINE__, __WFILE__, &arguments, L"", NULL);
             }
         }
     }
@@ -194,7 +194,7 @@
 }
 
 // Create the reader for string properties
-MgReader* MgdFeatureStringFunctions::GetReader(std::vector<STRING>& distValues)
+MgReader* MgPortableFeatureStringFunctions::GetReader(std::vector<STRING>& distValues)
 {
     Ptr<MgDataReader> dataReader;
 
@@ -202,7 +202,7 @@
     {
         case MgPropertyType::String:
         {
-            Ptr<MgdStringDataReaderCreator> drCreator = new MgdStringDataReaderCreator(m_propertyAlias);
+            Ptr<MgPortableStringDataReaderCreator> drCreator = new MgPortableStringDataReaderCreator(m_propertyAlias);
             dataReader = drCreator->Execute(distValues);
             break;
         }
@@ -209,7 +209,7 @@
         default:
         {
             throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, 
-                L"MgdFeatureStringFunctions.GetReader", __LINE__, __WFILE__, NULL, L"", NULL);
+                L"MgPortableFeatureStringFunctions.GetReader", __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
     return dataReader.Detach();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureStringFunctions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,21 +21,21 @@
 class MgDisposable;
 class FdoFunction;
 class MgReader;
-class MgdFeatureDistribution;
+class MgPortableFeatureDistribution;
 
-class MgdFeatureStringFunctions : public MgdFeatureDistribution
+class MgPortableFeatureStringFunctions : public MgPortableFeatureDistribution
 {
-    DECLARE_CLASSNAME(MgdFeatureStringFunctions)
+    DECLARE_CLASSNAME(MgPortableFeatureStringFunctions)
 
 public:
 
-    MgdFeatureStringFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
+    MgPortableFeatureStringFunctions(MgReader* reader, FdoFunction* customFunction, CREFSTRING propertyAlias);
     virtual MgReader* Execute();
 
 protected:
 
-    MgdFeatureStringFunctions();
-    virtual ~MgdFeatureStringFunctions();
+    MgPortableFeatureStringFunctions();
+    virtual ~MgPortableFeatureStringFunctions();
     virtual void Dispose()
     {
         delete this;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,14 +25,14 @@
 static std::map<INT32, STRING>                          s_CustomFunctions;
 static std::map<INT32, FdoSpatialOperations>            s_FdoSpatialOperation;
 
-bool MgdFeatureUtil::m_isInitialized = MgdFeatureUtil::Initialize();
+bool MgPortableFeatureUtil::m_isInitialized = MgPortableFeatureUtil::Initialize();
 
-INT32 MgdFeatureUtil::GetMgPropertyType(FdoDataType fdoDataType)
+INT32 MgPortableFeatureUtil::GetMgPropertyType(FdoDataType fdoDataType)
 {
     return s_FeatureUtilFdoDataType[fdoDataType];
 }
 
-bool MgdFeatureUtil::FindCustomFunction(CREFSTRING funcName, INT32 &index)
+bool MgPortableFeatureUtil::FindCustomFunction(CREFSTRING funcName, INT32 &index)
 {
     int cnt = (int)s_CustomFunctions.size();
     bool supports = false;
@@ -56,7 +56,7 @@
     return supports;
 }
 
-FdoOrderingOption MgdFeatureUtil::GetFdoOrderingOption(INT32 orderingOption)
+FdoOrderingOption MgPortableFeatureUtil::GetFdoOrderingOption(INT32 orderingOption)
 {
     MgOrderingOption::ValidateRange(orderingOption);
 
@@ -63,7 +63,7 @@
     return s_FdoOrderingOption[orderingOption];
 }
 
-bool MgdFeatureUtil::Initialize()
+bool MgPortableFeatureUtil::Initialize()
 {
     s_FeatureUtilFdoDataType[FdoDataType_Boolean]  = MgPropertyType::Boolean;
     s_FeatureUtilFdoDataType[FdoDataType_Byte]     = MgPropertyType::Byte;
@@ -117,15 +117,15 @@
     return true;
 }
 
-STRING MgdFeatureUtil::GetMessage(CREFSTRING messageId)
+STRING MgPortableFeatureUtil::GetMessage(CREFSTRING messageId)
 {
     STRING msg = MgUtil::GetResourceMessage(MgResources::FeatureService, messageId);
     return msg;
 }
 
-INT16 MgdFeatureUtil::GetMgPropertyType(MgPropertyDefinition* propDef)
+INT16 MgPortableFeatureUtil::GetMgPropertyType(MgPropertyDefinition* propDef)
 {
-    CHECKNULL((MgPropertyDefinition*)propDef, L"MgdFeatureUtil.GetMgPropertyType")
+    CHECKNULL((MgPropertyDefinition*)propDef, L"MgPortableFeatureUtil.GetMgPropertyType")
 
     INT32 mgPropType = 0;
 
@@ -166,9 +166,9 @@
 }
 
 
-MgPropertyDefinitionCollection* MgdFeatureUtil::GetPropertyDefinitions(MgReader* reader)
+MgPropertyDefinitionCollection* MgPortableFeatureUtil::GetPropertyDefinitions(MgReader* reader)
 {
-    CHECKNULL(reader, L"MgdFeatureUtil.GetPropertyDefinitions");
+    CHECKNULL(reader, L"MgPortableFeatureUtil.GetPropertyDefinitions");
 
     // Create a new collection
     Ptr<MgPropertyDefinitionCollection> propDefCol = new MgPropertyDefinitionCollection();
@@ -187,9 +187,9 @@
 }
 
 
-void MgdFeatureUtil::GetArguments(FdoFunction* customFunction, REFSTRING name, int &numCats, double& dataMin, double& dataMax, INT16 type)
+void MgPortableFeatureUtil::GetArguments(FdoFunction* customFunction, REFSTRING name, int &numCats, double& dataMin, double& dataMax, INT16 type)
 {
-    CHECKNULL(customFunction, L"MgdFeatureDistribution.GetArguments");
+    CHECKNULL(customFunction, L"MgPortableFeatureDistribution.GetArguments");
 
     dataMin = -DoubleMaxValue;
     dataMax = DoubleMaxValue;
@@ -200,11 +200,11 @@
 
     if (cnt < 2)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgInvalidComputedProperty");
 
         MgStringCollection arguments;
         arguments.Add(customFunction->GetName());
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureUtil.GetArguments", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureUtil.GetArguments", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     FdoString *arg0 = NULL, *arg1 = NULL, *arg2 = NULL, *arg3 = NULL;
@@ -214,23 +214,23 @@
     // We skip first argument as it is name of property
     FdoInt32 argCnt = 0;
     FdoPtr<FdoExpression> expr0 = exprCol->GetItem(argCnt);
-    CHECKNULL((FdoExpression*)expr0, L"MgdFeatureUtil.GetArguments");
+    CHECKNULL((FdoExpression*)expr0, L"MgPortableFeatureUtil.GetArguments");
     arg0 = expr0->ToString(); // Name of function
 
     FdoPtr<FdoExpression> expr1 = exprCol->GetItem(argCnt+1);
-    CHECKNULL((FdoExpression*)expr1, L"MgdFeatureUtil.GetArguments");
+    CHECKNULL((FdoExpression*)expr1, L"MgPortableFeatureUtil.GetArguments");
     arg1 = expr1->ToString(); // No of categories
 
     if (cnt > 2)
     {
         FdoPtr<FdoExpression> expr2 = exprCol->GetItem(argCnt+2);
-        CHECKNULL((FdoExpression*)expr2, L"MgdFeatureUtil.GetArguments");
+        CHECKNULL((FdoExpression*)expr2, L"MgPortableFeatureUtil.GetArguments");
         arg2 = expr2->ToString(); // Min Range
 
         if (cnt > 3)
         {
             FdoPtr<FdoExpression> expr3 = exprCol->GetItem(argCnt+3);
-            CHECKNULL((FdoExpression*)expr3, L"MgdFeatureUtil.GetArguments");
+            CHECKNULL((FdoExpression*)expr3, L"MgPortableFeatureUtil.GetArguments");
             arg3 = expr3->ToString(); // Max Range
         }
     }
@@ -279,18 +279,18 @@
     }
 }
 
-INT32 MgdFeatureUtil::GetPropertyDefinition(MgReader* reader, REFSTRING propName)
+INT32 MgPortableFeatureUtil::GetPropertyDefinition(MgReader* reader, REFSTRING propName)
 {
-    CHECKNULL((MgReader*)reader, L"MgdFeatureUtil.GetPropertyDefinition");
+    CHECKNULL((MgReader*)reader, L"MgPortableFeatureUtil.GetPropertyDefinition");
 
     INT32 cnt = reader->GetPropertyCount();
     if (cnt != 1)
     {
-        STRING message = MgdFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgOnlyOnePropertyAllowed");
 
         MgStringCollection arguments;
         arguments.Add(message);
-        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureUtil.GetPropertyDefinition", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureUtil.GetPropertyDefinition", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // Get the name of property
@@ -301,7 +301,7 @@
     return type;
 }
 
-bool MgdFeatureUtil::FindCustomFunction(FdoFunction* customFunction, INT32 &index)
+bool MgPortableFeatureUtil::FindCustomFunction(FdoFunction* customFunction, INT32 &index)
 {
     bool supported = false;
     STRING funcName;
@@ -320,7 +320,7 @@
 }
 
 
-void MgdFeatureUtil::ValidateCustomConstraints(FdoFunction* customFunction)
+void MgPortableFeatureUtil::ValidateCustomConstraints(FdoFunction* customFunction)
 {
     if (customFunction == NULL) { return; } // Nothing to do here
 
@@ -346,7 +346,7 @@
 
                     MgStringCollection arguments;
                     arguments.Add(message);
-                    throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureUtil.ValidateCustomConstraints",
+                    throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureUtil.ValidateCustomConstraints",
                         __LINE__, __WFILE__, &arguments, L"", NULL);
                 }
                 break;
@@ -364,7 +364,7 @@
 
                     MgStringCollection arguments;
                     arguments.Add(message);
-                    throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgdFeatureUtil.ValidateCustomConstraints",
+                    throw new MgException(MgExceptionCodes::MgFeatureServiceException, L"MgPortableFeatureUtil.ValidateCustomConstraints",
                         __LINE__, __WFILE__, &arguments, L"", NULL);
                 }
                 break;
@@ -373,11 +373,11 @@
     }
 }
 
-double MgdFeatureUtil::Minimum(VECTOR& v)
+double MgPortableFeatureUtil::Minimum(VECTOR& v)
 {
     int cnt = (int)v.size();
     if (cnt <= 0)
-        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgdFeatureUtil.Minimum", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgPortableFeatureUtil.Minimum", __LINE__, __WFILE__, NULL, L"", NULL);
     double min = v[0];
     for (int i = 1; i < cnt; ++i)
     {
@@ -388,11 +388,11 @@
     return min;
 }
 
-INT64 MgdFeatureUtil::Minimum(VECTOR_INT64& v)
+INT64 MgPortableFeatureUtil::Minimum(VECTOR_INT64& v)
 {
     int cnt = (int)v.size();
     if (cnt <= 0)
-        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgdFeatureUtil.Minimum", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgPortableFeatureUtil.Minimum", __LINE__, __WFILE__, NULL, L"", NULL);
     INT64 min = v[0];
     for (int i = 1; i < cnt; ++i)
     {
@@ -403,11 +403,11 @@
     return min;
 }
 
-double MgdFeatureUtil::Maximum(VECTOR& v)
+double MgPortableFeatureUtil::Maximum(VECTOR& v)
 {
     int cnt = (int)v.size();
     if (cnt <= 0)
-        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgdFeatureUtil.Maximum", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgPortableFeatureUtil.Maximum", __LINE__, __WFILE__, NULL, L"", NULL);
     double max = v[0];
     for (int i = 1; i < cnt; ++i)
     {
@@ -418,11 +418,11 @@
     return max;
 }
 
-INT64 MgdFeatureUtil::Maximum(VECTOR_INT64& v)
+INT64 MgPortableFeatureUtil::Maximum(VECTOR_INT64& v)
 {
     int cnt = (int)v.size();
     if (cnt <= 0)
-        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgdFeatureUtil.Maximum", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgPortableFeatureUtil.Maximum", __LINE__, __WFILE__, NULL, L"", NULL);
     INT64 max = v[0];
     for (int i = 1; i < cnt; ++i)
     {
@@ -433,7 +433,7 @@
     return max;
 }
 
-FdoSpatialOperations MgdFeatureUtil::GetFdoSpatialOperation(INT32 spatialOp)
+FdoSpatialOperations MgPortableFeatureUtil::GetFdoSpatialOperation(INT32 spatialOp)
 {
     MgFeatureSpatialOperations::ValidateRange(spatialOp);
 
@@ -441,13 +441,13 @@
 }
 
 
-INT32 MgdFeatureUtil::GetMgFeaturePropertyType(FdoPropertyType fdoPropType)
+INT32 MgPortableFeatureUtil::GetMgFeaturePropertyType(FdoPropertyType fdoPropType)
 {
     return s_FdoPropertyType[fdoPropType];
 }
 
 
-MgRaster* MgdFeatureUtil::GetMgRaster(FdoIRaster* raster, STRING propName)
+MgRaster* MgPortableFeatureUtil::GetMgRaster(FdoIRaster* raster, STRING propName)
 {
     Ptr<MgRaster> retVal;
 
@@ -512,16 +512,16 @@
         retVal->SetPropertyName(propName);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetRaster")
 
     return retVal.Detach();
 }
 
 
-MgByteReader* MgdFeatureUtil::GetRaster(FdoIReader* reader, CREFSTRING rasterPropName,INT32 xSize, INT32 ySize)
+MgByteReader* MgPortableFeatureUtil::GetRaster(FdoIReader* reader, CREFSTRING rasterPropName,INT32 xSize, INT32 ySize)
 {
     // Null Reader is invalid
-    CHECKNULL(reader, L"MgdFeatureUtil.GetRaster");
+    CHECKNULL(reader, L"MgPortableFeatureUtil.GetRaster");
 
     // Empty property name is invalid
     if (rasterPropName.empty())
@@ -530,7 +530,7 @@
         arguments.Add(L"2");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.GetRaster",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.GetRaster",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -537,7 +537,7 @@
     Ptr<MgByteReader> byteReader;
 
     FdoPtr<FdoIRaster> fdoRaster = reader->GetRaster(rasterPropName.c_str());
-    CHECKNULL((FdoIRaster*)fdoRaster, L"MgdFeatureUtil.GetRaster");
+    CHECKNULL((FdoIRaster*)fdoRaster, L"MgPortableFeatureUtil.GetRaster");
 
     // TODO: Should we support RasterModel properties and Tiling information ???
     fdoRaster->SetImageXSize(xSize);
@@ -564,7 +564,7 @@
         {
             FdoPtr<FdoIStreamReaderTmpl<FdoByte> > byteStreamReader =
                 FDO_SAFE_ADDREF(dynamic_cast<FdoIStreamReaderTmpl<FdoByte>*>((FdoIStreamReader*)streamReader));
-            CHECKNULL((FdoIStreamReaderTmpl<FdoByte>*)byteStreamReader, L"MgdFeatureUtil.GetRaster");
+            CHECKNULL((FdoIStreamReaderTmpl<FdoByte>*)byteStreamReader, L"MgPortableFeatureUtil.GetRaster");
 
             ByteSourceRasterStreamImpl* rasterStream = new ByteSourceRasterStreamImpl(byteStreamReader);
             Ptr<MgByteSource> byteSource = new MgByteSource(rasterStream);
@@ -576,10 +576,10 @@
     return byteReader.Detach();
 }
 
-void MgdFeatureUtil::FillFdoParameterCollection(MgParameterCollection* source, FdoParameterValueCollection* target)
+void MgPortableFeatureUtil::FillFdoParameterCollection(MgParameterCollection* source, FdoParameterValueCollection* target)
 {
-    CHECKNULL(source, L"MgdFeatureUtil.FillFdoParameterCollection")
-    CHECKNULL(target, L"MgdFeatureUtil.FillFdoParameterCollection")
+    CHECKNULL(source, L"MgPortableFeatureUtil.FillFdoParameterCollection")
+    CHECKNULL(target, L"MgPortableFeatureUtil.FillFdoParameterCollection")
 
     INT32 cnt = source->GetCount();
     for (INT32 i = 0; i < cnt; i++)
@@ -590,10 +590,10 @@
     }
 }
 
-void MgdFeatureUtil::FillParameterCollection(FdoParameterValueCollection* source, MgParameterCollection* target)
+void MgPortableFeatureUtil::FillParameterCollection(FdoParameterValueCollection* source, MgParameterCollection* target)
 {
-    CHECKNULL(source, L"MgdFeatureUtil.FillParameterCollection")
-    CHECKNULL(target, L"MgdFeatureUtil.FillParameterCollection")
+    CHECKNULL(source, L"MgPortableFeatureUtil.FillParameterCollection")
+    CHECKNULL(target, L"MgPortableFeatureUtil.FillParameterCollection")
 
     INT32 cnt = source->GetCount();
     for (INT32 i = 0; i < cnt; i++)
@@ -604,14 +604,14 @@
     }
 }
 
-void MgdFeatureUtil::UpdateParameterCollection(FdoParameterValueCollection* source, MgParameterCollection* target)
+void MgPortableFeatureUtil::UpdateParameterCollection(FdoParameterValueCollection* source, MgParameterCollection* target)
 {
-    CHECKNULL(source, L"MgdFeatureUtil.UpdateParameterCollection")
-    CHECKNULL(target, L"MgdFeatureUtil.UpdateParameterCollection")
+    CHECKNULL(source, L"MgPortableFeatureUtil.UpdateParameterCollection")
+    CHECKNULL(target, L"MgPortableFeatureUtil.UpdateParameterCollection")
 
     if (source->GetCount() != target->GetCount())
     {
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateParameterCollection",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateParameterCollection",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -631,10 +631,10 @@
     }
 }
 
-void MgdFeatureUtil::FillFdoPropertyCollection(MgPropertyCollection* srcCol, FdoPropertyValueCollection* paramCol)
+void MgPortableFeatureUtil::FillFdoPropertyCollection(MgPropertyCollection* srcCol, FdoPropertyValueCollection* paramCol)
 {
-    CHECKNULL(srcCol, L"MgdFeatureUtil.FillFdoPropertyCollection")
-    CHECKNULL(paramCol, L"MgdFeatureUtil.FillFdoPropertyCollection")
+    CHECKNULL(srcCol, L"MgPortableFeatureUtil.FillFdoPropertyCollection")
+    CHECKNULL(paramCol, L"MgPortableFeatureUtil.FillFdoPropertyCollection")
 
     INT32 cnt = srcCol->GetCount();
     for (INT32 i = 0; i < cnt; i++)
@@ -645,9 +645,9 @@
     }
 }
 
-FdoParameterValueCollection* MgdFeatureUtil::CreateFdoParameterCollection(MgPropertyCollection* srcCol)
+FdoParameterValueCollection* MgPortableFeatureUtil::CreateFdoParameterCollection(MgPropertyCollection* srcCol)
 {
-    CHECKNULL(srcCol, L"MgdFeatureUtil.FillFdoPropertyCollection")
+    CHECKNULL(srcCol, L"MgPortableFeatureUtil.FillFdoPropertyCollection")
     FdoPtr<FdoParameterValueCollection> paramCol = FdoParameterValueCollection::Create();
 
     INT32 cnt = srcCol->GetCount();
@@ -661,11 +661,11 @@
     return paramCol.Detach();
 }
 
-MgParameter* MgdFeatureUtil::FdoParameterValueToMgParameter(FdoParameterValue* fdoParamValue)
+MgParameter* MgPortableFeatureUtil::FdoParameterValueToMgParameter(FdoParameterValue* fdoParamValue)
 {
-    CHECKNULL(fdoParamValue, L"MgdFeatureUtil.FdoParameterValueToMgParameter")
+    CHECKNULL(fdoParamValue, L"MgPortableFeatureUtil.FdoParameterValueToMgParameter")
     Ptr<MgNullableProperty> prop = dynamic_cast<MgNullableProperty*>(FdoParameterValueToMgProperty(fdoParamValue));
-    CHECKNULL(prop, L"MgdFeatureUtil.FdoParameterValueToMgParameter")
+    CHECKNULL(prop, L"MgPortableFeatureUtil.FdoParameterValueToMgParameter")
 
     Ptr<MgParameter> param = new MgParameter();
     param->SetProperty(prop);
@@ -676,12 +676,12 @@
     return param.Detach();
 }
 
-MgProperty* MgdFeatureUtil::FdoParameterValueToMgProperty(FdoParameterValue* fdoParamValue)
+MgProperty* MgPortableFeatureUtil::FdoParameterValueToMgProperty(FdoParameterValue* fdoParamValue)
 {
-    CHECKNULL(fdoParamValue, L"MgdFeatureUtil.FdoParameterValueToMgProperty")
+    CHECKNULL(fdoParamValue, L"MgPortableFeatureUtil.FdoParameterValueToMgProperty")
 
     FdoPtr<FdoLiteralValue> fdoLiteralValue = fdoParamValue->GetValue();
-    CHECKNULL(fdoLiteralValue, L"MgdFeatureUtil.FdoParameterValueToMgProperty")
+    CHECKNULL(fdoLiteralValue, L"MgPortableFeatureUtil.FdoParameterValueToMgProperty")
 
     Ptr<MgNullableProperty> prop = NULL;
     STRING paramName = fdoParamValue->GetName();
@@ -890,9 +890,9 @@
     return prop.Detach();
 }
 
-FdoLiteralValue* MgdFeatureUtil::MgPropertyToFdoDataValue(MgProperty* srcProp)
+FdoLiteralValue* MgPortableFeatureUtil::MgPropertyToFdoDataValue(MgProperty* srcProp)
 {
-    CHECKNULL(srcProp, L"MgdFeatureUtil.MgPropertyToFdoProperty")
+    CHECKNULL(srcProp, L"MgPortableFeatureUtil.MgPropertyToFdoProperty")
 
     INT16 propType = srcProp->GetPropertyType();
     FdoPtr<FdoLiteralValue> fdoVal;
@@ -1089,13 +1089,13 @@
         }
         case MgPropertyType::Feature:
         {
-            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdFeatureUtil.MgPropertyToFdoProperty",
+            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableFeatureUtil.MgPropertyToFdoProperty",
                 __LINE__, __WFILE__, NULL, L"", NULL);
             break;
         }
         case MgPropertyType::Raster:
         {
-            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdFeatureUtil.MgPropertyToFdoProperty",
+            throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableFeatureUtil.MgPropertyToFdoProperty",
                 __LINE__, __WFILE__, NULL, L"", NULL);
             break;
         }
@@ -1104,7 +1104,7 @@
     return fdoVal.Detach();
 }
 
-FdoParameterValue* MgdFeatureUtil::MgPropertyToFdoParameter(MgProperty* srcProp)
+FdoParameterValue* MgPortableFeatureUtil::MgPropertyToFdoParameter(MgProperty* srcProp)
 {
     FdoPtr<FdoLiteralValue> fdoValue = MgPropertyToFdoDataValue(srcProp);
     STRING str = srcProp->GetName();
@@ -1114,7 +1114,7 @@
     return FdoParameterValue::Create(str.c_str(), fdoValue);
 }
 
-FdoParameterValue* MgdFeatureUtil::MgParameterToFdoParameter(MgParameter* srcParam)
+FdoParameterValue* MgPortableFeatureUtil::MgParameterToFdoParameter(MgParameter* srcParam)
 {
     Ptr<MgProperty> srcProp = srcParam->GetProperty();
     assert(srcProp);
@@ -1125,7 +1125,7 @@
     return value.Detach();
 }
 
-FdoPropertyValue* MgdFeatureUtil::MgPropertyToFdoProperty(MgProperty* srcProp)
+FdoPropertyValue* MgPortableFeatureUtil::MgPropertyToFdoProperty(MgProperty* srcProp)
 {
     FdoPtr<FdoLiteralValue> fdoValue = MgPropertyToFdoDataValue(srcProp);
     STRING str = srcProp->GetName();
@@ -1135,7 +1135,7 @@
     return FdoPropertyValue::Create(str.c_str(), fdoValue);
 }
 
-INT32 MgdFeatureUtil::FdoOrderTypeToMgOrderingOption(FdoOrderType type)
+INT32 MgPortableFeatureUtil::FdoOrderTypeToMgOrderingOption(FdoOrderType type)
 {
     INT32 orderOption = MgOrderingOption::Ascending;
     switch(type)
@@ -1154,7 +1154,7 @@
     return orderOption;
 }
 
-FdoOrderType MgdFeatureUtil::MgOrderingOptionToFdoOrderType(INT32 type)
+FdoOrderType MgPortableFeatureUtil::MgOrderingOptionToFdoOrderType(INT32 type)
 {
     MgOrderingOption::ValidateRange(type);
     FdoOrderType orderType = FdoOrderType_Ascending;
@@ -1175,7 +1175,7 @@
     return orderType;
 }
 
-INT32 MgdFeatureUtil::FdoObjectTypeToMgObjectPropertyType(FdoObjectType type)
+INT32 MgPortableFeatureUtil::FdoObjectTypeToMgObjectPropertyType(FdoObjectType type)
 {
     INT32 objectType = MgObjectPropertyType::Value;
     switch(type)
@@ -1199,7 +1199,7 @@
     return objectType;
 }
 
-FdoObjectType MgdFeatureUtil::MgObjectPropertyTypeToFdoObjectType(INT32 type)
+FdoObjectType MgPortableFeatureUtil::MgObjectPropertyTypeToFdoObjectType(INT32 type)
 {
     MgObjectPropertyType::ValidateRange(type);
     FdoObjectType objectType = FdoObjectType_Value;
@@ -1225,7 +1225,7 @@
     return objectType;
 }
 
-MgStringCollection* MgdFeatureUtil::FdoToMgStringCollection(FdoStringCollection* fdoStrs, bool includeEmptyStrings)
+MgStringCollection* MgPortableFeatureUtil::FdoToMgStringCollection(FdoStringCollection* fdoStrs, bool includeEmptyStrings)
 {
     Ptr<MgStringCollection> mgStrs;
 
@@ -1252,7 +1252,7 @@
     return mgStrs.Detach();
 }
 
-FdoStringCollection* MgdFeatureUtil::MgToFdoStringCollection(MgStringCollection* mgStrs, bool includeEmptyStrings)
+FdoStringCollection* MgPortableFeatureUtil::MgToFdoStringCollection(MgStringCollection* mgStrs, bool includeEmptyStrings)
 {
     FdoPtr<FdoStringCollection> fdoStrs;
 
@@ -1275,7 +1275,7 @@
     return fdoStrs.Detach();
 }
 
-bool MgdFeatureUtil::FdoClassExist(const wchar_t* name, FdoClassCollection* clsCol)
+bool MgPortableFeatureUtil::FdoClassExist(const wchar_t* name, FdoClassCollection* clsCol)
 {
     if (name == NULL) // Empty name is an error
         return false;
@@ -1283,21 +1283,21 @@
     return (clsCol->IndexOf(name) >= 0);
 }
 
-MgClassDefinition* MgdFeatureUtil::GetMgClassDefinition(FdoClassDefinition* fdoClassDefinition, bool bSerialize)
+MgClassDefinition* MgPortableFeatureUtil::GetMgClassDefinition(FdoClassDefinition* fdoClassDefinition, bool bSerialize)
 {
-    CHECKNULL(fdoClassDefinition, L"MgdFeatureUtil.GetMgClassDefinition");
+    CHECKNULL(fdoClassDefinition, L"MgPortableFeatureUtil.GetMgClassDefinition");
 
     // Create MgClassDefinition
     Ptr<MgClassDefinition> mgClassDef = new MgClassDefinition();
-    CHECKNULL((MgClassDefinition*)mgClassDef, L"MgdFeatureUtil.GetMgClassDefinition");
+    CHECKNULL((MgClassDefinition*)mgClassDef, L"MgPortableFeatureUtil.GetMgClassDefinition");
 
     // Get PropertyDefinitionCollection to store property definitions
     Ptr<MgPropertyDefinitionCollection> propDefCol = mgClassDef->GetProperties();
-    CHECKNULL((MgPropertyDefinitionCollection*)propDefCol, L"MgdFeatureUtil.GetMgClassDefinition");
+    CHECKNULL((MgPropertyDefinitionCollection*)propDefCol, L"MgPortableFeatureUtil.GetMgClassDefinition");
 
     // Get PropertyDefinitionCollection to store key property definitions i.e. which makes key for this feature class
     Ptr<MgPropertyDefinitionCollection> identityPropDefCol = mgClassDef->GetIdentityProperties();
-    CHECKNULL((MgPropertyDefinitionCollection*)identityPropDefCol, L"MgdFeatureUtil.GetMgClassDefinition");
+    CHECKNULL((MgPropertyDefinitionCollection*)identityPropDefCol, L"MgPortableFeatureUtil.GetMgClassDefinition");
 
     // description
     FdoString* desc = fdoClassDefinition->GetDescription();
@@ -1338,7 +1338,7 @@
 
     // Retrieve Class properties from FDO
     FdoPtr<FdoPropertyDefinitionCollection> fpdc = fdoClassDefinition->GetProperties();
-    CHECKNULL((FdoPropertyDefinitionCollection*)fpdc, L"MgdFeatureUtil.GetMgClassDefinition");
+    CHECKNULL((FdoPropertyDefinitionCollection*)fpdc, L"MgPortableFeatureUtil.GetMgClassDefinition");
 
     // Retrieve Base class properties from FDO
     // TODO: Should we add Base class properties into the list of properties?
@@ -1350,7 +1350,7 @@
     FdoPtr<FdoDataPropertyDefinitionCollection> fdpdc = fdoClassDefinition->GetIdentityProperties();
 
     // Add properties
-    MgdFeatureUtil::GetClassProperties(propDefCol, fpdc);
+    MgPortableFeatureUtil::GetClassProperties(propDefCol, fpdc);
 
     FdoClassType classType = fdoClassDefinition->GetClassType();
     if (classType == FdoClassType_FeatureClass)
@@ -1367,7 +1367,7 @@
     }
 
     // Add identity properties
-    MgdFeatureUtil::GetClassProperties(identityPropDefCol, fdpdc);
+    MgPortableFeatureUtil::GetClassProperties(identityPropDefCol, fdpdc);
 
     // Add base properties
 //  this->GetClassProperties(propDefCol, frpdc);
@@ -1408,9 +1408,9 @@
     return mgClassDef.Detach();
 }
 
-MgByteReader* MgdFeatureUtil::SerializeToXml(FdoClassDefinition* classDef)
+MgByteReader* MgPortableFeatureUtil::SerializeToXml(FdoClassDefinition* classDef)
 {
-    CHECKNULL(classDef, L"MgdFeatureUtil.SerializeToXml");
+    CHECKNULL(classDef, L"MgPortableFeatureUtil.SerializeToXml");
 
     FdoString* className = classDef->GetName();
     FdoFeatureSchemaP pSchema = classDef->GetFeatureSchema();
@@ -1452,7 +1452,7 @@
 
     FdoInt64 len = fmis->GetLength();
     FdoByte *bytes = new FdoByte[(size_t)len];
-    CHECKNULL(bytes, L"MgdFeatureUtil::SerializeToXml");
+    CHECKNULL(bytes, L"MgPortableFeatureUtil::SerializeToXml");
 
     fmis->Read(bytes, (FdoSize)len);
 
@@ -1480,7 +1480,7 @@
     return byteReader.Detach();
 }
 
-void MgdFeatureUtil::GetClassProperties(MgPropertyDefinitionCollection* propDefCol,
+void MgPortableFeatureUtil::GetClassProperties(MgPropertyDefinitionCollection* propDefCol,
                                              FdoPropertyDefinitionCollection* fdoPropDefCol)
 {
     if (NULL == fdoPropDefCol)
@@ -1491,10 +1491,10 @@
     {
         // Get Fdo Property
         FdoPtr<FdoPropertyDefinition> fpd = fdoPropDefCol->GetItem(i);
-        CHECKNULL((FdoPropertyDefinition*)fpd, L"MgdFeatureUtil.GetClassProperties");
+        CHECKNULL((FdoPropertyDefinition*)fpd, L"MgPortableFeatureUtil.GetClassProperties");
 
         // Create MgProperty
-        Ptr<MgPropertyDefinition> prop = MgdFeatureUtil::GetMgPropertyDefinition(fpd);
+        Ptr<MgPropertyDefinition> prop = MgPortableFeatureUtil::GetMgPropertyDefinition(fpd);
 
         // Add it to class definition
         if (prop != NULL)
@@ -1505,7 +1505,7 @@
 }
 
 
-void MgdFeatureUtil::GetClassProperties(MgPropertyDefinitionCollection* propDefCol,
+void MgPortableFeatureUtil::GetClassProperties(MgPropertyDefinitionCollection* propDefCol,
                                              FdoDataPropertyDefinitionCollection* fdoPropDefCol)
 {
     if (NULL == fdoPropDefCol)
@@ -1516,10 +1516,10 @@
     {
         // Get Fdo Property
         FdoPtr<FdoPropertyDefinition> fpd = fdoPropDefCol->GetItem(i);
-        CHECKNULL((FdoPropertyDefinition*)fpd, L"MgdFeatureUtil.GetClassProperties");
+        CHECKNULL((FdoPropertyDefinition*)fpd, L"MgPortableFeatureUtil.GetClassProperties");
 
         // Create MgProperty
-        Ptr<MgPropertyDefinition> prop = MgdFeatureUtil::GetMgPropertyDefinition(fpd);
+        Ptr<MgPropertyDefinition> prop = MgPortableFeatureUtil::GetMgPropertyDefinition(fpd);
 
         // Add it to class definition
         if (prop != NULL)
@@ -1529,9 +1529,9 @@
     }
 }
 
-MgPropertyDefinition* MgdFeatureUtil::GetMgPropertyDefinition(FdoPropertyDefinition* fdoPropDef)
+MgPropertyDefinition* MgPortableFeatureUtil::GetMgPropertyDefinition(FdoPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((FdoPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.GetMgPropertyDefinition");
+    CHECKNULL((FdoPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.GetMgPropertyDefinition");
 
     Ptr<MgPropertyDefinition> propDef;
 
@@ -1541,13 +1541,13 @@
         // Represents a Data Property type.
         case FdoPropertyType_DataProperty:
         {
-            propDef = MgdFeatureUtil::GetDataPropertyDefinition((FdoDataPropertyDefinition*)fdoPropDef);
+            propDef = MgPortableFeatureUtil::GetDataPropertyDefinition((FdoDataPropertyDefinition*)fdoPropDef);
             break;
         }
         // Represents an Object Property type.
         case FdoPropertyType_ObjectProperty:
         {
-            propDef = MgdFeatureUtil::GetObjectPropertyDefinition((FdoObjectPropertyDefinition*)fdoPropDef);
+            propDef = MgPortableFeatureUtil::GetObjectPropertyDefinition((FdoObjectPropertyDefinition*)fdoPropDef);
             break;
         }
 
@@ -1554,7 +1554,7 @@
         // Represents a Geometric Property type.
         case FdoPropertyType_GeometricProperty:
         {
-            propDef = MgdFeatureUtil::GetGeometricPropertyDefinition((FdoGeometricPropertyDefinition*)fdoPropDef);
+            propDef = MgPortableFeatureUtil::GetGeometricPropertyDefinition((FdoGeometricPropertyDefinition*)fdoPropDef);
             break;
         }
         // Represents an Association Property type.
@@ -1567,7 +1567,7 @@
         // Represents a Raster (image) Property type.
         case FdoPropertyType_RasterProperty:
         {
-            propDef = MgdFeatureUtil::GetRasterPropertyDefinition((FdoRasterPropertyDefinition*)fdoPropDef);
+            propDef = MgPortableFeatureUtil::GetRasterPropertyDefinition((FdoRasterPropertyDefinition*)fdoPropDef);
             break;
         }
     }
@@ -1575,7 +1575,7 @@
     return propDef.Detach();
 }
 
-MgDataPropertyDefinition* MgdFeatureUtil::GetDataPropertyDefinition(FdoDataPropertyDefinition* fdoPropDef)
+MgDataPropertyDefinition* MgPortableFeatureUtil::GetDataPropertyDefinition(FdoDataPropertyDefinition* fdoPropDef)
 {
     if (fdoPropDef == NULL)
     {
@@ -1629,9 +1629,9 @@
     return propDef.Detach();
 }
 
-MgObjectPropertyDefinition* MgdFeatureUtil::GetObjectPropertyDefinition(FdoObjectPropertyDefinition* fdoPropDef)
+MgObjectPropertyDefinition* MgPortableFeatureUtil::GetObjectPropertyDefinition(FdoObjectPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((FdoObjectPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.GetObjectPropertyDefinition");
+    CHECKNULL((FdoObjectPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.GetObjectPropertyDefinition");
 
     STRING name = STRING(fdoPropDef->GetName());
     Ptr<MgObjectPropertyDefinition> propDef = new MgObjectPropertyDefinition(name);
@@ -1652,7 +1652,7 @@
     }
 
     FdoPtr<FdoClassDefinition> fdoClsDef = fdoPropDef->GetClass();
-    CHECKNULL((FdoClassDefinition*)fdoClsDef, L"MgdFeatureUtil.GetObjectPropertyDefinition")
+    CHECKNULL((FdoClassDefinition*)fdoClsDef, L"MgPortableFeatureUtil.GetObjectPropertyDefinition")
 
     FdoPtr<FdoDataPropertyDefinition> idenProp = fdoPropDef->GetIdentityProperty(); // Can return NULL
 
@@ -1659,10 +1659,10 @@
     FdoObjectType objType = fdoPropDef->GetObjectType();
     FdoOrderType orderType = fdoPropDef->GetOrderType();
 
-    Ptr<MgClassDefinition> objPropClsDef = MgdFeatureUtil::GetMgClassDefinition(fdoClsDef, true);
-    Ptr<MgDataPropertyDefinition> objIdenProp = MgdFeatureUtil::GetDataPropertyDefinition(idenProp);
-    INT32 orderOption = MgdFeatureUtil::FdoOrderTypeToMgOrderingOption(orderType);
-    INT32 mgObjType = MgdFeatureUtil::FdoObjectTypeToMgObjectPropertyType(objType);
+    Ptr<MgClassDefinition> objPropClsDef = MgPortableFeatureUtil::GetMgClassDefinition(fdoClsDef, true);
+    Ptr<MgDataPropertyDefinition> objIdenProp = MgPortableFeatureUtil::GetDataPropertyDefinition(idenProp);
+    INT32 orderOption = MgPortableFeatureUtil::FdoOrderTypeToMgOrderingOption(orderType);
+    INT32 mgObjType = MgPortableFeatureUtil::FdoObjectTypeToMgObjectPropertyType(objType);
 
     propDef->SetClassDefinition(objPropClsDef);
     propDef->SetIdentityProperty(objIdenProp);
@@ -1672,9 +1672,9 @@
     return propDef.Detach();
 }
 
-MgGeometricPropertyDefinition* MgdFeatureUtil::GetGeometricPropertyDefinition(FdoGeometricPropertyDefinition* fdoPropDef)
+MgGeometricPropertyDefinition* MgPortableFeatureUtil::GetGeometricPropertyDefinition(FdoGeometricPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((FdoGeometricPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.GetGeometricPropertyDefinition");
+    CHECKNULL((FdoGeometricPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.GetGeometricPropertyDefinition");
 
     STRING name = STRING(fdoPropDef->GetName());
     Ptr<MgGeometricPropertyDefinition> propDef = new MgGeometricPropertyDefinition(name);
@@ -1723,9 +1723,9 @@
     return propDef.Detach();
 }
 
-MgRasterPropertyDefinition* MgdFeatureUtil::GetRasterPropertyDefinition(FdoRasterPropertyDefinition* fdoPropDef)
+MgRasterPropertyDefinition* MgPortableFeatureUtil::GetRasterPropertyDefinition(FdoRasterPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((FdoRasterPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.GetRasterPropertyDefinition");
+    CHECKNULL((FdoRasterPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.GetRasterPropertyDefinition");
 
     STRING name = STRING(fdoPropDef->GetName());
     Ptr<MgRasterPropertyDefinition> propDef = new MgRasterPropertyDefinition(name);
@@ -1764,10 +1764,10 @@
     return propDef.Detach();
 }
 
-MgProperty* MgdFeatureUtil::GetMgProperty(MgReader* reader, CREFSTRING qualifiedPropName, INT16 type)
+MgProperty* MgPortableFeatureUtil::GetMgProperty(MgReader* reader, CREFSTRING qualifiedPropName, INT16 type)
 {
     // Null Reader is invalid
-    CHECKNULL(reader, L"MgdFeatureUtil.GetMgProperty");
+    CHECKNULL(reader, L"MgPortableFeatureUtil.GetMgProperty");
 
     // No propertyname specified, return NULL
     if (qualifiedPropName.empty())
@@ -2016,7 +2016,7 @@
 
 //////////////////////////////////////////////////////////////////
 //TODO: I will take this out as I do not know how to instantiate FdoFeatureSchemaCollection
-FdoFeatureSchemaCollection* MgdFeatureUtil::GetFdoFeatureSchemaCollection(
+FdoFeatureSchemaCollection* MgPortableFeatureUtil::GetFdoFeatureSchemaCollection(
     MgFeatureSchemaCollection* mgSchemaCol)
 {
     FdoPtr<FdoFeatureSchemaCollection> fdoSchemaCol;
@@ -2023,7 +2023,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECKNULL(mgSchemaCol, L"MgdFeatureUtil.GetFdoFeatureSchemaCollection");
+    CHECKNULL(mgSchemaCol, L"MgPortableFeatureUtil.GetFdoFeatureSchemaCollection");
     fdoSchemaCol = FdoFeatureSchemaCollection::Create((FdoSchemaElement*)NULL);
 
     INT32 i = 0;
@@ -2035,7 +2035,7 @@
         FdoPtr<FdoFeatureSchema> fdoSchema = GetFdoFeatureSchema(mgSchema);
         if (fdoSchemaCol->Contains(fdoSchema))
         {
-            throw new MgException(MgExceptionCodes::MgDuplicateObjectException, L"MgdFeatureUtil.GetFdoFeatureSchemaCollection", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgDuplicateObjectException, L"MgPortableFeatureUtil.GetFdoFeatureSchemaCollection", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         else
         {
@@ -2043,7 +2043,7 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetFdoFeatureSchemaCollection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetFdoFeatureSchemaCollection")
 
     return fdoSchemaCol.Detach();
 }
@@ -2050,16 +2050,16 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoFeatureSchema* MgdFeatureUtil::GetFdoFeatureSchema(
+FdoFeatureSchema* MgPortableFeatureUtil::GetFdoFeatureSchema(
     MgFeatureSchema* mgSchema)
 {
     FdoPtr<FdoFeatureSchema> fdoSchema;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL(mgSchema, L"MgdFeatureUtil.GetFdoFeatureSchema");
+    CHECKNULL(mgSchema, L"MgPortableFeatureUtil.GetFdoFeatureSchema");
 
     fdoSchema = FdoFeatureSchema::Create();
-    CHECKNULL(fdoSchema, L"MgdFeatureUtil.GetFdoFeatureSchema");
+    CHECKNULL(fdoSchema, L"MgPortableFeatureUtil.GetFdoFeatureSchema");
 
     STRING name = mgSchema->GetName();
     if (!name.empty())
@@ -2078,7 +2078,7 @@
 
     GetFdoClassCollection(fdoClassCol, awClassCol);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetFdoFeatureSchema")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetFdoFeatureSchema")
 
     return fdoSchema.Detach();
 }
@@ -2085,12 +2085,12 @@
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::GetFdoClassCollection(
+void MgPortableFeatureUtil::GetFdoClassCollection(
     FdoClassCollection* fdoClassCol,
     MgClassDefinitionCollection* mgClassDefCol)
 {
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgClassDefinitionCollection*)mgClassDefCol, L"MgdFeatureUtil.GetFdoClassCollection");
+    CHECKNULL((MgClassDefinitionCollection*)mgClassDefCol, L"MgPortableFeatureUtil.GetFdoClassCollection");
 
     INT32 count = mgClassDefCol->GetCount();
     INT32 i = 0;
@@ -2099,7 +2099,7 @@
     {
         Ptr<MgClassDefinition> mgClassDef = mgClassDefCol->GetItem(i);
         FdoPtr<FdoClassDefinition> fdoClassDef = GetFdoClassDefinition(mgClassDef, fdoClassCol);
-        CHECKNULL(fdoClassDef, L"MgdFeatureUtil.GetFdoClassCollection")
+        CHECKNULL(fdoClassDef, L"MgPortableFeatureUtil.GetFdoClassCollection")
 
         FdoStringP name = fdoClassDef->GetName();
         if (!FdoClassExist(name, fdoClassCol))
@@ -2106,12 +2106,12 @@
             fdoClassCol->Add(fdoClassDef);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetFdoClassCollection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetFdoClassCollection")
 }
 
 
 //////////////////////////////////////////////////////////////////
-FdoClassDefinition* MgdFeatureUtil::GetFdoClassDefinition(
+FdoClassDefinition* MgPortableFeatureUtil::GetFdoClassDefinition(
     MgClassDefinition* mgClassDef,
     FdoClassCollection* fdoClassCol)
 {
@@ -2118,8 +2118,8 @@
     FdoPtr<FdoClassDefinition> fdoClassDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL(mgClassDef, L"MgdFeatureUtil.GetFdoClassDefinition");
-    CHECKNULL(fdoClassCol, L"MgdFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL(mgClassDef, L"MgPortableFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL(fdoClassCol, L"MgPortableFeatureUtil.GetFdoClassDefinition");
 
     STRING name = mgClassDef->GetName();
     assert(!name.empty());
@@ -2142,13 +2142,13 @@
         fdoClassDef = FdoClass::Create();
     }
 
-    CHECKNULL(fdoClassDef, L"MgdFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL(fdoClassDef, L"MgPortableFeatureUtil.GetFdoClassDefinition");
 
     FdoPtr<FdoPropertyDefinitionCollection> fdoPropDefCol = fdoClassDef->GetProperties();
-    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgdFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgPortableFeatureUtil.GetFdoClassDefinition");
 
     FdoPtr<FdoDataPropertyDefinitionCollection> fdoIdentityPropDefCol = (FdoDataPropertyDefinitionCollection*)fdoClassDef->GetIdentityProperties();
-    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgdFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgPortableFeatureUtil.GetFdoClassDefinition");
 
     //Set description
     STRING desc = mgClassDef->GetDescription();
@@ -2176,7 +2176,7 @@
 
     // Retrieve Class properties
     Ptr<MgPropertyDefinitionCollection> mgPropDefCol = mgClassDef->GetProperties();
-    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgdFeatureUtil.GetFdoClassDefinition");
+    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgPortableFeatureUtil.GetFdoClassDefinition");
 
     //Retrieve identity properties
     Ptr<MgPropertyDefinitionCollection> awDataPropDefCol = mgClassDef->GetIdentityProperties();
@@ -2217,7 +2217,7 @@
         ffClass->SetGeometryProperty(defaultGeom);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetFdoClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetFdoClassDefinition")
 
     return fdoClassDef.Detach();
 }
@@ -2224,7 +2224,7 @@
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::GetClassProperties(
+void MgPortableFeatureUtil::GetClassProperties(
     FdoPropertyDefinitionCollection* fdoPropDefCol,
     MgPropertyDefinitionCollection* propDefCol,
     FdoClassCollection* fdoClassCol)
@@ -2240,7 +2240,7 @@
     {
         // Get Mg Property
         Ptr<MgPropertyDefinition> awpd = propDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*)awpd, L"MgdFeatureUtil.GetClassProperties");
+        CHECKNULL((MgPropertyDefinition*)awpd, L"MgPortableFeatureUtil.GetClassProperties");
 
         // Create Fdo Property
         FdoPtr<FdoPropertyDefinition> fdoProp = GetFdoPropertyDefinition(awpd, fdoClassCol);
@@ -2250,13 +2250,13 @@
             fdoPropDefCol->Add(fdoProp);
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetClassProperties")
 }
 
 
 //////////////////////////////////////////////////////////////////
 // TODO: Not sure why FdoDataPropertyDefinitionCollection derives from SchemaCollection??
-void MgdFeatureUtil::GetClassProperties(
+void MgPortableFeatureUtil::GetClassProperties(
     FdoDataPropertyDefinitionCollection* fdoPropDefCol,
     MgPropertyDefinitionCollection* mgPropDefCol)
 {
@@ -2271,7 +2271,7 @@
     {
         //Get property
         Ptr<MgPropertyDefinition> mgPropDef = mgPropDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgdFeatureUtil.GetClassProperties");
+        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgPortableFeatureUtil.GetClassProperties");
 
         //Create Fdo property
         FdoPtr<FdoDataPropertyDefinition> fdoPropDef = (FdoDataPropertyDefinition*)GetFdoPropertyDefinition(mgPropDef, NULL);
@@ -2281,16 +2281,16 @@
             fdoPropDefCol->Add(fdoPropDef);
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetClassProperties")
 }
 
 
 //////////////////////////////////////////////////////////////////
-FdoPropertyDefinition* MgdFeatureUtil::GetFdoPropertyDefinition(
+FdoPropertyDefinition* MgPortableFeatureUtil::GetFdoPropertyDefinition(
     MgPropertyDefinition* mgPropDef,
     FdoClassCollection* fdoClassCol)
 {
-    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.GetFdoPropertyDefinition");
+    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.GetFdoPropertyDefinition");
 
     FdoPtr<FdoPropertyDefinition> fdoPropDef;
     MG_FEATURE_SERVICE_TRY()
@@ -2332,7 +2332,7 @@
             break;
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetFdoPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetFdoPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -2339,7 +2339,7 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoDataPropertyDefinition* MgdFeatureUtil::GetDataPropertyDefinition(
+FdoDataPropertyDefinition* MgPortableFeatureUtil::GetDataPropertyDefinition(
     MgDataPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoDataPropertyDefinition> fdoPropDef;
@@ -2390,7 +2390,7 @@
     fdoPropDef->SetScale((FdoInt32)scale);
     fdoPropDef->SetIsAutoGenerated(isAutoGenerated);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetDataPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetDataPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -2397,7 +2397,7 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoObjectPropertyDefinition* MgdFeatureUtil::GetObjectPropertyDefinition(
+FdoObjectPropertyDefinition* MgPortableFeatureUtil::GetObjectPropertyDefinition(
     MgObjectPropertyDefinition* objPropDef,
     FdoClassCollection* fdoClassCol)
 {
@@ -2404,7 +2404,7 @@
     FdoPtr<FdoObjectPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgdFeatureUtil.GetObjectPropertyDefinition");
+    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgPortableFeatureUtil.GetObjectPropertyDefinition");
 
     fdoPropDef = FdoObjectPropertyDefinition::Create();
     // Retrieve data from MgObjectProperty
@@ -2416,11 +2416,11 @@
     Ptr<MgDataPropertyDefinition> idProp = objPropDef->GetIdentityProperty();
     // Convert MgObjectProperty data members to Fdo data members
     FdoPtr<FdoClassDefinition> fdoClsDef = GetFdoClassDefinition(clsDef, fdoClassCol);
-    CHECKNULL(fdoClsDef, L"MgdFeatureUtil.GetObjectPropertyDefinition")
+    CHECKNULL(fdoClsDef, L"MgPortableFeatureUtil.GetObjectPropertyDefinition")
 
     FdoPtr<FdoDataPropertyDefinition> fdoDataPropDef = GetDataPropertyDefinition(idProp);
-    FdoObjectType fdoObjectType = MgdFeatureUtil::MgObjectPropertyTypeToFdoObjectType(objType);
-    FdoOrderType fdoOrderType = MgdFeatureUtil::MgOrderingOptionToFdoOrderType(orderType);
+    FdoObjectType fdoObjectType = MgPortableFeatureUtil::MgObjectPropertyTypeToFdoObjectType(objType);
+    FdoOrderType fdoOrderType = MgPortableFeatureUtil::MgOrderingOptionToFdoOrderType(orderType);
     // Set them to Fdo object property
     fdoPropDef->SetName(name.c_str());
     fdoPropDef->SetDescription(desc.c_str());
@@ -2436,7 +2436,7 @@
             fdoClassCol->Add(fdoClsDef);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetObjectPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetObjectPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -2443,13 +2443,13 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoGeometricPropertyDefinition* MgdFeatureUtil::GetGeometricPropertyDefinition(
+FdoGeometricPropertyDefinition* MgPortableFeatureUtil::GetGeometricPropertyDefinition(
     MgGeometricPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoGeometricPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.GetGeometricPropertyDefinition");
+    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.GetGeometricPropertyDefinition");
 
     STRING name = mgPropDef->GetName();
     fdoPropDef = FdoGeometricPropertyDefinition::Create();
@@ -2488,7 +2488,7 @@
         fdoPropDef->SetSpatialContextAssociation((FdoString*)spatialContextName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetGeometricPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetGeometricPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -2495,13 +2495,13 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoRasterPropertyDefinition* MgdFeatureUtil::GetRasterPropertyDefinition(
+FdoRasterPropertyDefinition* MgPortableFeatureUtil::GetRasterPropertyDefinition(
     MgRasterPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoRasterPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.GetRasterPropertyDefinition");
+    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.GetRasterPropertyDefinition");
 
     fdoPropDef = FdoRasterPropertyDefinition::Create();
     STRING name = mgPropDef->GetName();
@@ -2533,7 +2533,7 @@
         fdoPropDef->SetSpatialContextAssociation((FdoString*) spatialContextName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.GetRasterPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.GetRasterPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -2540,7 +2540,7 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoDataType MgdFeatureUtil::GetFdoDataType(INT32 awPropType)
+FdoDataType MgPortableFeatureUtil::GetFdoDataType(INT32 awPropType)
 {
     FdoDataType fdoDataType;
     switch(awPropType)
@@ -2634,7 +2634,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.GetFdoDataType",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.GetFdoDataType",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidPropertyType", NULL);
         }
     }
@@ -2642,7 +2642,7 @@
     return fdoDataType;
 }
 
-FdoParameterDirection MgdFeatureUtil::GetFdoParameterDirection(INT32 paramDirection)
+FdoParameterDirection MgPortableFeatureUtil::GetFdoParameterDirection(INT32 paramDirection)
 {
     FdoParameterDirection fdoParameterDirection;
     switch(paramDirection)
@@ -2677,7 +2677,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.GetFdoParameterDirection",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.GetFdoParameterDirection",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
     }
@@ -2685,7 +2685,7 @@
     return fdoParameterDirection;
 }
 
-INT32 MgdFeatureUtil::GetMgParameterDirection(FdoParameterDirection fdoParamDirection)
+INT32 MgPortableFeatureUtil::GetMgParameterDirection(FdoParameterDirection fdoParamDirection)
 {
     INT32 parameterDirection;
     switch(fdoParamDirection)
@@ -2720,7 +2720,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.GetMgParameterDirection",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.GetMgParameterDirection",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
     }
@@ -2729,12 +2729,12 @@
 }
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateFdoFeatureSchema(
+void MgPortableFeatureUtil::UpdateFdoFeatureSchema(
     MgFeatureSchema* mgSchema,
     FdoFeatureSchema* fdoSchema)
 {
-    CHECKNULL(mgSchema, L"MgdFeatureUtil.UpdateFdoFeatureSchema");
-    CHECKNULL(fdoSchema, L"MgdFeatureUtil.UpdateFdoFeatureSchema");
+    CHECKNULL(mgSchema, L"MgPortableFeatureUtil.UpdateFdoFeatureSchema");
+    CHECKNULL(fdoSchema, L"MgPortableFeatureUtil.UpdateFdoFeatureSchema");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -2749,17 +2749,17 @@
 
     UpdateFdoClassCollection(mgClassCol, fdoClassCol);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateFdoFeatureSchema")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateFdoFeatureSchema")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateFdoClassCollection(
+void MgPortableFeatureUtil::UpdateFdoClassCollection(
     MgClassDefinitionCollection* mgClassDefCol,
     FdoClassCollection* fdoClassCol)
 {
-    CHECKNULL(mgClassDefCol, L"MgdFeatureUtil.UpdateFdoClassCollection");
-    CHECKNULL(fdoClassCol, L"MgdFeatureUtil.UpdateFdoClassCollection");
+    CHECKNULL(mgClassDefCol, L"MgPortableFeatureUtil.UpdateFdoClassCollection");
+    CHECKNULL(fdoClassCol, L"MgPortableFeatureUtil.UpdateFdoClassCollection");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -2775,8 +2775,8 @@
         {
             if (!mgClassDef->IsDeleted())
             {
-                FdoPtr<FdoClassDefinition> fdoNewClassDef = MgdFeatureUtil::GetFdoClassDefinition(mgClassDef, fdoClassCol);
-                CHECKNULL(fdoNewClassDef, L"MgdFeatureUtil.UpdateFdoClassCollection")
+                FdoPtr<FdoClassDefinition> fdoNewClassDef = MgPortableFeatureUtil::GetFdoClassDefinition(mgClassDef, fdoClassCol);
+                CHECKNULL(fdoNewClassDef, L"MgPortableFeatureUtil.UpdateFdoClassCollection")
                 fdoClassCol->Add(fdoNewClassDef);
             }
         }
@@ -2789,27 +2789,27 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateFdoClassCollection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateFdoClassCollection")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateFdoClassDefinition(
+void MgPortableFeatureUtil::UpdateFdoClassDefinition(
     MgClassDefinition* mgClassDef,
     FdoClassDefinition* fdoClassDef,
     FdoClassCollection* fdoClassCol)
 {
-    CHECKNULL(mgClassDef, L"MgdFeatureUtil.UpdateFdoClassDefinition");
-    CHECKNULL(fdoClassDef, L"MgdFeatureUtil.UpdateFdoClassDefinition");
-    CHECKNULL(fdoClassCol, L"MgdFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL(mgClassDef, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL(fdoClassDef, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL(fdoClassCol, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
     FdoPtr<FdoPropertyDefinitionCollection> fdoPropDefCol = fdoClassDef->GetProperties();
-    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgdFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
 
     FdoPtr<FdoDataPropertyDefinitionCollection> fdoIdentityPropDefCol = (FdoDataPropertyDefinitionCollection*)fdoClassDef->GetIdentityProperties();
-    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgdFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
 
     //Set description
     STRING desc = mgClassDef->GetDescription();
@@ -2832,7 +2832,7 @@
 
     // Retrieve Class properties
     Ptr<MgPropertyDefinitionCollection> mgPropDefCol = mgClassDef->GetProperties();
-    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgdFeatureUtil.UpdateFdoClassDefinition");
+    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgPortableFeatureUtil.UpdateFdoClassDefinition");
 
     //Retrieve identity properties
     Ptr<MgPropertyDefinitionCollection> awDataPropDefCol = mgClassDef->GetIdentityProperties();
@@ -2853,11 +2853,11 @@
             FdoPtr<FdoClassDefinition> fdoBaseDef = fdoClassCol->FindItem(bname.c_str());
             if (fdoBaseDef == NULL) // Not found
             {
-                fdoBaseDef = MgdFeatureUtil::GetFdoClassDefinition(awBaseDef, fdoClassCol); // Create a new one
+                fdoBaseDef = MgPortableFeatureUtil::GetFdoClassDefinition(awBaseDef, fdoClassCol); // Create a new one
                 if (fdoBaseDef != NULL)
                 {
                     FdoStringP nameBase = fdoBaseDef->GetName();
-                    if (!MgdFeatureUtil::FdoClassExist(nameBase, fdoClassCol))
+                    if (!MgPortableFeatureUtil::FdoClassExist(nameBase, fdoClassCol))
                         fdoClassCol->Add(fdoBaseDef);
                 }
                 fdoClassDef->SetBaseClass(fdoBaseDef);
@@ -2882,18 +2882,18 @@
     {
         FdoFeatureClass* fdoFeatureClass = dynamic_cast<FdoFeatureClass*>(fdoClassDef);
         if (NULL == fdoFeatureClass)
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
 
         FdoPtr<FdoGeometricPropertyDefinition> defaultGeom = (FdoGeometricPropertyDefinition*)fdoPropDefCol->GetItem(geomName.c_str());
         fdoFeatureClass->SetGeometryProperty(defaultGeom);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateFdoClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateFdoClassDefinition")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateClassProperties(
+void MgPortableFeatureUtil::UpdateClassProperties(
     MgPropertyDefinitionCollection* propDefCol,
     FdoPropertyDefinitionCollection* fdoPropDefCol,
     FdoClassCollection* fdoClassCol)
@@ -2909,7 +2909,7 @@
     {
         // Get Mg Property
         Ptr<MgPropertyDefinition> awpd = propDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*)awpd, L"MgdFeatureUtil.UpdateClassProperties");
+        CHECKNULL((MgPropertyDefinition*)awpd, L"MgPortableFeatureUtil.UpdateClassProperties");
         STRING propName = awpd->GetName();
 
         FdoPtr<FdoPropertyDefinition> fdoOldProp = fdoPropDefCol->FindItem(propName.c_str());
@@ -2918,7 +2918,7 @@
             if (!awpd->IsDeleted())
             {
                 // Create Fdo Property
-                FdoPtr<FdoPropertyDefinition> fdoProp = MgdFeatureUtil::GetFdoPropertyDefinition(awpd, fdoClassCol);
+                FdoPtr<FdoPropertyDefinition> fdoProp = MgPortableFeatureUtil::GetFdoPropertyDefinition(awpd, fdoClassCol);
                 // Add it to class definition
                 if (fdoProp != NULL)
                 {
@@ -2937,12 +2937,12 @@
             }
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateClassProperties")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateClassProperties(
+void MgPortableFeatureUtil::UpdateClassProperties(
     FdoDataPropertyDefinitionCollection* fdoPropDefCol,
     MgPropertyDefinitionCollection* mgPropDefCol)
 {
@@ -2957,7 +2957,7 @@
     {
         //Get property
         Ptr<MgPropertyDefinition> mgPropDef = mgPropDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgdFeatureUtil.UpdateClassProperties");
+        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgPortableFeatureUtil.UpdateClassProperties");
         STRING propName = mgPropDef->GetName();
 
         FdoPtr<FdoDataPropertyDefinition> fdoOldProp = fdoPropDefCol->FindItem(propName.c_str());
@@ -2985,17 +2985,17 @@
             }
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateClassProperties")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateFdoPropertyDefinition(
+void MgPortableFeatureUtil::UpdateFdoPropertyDefinition(
     MgPropertyDefinition* mgPropDef,
     FdoPropertyDefinition* fdoPropDef,
     FdoClassCollection* fdoClassCol)
 {
-    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.UpdateFdoPropertyDefinition");
+    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.UpdateFdoPropertyDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -3007,7 +3007,7 @@
         {
             FdoDataPropertyDefinition* fdoDataPropDef = dynamic_cast<FdoDataPropertyDefinition*>(fdoPropDef);
             if (NULL == fdoDataPropDef)
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
 
             UpdateDataPropertyDefinition((MgDataPropertyDefinition*)mgPropDef, fdoDataPropDef);
             break;
@@ -3017,7 +3017,7 @@
         {
             FdoObjectPropertyDefinition* fdoObjectPropDef = dynamic_cast<FdoObjectPropertyDefinition*>(fdoPropDef);
             if (NULL == fdoObjectPropDef)
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
 
             UpdateObjectPropertyDefinition((MgObjectPropertyDefinition*)mgPropDef, fdoObjectPropDef, fdoClassCol);
             break;
@@ -3028,7 +3028,7 @@
         {
             FdoGeometricPropertyDefinition* fdoGeometricPropDef = dynamic_cast<FdoGeometricPropertyDefinition*>(fdoPropDef);
             if (NULL == fdoGeometricPropDef)
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
 
             UpdateGeometricPropertyDefinition((MgGeometricPropertyDefinition*)mgPropDef, fdoGeometricPropDef);
             break;
@@ -3045,23 +3045,23 @@
         {
             FdoRasterPropertyDefinition* fdoRasterPropDef = dynamic_cast<FdoRasterPropertyDefinition*>(fdoPropDef);
             if (NULL == fdoRasterPropDef)
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureUtil.UpdateFdoClassDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
 
             UpdateRasterPropertyDefinition((MgRasterPropertyDefinition*)mgPropDef, fdoRasterPropDef);
             break;
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateFdoPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateFdoPropertyDefinition")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateDataPropertyDefinition(
+void MgPortableFeatureUtil::UpdateDataPropertyDefinition(
     MgDataPropertyDefinition* mgPropDef,
     FdoDataPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL(mgPropDef, L"MgdFeatureUtil.UpdateFdoPropertyDefinition");
-    CHECKNULL(fdoPropDef, L"MgdFeatureUtil.UpdateFdoPropertyDefinition");
+    CHECKNULL(mgPropDef, L"MgPortableFeatureUtil.UpdateFdoPropertyDefinition");
+    CHECKNULL(fdoPropDef, L"MgPortableFeatureUtil.UpdateFdoPropertyDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -3105,18 +3105,18 @@
     if (isAutoGenerated != fdoPropDef->GetIsAutoGenerated())
         fdoPropDef->SetIsAutoGenerated(isAutoGenerated);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateDataPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateDataPropertyDefinition")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateObjectPropertyDefinition(
+void MgPortableFeatureUtil::UpdateObjectPropertyDefinition(
     MgObjectPropertyDefinition* objPropDef,
     FdoObjectPropertyDefinition* fdoPropDef,
     FdoClassCollection* fdoClassCol)
 {
-    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgdFeatureUtil.UpdateObjectPropertyDefinition");
-    CHECKNULL((FdoObjectPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.UpdateObjectPropertyDefinition");
+    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgPortableFeatureUtil.UpdateObjectPropertyDefinition");
+    CHECKNULL((FdoObjectPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.UpdateObjectPropertyDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -3134,7 +3134,7 @@
         if (!FdoClassExist(clsName.c_str(), fdoClassCol))
         {
             FdoPtr<FdoClassDefinition> fdoClsDef = GetFdoClassDefinition(clsDef, fdoClassCol);
-            CHECKNULL(fdoClsDef, L"MgdFeatureUtil.UpdateObjectPropertyDefinition")
+            CHECKNULL(fdoClsDef, L"MgPortableFeatureUtil.UpdateObjectPropertyDefinition")
             fdoClassCol->Add(fdoClsDef);
         }
         else
@@ -3166,17 +3166,17 @@
     if (fdoOrderType != fdoPropDef->GetOrderType())
         fdoPropDef->SetOrderType(fdoOrderType);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateObjectPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateObjectPropertyDefinition")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateGeometricPropertyDefinition(
+void MgPortableFeatureUtil::UpdateGeometricPropertyDefinition(
     MgGeometricPropertyDefinition* mgPropDef,
     FdoGeometricPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.UpdateGeometricPropertyDefinition");
-    CHECKNULL((FdoGeometricPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.UpdateGeometricPropertyDefinition");
+    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.UpdateGeometricPropertyDefinition");
+    CHECKNULL((FdoGeometricPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.UpdateGeometricPropertyDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -3238,17 +3238,17 @@
     if(spatialContextName != fdoPropDef->GetSpatialContextAssociation())
         fdoPropDef->SetSpatialContextAssociation((FdoString*)spatialContextName.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateGeometricPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateGeometricPropertyDefinition")
 }
 
 
 //////////////////////////////////////////////////////////////////
-void MgdFeatureUtil::UpdateRasterPropertyDefinition(
+void MgPortableFeatureUtil::UpdateRasterPropertyDefinition(
     MgRasterPropertyDefinition* mgPropDef,
     FdoRasterPropertyDefinition* fdoPropDef)
 {
-    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgdFeatureUtil.UpdateRasterPropertyDefinition");
-    CHECKNULL((FdoRasterPropertyDefinition*)fdoPropDef, L"MgdFeatureUtil.UpdateRasterPropertyDefinition");
+    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgPortableFeatureUtil.UpdateRasterPropertyDefinition");
+    CHECKNULL((FdoRasterPropertyDefinition*)fdoPropDef, L"MgPortableFeatureUtil.UpdateRasterPropertyDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -3281,12 +3281,12 @@
     if (spatialContextName != fdoPropDef->GetSpatialContextAssociation())
         fdoPropDef->SetSpatialContextAssociation((FdoString*)spatialContextName.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.UpdateRasterPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.UpdateRasterPropertyDefinition")
 }
 
-MgClassDefinition* MgdFeatureUtil::CloneMgClassDefinition(MgClassDefinition* classDef)
+MgClassDefinition* MgPortableFeatureUtil::CloneMgClassDefinition(MgClassDefinition* classDef)
 {
-    CHECKNULL((MgClassDefinition*)classDef, L"MgdFeatureUtil.CloneMgClassDefinition");
+    CHECKNULL((MgClassDefinition*)classDef, L"MgPortableFeatureUtil.CloneMgClassDefinition");
 
     Ptr<MgClassDefinition> clone;
 
@@ -3299,14 +3299,14 @@
     clone = new MgClassDefinition();
     clone->Deserialize(stream);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.CloneMgClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.CloneMgClassDefinition")
 
     return clone.Detach();
 }
 
-MgFeatureSchema* MgdFeatureUtil::CloneMgSchema(MgFeatureSchema* schema)
+MgFeatureSchema* MgPortableFeatureUtil::CloneMgSchema(MgFeatureSchema* schema)
 {
-    CHECKNULL((MgFeatureSchema*)schema, L"MgdFeatureUtil.CloneMgSchema");
+    CHECKNULL((MgFeatureSchema*)schema, L"MgPortableFeatureUtil.CloneMgSchema");
 
     Ptr<MgFeatureSchema> clone;
 
@@ -3321,22 +3321,22 @@
         Ptr<MgClassDefinition> klass = classes->GetItem(i);
         Ptr<MgClassDefinition> clonedClass = CloneMgClassDefinition(klass);
 
-        CHECKNULL((MgClassDefinition*)clonedClass, L"MgdFeatureUtil.CloneMgSchema");
+        CHECKNULL((MgClassDefinition*)clonedClass, L"MgPortableFeatureUtil.CloneMgSchema");
         clonedClasses->Add(clonedClass);        
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureUtil.CloneMgSchema")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureUtil.CloneMgSchema")
 
     return clone.Detach();
 }
 
-void MgdFeatureUtil::UpdateFdoPropertyValue(FdoPropertyValue* fp, MgProperty* srcProp)
+void MgPortableFeatureUtil::UpdateFdoPropertyValue(FdoPropertyValue* fp, MgProperty* srcProp)
 {
-    CHECKNULL((FdoPropertyValue*)fp, L"MgdFeatureUtil.UpdateFdoPropertyValue");
-    CHECKNULL((MgProperty*)srcProp, L"MgdFeatureUtil.UpdateFdoPropertyValue");
+    CHECKNULL((FdoPropertyValue*)fp, L"MgPortableFeatureUtil.UpdateFdoPropertyValue");
+    CHECKNULL((MgProperty*)srcProp, L"MgPortableFeatureUtil.UpdateFdoPropertyValue");
 
     FdoPtr<FdoValueExpression> expr = fp->GetValue();
-    CHECKNULL((FdoValueExpression*)expr, L"MgdFeatureUtil.UpdateFdoPropertyValue");
+    CHECKNULL((FdoValueExpression*)expr, L"MgPortableFeatureUtil.UpdateFdoPropertyValue");
 
     switch(srcProp->GetPropertyType())
     {
@@ -3449,9 +3449,9 @@
     }
 }
 
-FdoIdentifierCollection* MgdFeatureUtil::ExtractIdentifiers(FdoExpression* expr)
+FdoIdentifierCollection* MgPortableFeatureUtil::ExtractIdentifiers(FdoExpression* expr)
 {
-    CHECKNULL(expr, L"MgdFeatureUtil.ExtractIdentifiers");
+    CHECKNULL(expr, L"MgPortableFeatureUtil.ExtractIdentifiers");
 
     FdoPtr<FdoIdentifierCollection> ret;
     MG_FEATURE_SERVICE_TRY()

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/FeatureUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/FeatureUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_FEATURE_UTIL
 #define DESKTOP_FEATURE_UTIL
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Fdo.h"
 
 #define EQUAL_CATEGORY      0
@@ -45,7 +45,7 @@
 
 class MgReader;
 
-class MG_DESKTOP_API MgdFeatureUtil
+class MG_DESKTOP_API MgPortableFeatureUtil
 {
 public:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/GeometryDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdGeometryDataReaderCreator : public MgdDataReaderCreator<MgGeometry*>
+class MgPortableGeometryDataReaderCreator : public MgPortableDataReaderCreator<MgGeometry*>
 {
-    DECLARE_CLASSNAME(MgdGeometryDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableGeometryDataReaderCreator)
 
 public:
-    MgdGeometryDataReaderCreator()
+    MgPortableGeometryDataReaderCreator()
     {
     }
 
-    MgdGeometryDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableGeometryDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Geometry;
     }
 
-    ~MgdGeometryDataReaderCreator()
+    ~MgPortableGeometryDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/GwsConnectionPool.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,19 +17,19 @@
 
 #include "GwsConnectionPool.h"
 
-MgdGwsConnectionPool* MgdGwsConnectionPool::Create()
+MgPortableGwsConnectionPool* MgPortableGwsConnectionPool::Create()
 {
-    MgdGwsConnectionPool* pool = new MgdGwsConnectionPool();
+    MgPortableGwsConnectionPool* pool = new MgPortableGwsConnectionPool();
     pool->AddRef();
     return pool;
 }
 
-MgdGwsConnectionPool::MgdGwsConnectionPool ()
+MgPortableGwsConnectionPool::MgPortableGwsConnectionPool ()
 {
     m_iRefCount = 0;
 }
 
-MgdGwsConnectionPool::~MgdGwsConnectionPool ()
+MgPortableGwsConnectionPool::~MgPortableGwsConnectionPool ()
 {
     if (!m_connections.empty())
     {
@@ -37,7 +37,7 @@
              iter != m_connections.end();
              iter++)
         {
-            MgdFeatureConnection * conn = (*iter).second;
+            MgPortableFeatureConnection * conn = (*iter).second;
             if(conn)
             {
                 conn->Release ();
@@ -47,11 +47,11 @@
     }
 }
 
-FdoInt32 MgdGwsConnectionPool::AddRef ()
+FdoInt32 MgPortableGwsConnectionPool::AddRef ()
 {
     return m_iRefCount ++;
 }
-FdoInt32 MgdGwsConnectionPool::Release ()
+FdoInt32 MgPortableGwsConnectionPool::Release ()
 {
     m_iRefCount --;
     assert (m_iRefCount >= 0);
@@ -61,23 +61,23 @@
     Dispose ();
     return 0;
 }
-void MgdGwsConnectionPool::Dispose ()
+void MgPortableGwsConnectionPool::Dispose ()
 {
     delete this;
 }
 
-IGWSObject * MgdGwsConnectionPool::GetOwner ()
+IGWSObject * MgPortableGwsConnectionPool::GetOwner ()
 {
     return NULL;
 }
 
-void MgdGwsConnectionPool::SetOwner (IGWSObject * pObj)
+void MgPortableGwsConnectionPool::SetOwner (IGWSObject * pObj)
 {
 }
 
 // Gws Query engine expects that this method throws exception
 // in case when connection is not found in the pool
-FdoIConnection * MgdGwsConnectionPool::GetConnection (FdoString * name)
+FdoIConnection * MgPortableGwsConnectionPool::GetConnection (FdoString * name)
 {
     FdoIConnection* fdoConn = NULL;
 
@@ -97,7 +97,7 @@
 
     }
 
-    MgdFeatureConnection * conn = (*iter).second;
+    MgPortableFeatureConnection * conn = (*iter).second;
     if(conn)
     {
         fdoConn = conn->GetConnection();
@@ -105,9 +105,9 @@
     return fdoConn;
 }
 
-void MgdGwsConnectionPool::AddConnection (
+void MgPortableGwsConnectionPool::AddConnection (
     FdoString       * name,
-    MgdFeatureConnection* conn
+    MgPortableFeatureConnection* conn
 )
 {
     if (name == NULL || * name == 0 || conn == NULL)
@@ -126,7 +126,7 @@
 }
 
 
-void MgdGwsConnectionPool::RemoveConnection (FdoString * name)
+void MgPortableGwsConnectionPool::RemoveConnection (FdoString * name)
 {
     if (name == NULL || * name == 0)
         throw IGWSException::Create (eGwsNullPointer);
@@ -136,7 +136,7 @@
         throw IGWSException::Create (eGwsSessionNotFound);
     }
 
-    MgdFeatureConnection * conn = (*iter).second;
+    MgPortableFeatureConnection * conn = (*iter).second;
     if(conn)
     {
         conn->Release ();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/GwsConnectionPool.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/GwsConnectionPool.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,21 +21,21 @@
 #include "GwsQueryEngine.h"
 #include "GwsCommonImp.h"
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
 typedef GwsIgnoreCase MgGwsIgnoreCase;
 
-typedef std::map<std::wstring,MgdFeatureConnection*,MgGwsIgnoreCase> MgGwsConnectionMap;
+typedef std::map<std::wstring,MgPortableFeatureConnection*,MgGwsIgnoreCase> MgGwsConnectionMap;
 typedef MgGwsConnectionMap::iterator  MgGwsConnectionIter;
 typedef MgGwsConnectionMap::value_type MgGwsConnectionMapValue;
 
 
-class MgdGwsConnectionPool : public IGWSConnectionPool
+class MgPortableGwsConnectionPool : public IGWSConnectionPool
 {
 public:
 
     // Creation
-    static MgdGwsConnectionPool* Create();
+    static MgPortableGwsConnectionPool* Create();
 
     // IGWSDisposable methods
     virtual FdoInt32 AddRef();
@@ -52,7 +52,7 @@
     // Native methods
 
     // add connection to the pool
-    void AddConnection(FdoString* name, MgdFeatureConnection* conn);
+    void AddConnection(FdoString* name, MgPortableFeatureConnection* conn);
 
     // remove connection from the pool
     void RemoveConnection(FdoString* name);
@@ -61,8 +61,8 @@
 
 protected:
     // Construction/destruction
-    MgdGwsConnectionPool();
-    virtual ~MgdGwsConnectionPool();
+    MgPortableGwsConnectionPool();
+    virtual ~MgPortableGwsConnectionPool();
 
 protected:
     int m_iRefCount;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/GwsFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,12 +24,12 @@
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Construct a MgdGwsFeatureReader object from a byte source
+/// Construct a MgPortableGwsFeatureReader object from a byte source
 ///</summary>
 ///<param name="byteSource">Byte  source object</param>
 ///
-MgdGwsFeatureReader::MgdGwsFeatureReader(
-    MgdGwsConnectionPool* pool,
+MgPortableGwsFeatureReader::MgPortableGwsFeatureReader(
+    MgPortableGwsConnectionPool* pool,
     IGWSFeatureIterator* gwsFeatureIterator,
     IGWSFeatureIterator* gwsFeatureIteratorCopy,
     CREFSTRING extensionName,
@@ -60,15 +60,15 @@
 
     m_pool = SAFE_ADDREF(pool);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.MgdGwsFeatureReader")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.MgPortableGwsFeatureReader")
 }
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Construct an uninitialized MgdGwsFeatureReader object
+/// Construct an uninitialized MgPortableGwsFeatureReader object
 ///</summary>
 ///
-MgdGwsFeatureReader::MgdGwsFeatureReader()
+MgPortableGwsFeatureReader::MgPortableGwsFeatureReader()
 {
     m_gwsFeatureIterator = NULL;
     m_gwsFeatureIteratorCopy = NULL;
@@ -87,10 +87,10 @@
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Destruct a MgdGwsFeatureReader object
+/// Destruct a MgPortableGwsFeatureReader object
 ///</summary>
 ///
-MgdGwsFeatureReader::~MgdGwsFeatureReader()
+MgPortableGwsFeatureReader::~MgPortableGwsFeatureReader()
 {
     // DO NOT Close() the FDO reader from here or free the reader resources because
     // we may be reading incrementally from the web tier and the ServerFeatureInstance
@@ -109,10 +109,10 @@
     m_pool = NULL;
 }
 
-void MgdGwsFeatureReader::SetFilter(FdoFilter* filter)
+void MgPortableGwsFeatureReader::SetFilter(FdoFilter* filter)
 {
     // Create the join reader
-    m_joinReader = new MgdJoinFeatureReader(this);
+    m_joinReader = new MgPortableJoinFeatureReader(this);
 
     if(NULL != filter)
     {
@@ -153,9 +153,9 @@
 /// <returns>
 /// Returns true if there is a next item.
 /// </returns>
-bool MgdGwsFeatureReader::ReadNext()
+bool MgPortableGwsFeatureReader::ReadNext()
 {
-    CHECKNULL(m_gwsFeatureIterator, L"MgdGwsFeatureReader.ReadNext");
+    CHECKNULL(m_gwsFeatureIterator, L"MgPortableGwsFeatureReader.ReadNext");
 
     bool retVal = false;
 
@@ -201,7 +201,7 @@
                 if (m_attributeNameDelimiters->GetCount() != (INT32)m_primaryExtendedFeatureDescription->GetCount())
                 {
                     // Should never get here
-                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGwsFeatureReader.ReadNext",
+                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGwsFeatureReader.ReadNext",
                         __LINE__, __WFILE__, NULL, L"MgInvalidCollectionSize", NULL);
                 }
 
@@ -320,7 +320,7 @@
                         if (m_attributeNameDelimiters->GetCount() != (INT32)m_primaryExtendedFeatureDescription->GetCount())
                         {
                             // Should never get here
-                            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGwsFeatureReader.ReadNext",
+                            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGwsFeatureReader.ReadNext",
                                 __LINE__, __WFILE__, NULL, L"MgInvalidCollectionSize", NULL);
                         }
 
@@ -407,7 +407,7 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.ReadNext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.ReadNext")
 
     return retVal;
 }
@@ -421,7 +421,7 @@
 /// </summary>
 /// <returns>A MgClassDefinition representing the current object
 ///</returns>
-MgClassDefinition* MgdGwsFeatureReader::GetClassDefinition()
+MgClassDefinition* MgPortableGwsFeatureReader::GetClassDefinition()
 {
     // Check to see if the class definition cached contains the XML information
     bool bGetClassDefinition = true;
@@ -455,7 +455,7 @@
 /// NOTE: This is internal API used by the mapping service
 /// in the case where we do not want to spend time
 /// serializing the class definition to XML
-MgClassDefinition* MgdGwsFeatureReader::GetClassDefinitionNoXml()
+MgClassDefinition* MgPortableGwsFeatureReader::GetClassDefinitionNoXml()
 {
     return SAFE_ADDREF((MgClassDefinition*)m_classDef);
 }
@@ -467,7 +467,7 @@
 /// </summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns true if the value is null.</returns>
-bool MgdGwsFeatureReader::IsNull(CREFSTRING propertyName)
+bool MgPortableGwsFeatureReader::IsNull(CREFSTRING propertyName)
 {
     bool retVal = true;
 
@@ -482,7 +482,7 @@
         retVal = gwsFeatureIter->IsNull(parsedPropertyName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.IsNull");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.IsNull");
 
     return retVal;
 }
@@ -494,7 +494,7 @@
 /// is undertermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the Boolean value.</returns>
-bool MgdGwsFeatureReader::GetBoolean(CREFSTRING propertyName)
+bool MgPortableGwsFeatureReader::GetBoolean(CREFSTRING propertyName)
 {
     bool retVal = false;
 
@@ -504,7 +504,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetBoolean");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetBoolean");
 
     try
     {
@@ -517,7 +517,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetBoolean",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetBoolean",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -524,7 +524,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetBoolean");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetBoolean");
 
     return retVal;
 }
@@ -536,7 +536,7 @@
 /// is undertermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the Byte value.</returns>
-BYTE MgdGwsFeatureReader::GetByte(CREFSTRING propertyName)
+BYTE MgPortableGwsFeatureReader::GetByte(CREFSTRING propertyName)
 {
     BYTE retVal = 0;
 
@@ -546,7 +546,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetByte");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetByte");
 
     try
     {
@@ -559,7 +559,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetByte",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetByte",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -566,7 +566,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetByte");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetByte");
 
     return retVal;
 }
@@ -578,7 +578,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the DTime value.</returns>
-MgDateTime* MgdGwsFeatureReader::GetDateTime(CREFSTRING propertyName)
+MgDateTime* MgPortableGwsFeatureReader::GetDateTime(CREFSTRING propertyName)
 {
     Ptr<MgDateTime> retVal;
 
@@ -588,7 +588,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetDateTime");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetDateTime");
 
     try
     {
@@ -603,7 +603,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetDateTime",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetDateTime",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -610,7 +610,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetDateTime");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetDateTime");
 
     return retVal.Detach();
 }
@@ -622,7 +622,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the single value.</returns>
-float MgdGwsFeatureReader::GetSingle(CREFSTRING propertyName)
+float MgPortableGwsFeatureReader::GetSingle(CREFSTRING propertyName)
 {
     float retVal = 0.0f;
 
@@ -632,7 +632,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetSingle");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetSingle");
 
     try
     {
@@ -645,7 +645,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetSingle",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetSingle",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -652,7 +652,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetSingle");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetSingle");
 
     return retVal;
 }
@@ -664,7 +664,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the double value.</returns>
-double MgdGwsFeatureReader::GetDouble(CREFSTRING propertyName)
+double MgPortableGwsFeatureReader::GetDouble(CREFSTRING propertyName)
 {
     double retVal = 0.0;
 
@@ -674,7 +674,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetDouble");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetDouble");
 
     try
     {
@@ -687,7 +687,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetDouble",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetDouble",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -694,7 +694,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetDouble");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetDouble");
 
     return retVal;
 }
@@ -706,7 +706,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the integer 16 bits value.</returns>
-INT16 MgdGwsFeatureReader::GetInt16(CREFSTRING propertyName)
+INT16 MgPortableGwsFeatureReader::GetInt16(CREFSTRING propertyName)
 {
     INT16 retVal = 0;
 
@@ -716,7 +716,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetInt16");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetInt16");
 
     try
     {
@@ -729,7 +729,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetInt16",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetInt16",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -736,7 +736,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetInt16");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetInt16");
 
     return retVal;
 }
@@ -748,7 +748,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the integer 32 bits value.</returns>
-INT32 MgdGwsFeatureReader::GetInt32(CREFSTRING propertyName)
+INT32 MgPortableGwsFeatureReader::GetInt32(CREFSTRING propertyName)
 {
     INT32 retVal = 0;
 
@@ -758,7 +758,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetInt32");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetInt32");
 
     try
     {
@@ -771,7 +771,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetInt32",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetInt32",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -778,7 +778,7 @@
             throw;
         }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetInt32");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetInt32");
 
     return retVal;
 }
@@ -792,7 +792,7 @@
 /// <returns>Returns the integer 64 bits value.
 /// Note: INT64 is actually a pointer to an Integer64 object
 ///</returns>
-INT64 MgdGwsFeatureReader::GetInt64(CREFSTRING propertyName)
+INT64 MgPortableGwsFeatureReader::GetInt64(CREFSTRING propertyName)
 {
     INT64 retVal = 0;
 
@@ -802,7 +802,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetInt64");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetInt64");
 
     try
     {
@@ -815,7 +815,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetInt64",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetInt64",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -822,7 +822,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetInt64");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetInt64");
 
     return retVal;
 }
@@ -834,7 +834,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the string value.</returns>
-STRING MgdGwsFeatureReader::GetString(CREFSTRING propertyName)
+STRING MgPortableGwsFeatureReader::GetString(CREFSTRING propertyName)
 {
     STRING retVal = L"";
 
@@ -844,7 +844,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetString");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetString");
 
     try
     {
@@ -861,7 +861,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetString",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetString",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -868,7 +868,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetString");
 
     return retVal;
 }
@@ -880,7 +880,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the BLOB value.</returns>
-MgByteReader* MgdGwsFeatureReader::GetBLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableGwsFeatureReader::GetBLOB(CREFSTRING propertyName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -890,7 +890,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetBLOB");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetBLOB");
 
     try
     {
@@ -914,7 +914,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetBLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetBLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -921,7 +921,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetBLOB");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetBLOB");
 
     return byteReader.Detach();
 }
@@ -933,7 +933,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the CLOB value.</returns>
-MgByteReader* MgdGwsFeatureReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableGwsFeatureReader::GetCLOB(CREFSTRING propertyName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -943,7 +943,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetCLOB");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetCLOB");
 
     try
     {
@@ -967,7 +967,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetCLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetCLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -974,7 +974,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetCLOB");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetCLOB");
 
     return byteReader.Detach();
 }
@@ -988,10 +988,10 @@
 /// <returns>Returns the feature reader to access this object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgFeatureReader* MgdGwsFeatureReader::GetFeatureObject(CREFSTRING propertyName)
+MgFeatureReader* MgPortableGwsFeatureReader::GetFeatureObject(CREFSTRING propertyName)
 {
     // TODO: Figure out how to support object properties.
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdGwsFeatureReader.GetFeatureObject", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableGwsFeatureReader.GetFeatureObject", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 //////////////////////////////////////////////////////////////////
@@ -1001,7 +1001,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns a ByteReader object</returns>
-MgByteReader* MgdGwsFeatureReader::GetGeometry(CREFSTRING propertyName)
+MgByteReader* MgPortableGwsFeatureReader::GetGeometry(CREFSTRING propertyName)
 {
     Ptr<MgByteReader> retVal;
 
@@ -1011,7 +1011,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetGeometry");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetGeometry");
 
     try
     {
@@ -1033,7 +1033,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -1040,7 +1040,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetGeometry");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetGeometry");
 
     return retVal.Detach();
 }
@@ -1054,7 +1054,7 @@
 /// <returns>Returns the Geometry object.</returns>
 /// EXCEPTIONS:
 /// InvalidPropertyType
-MgRaster* MgdGwsFeatureReader::GetRaster(CREFSTRING propertyName)
+MgRaster* MgPortableGwsFeatureReader::GetRaster(CREFSTRING propertyName)
 {
     Ptr<MgRaster> retVal;
     STRING gwsFeatureReader = L"";
@@ -1065,7 +1065,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetRaster");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetRaster");
 
     // TODO: The IsNull() check is returning true for WFS/WMS FDO providers when there is valid data.
     //       In this case it should really be returning false so that the data can be retrieved.
@@ -1076,19 +1076,19 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader.GetRaster",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader.GetRaster",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
     {
         FdoPtr<FdoIRaster> raster = gwsFeatureIter->GetRaster(parsedPropertyName.c_str());
-        CHECKNULL((FdoIRaster*)raster, L"MgdGwsFeatureReader.GetRaster");
+        CHECKNULL((FdoIRaster*)raster, L"MgPortableGwsFeatureReader.GetRaster");
 
-        retVal = MgdFeatureUtil::GetMgRaster(raster, parsedPropertyName);
-        CHECKNULL((MgRaster*)retVal, L"MgdGwsFeatureReader.GetRaster");
+        retVal = MgPortableFeatureUtil::GetMgRaster(raster, parsedPropertyName);
+        CHECKNULL((MgRaster*)retVal, L"MgPortableGwsFeatureReader.GetRaster");
 
         // Get the service from service manager
-        Ptr<MgFeatureService> rasterHelp = new MgdRasterHelper(this);
+        Ptr<MgFeatureService> rasterHelp = new MgPortableRasterHelper(this);
         retVal->SetMgService(rasterHelp);
         //MgRaster demands a handle
         STRING handle;
@@ -1096,12 +1096,12 @@
         retVal->SetHandle(handle);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetRaster");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetRaster");
 
     return retVal.Detach();
 }
 
-MgByteReader* MgdGwsFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
+MgByteReader* MgPortableGwsFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1111,8 +1111,8 @@
     if (!m_classDef->HasRasterProperty())
     {
         // TODO: specify which argument and message, once we have the mechanism
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingRasterProperty");
-        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdFeatureReader::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingRasterProperty");
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableFeatureReader::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // There can be more than one Raster property
@@ -1124,116 +1124,116 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(rasterPropName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetRaster");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetRaster");
 
     // If this property is requested then we fetch the raster data
-    byteReader = MgdFeatureUtil::GetRaster(gwsFeatureIter, parsedPropertyName, xSize, ySize);
+    byteReader = MgPortableFeatureUtil::GetRaster(gwsFeatureIter, parsedPropertyName, xSize, ySize);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetRaster")
 
     return byteReader.Detach();
 }
 
 // getter by index
-BYTE_ARRAY_OUT MgdGwsFeatureReader::GetGeometry(INT32 index, INT32& length)
+BYTE_ARRAY_OUT MgPortableGwsFeatureReader::GetGeometry(INT32 index, INT32& length)
 {
     STRING propertyName = GetPropertyName(index);
     return GetGeometry(propertyName, length);
 }
 
-MgByteReader* MgdGwsFeatureReader::GetGeometry(INT32 index)
+MgByteReader* MgPortableGwsFeatureReader::GetGeometry(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetGeometry(propertyName);
 }
 
-MgFeatureReader*  MgdGwsFeatureReader::GetFeatureObject(INT32 index)
+MgFeatureReader*  MgPortableGwsFeatureReader::GetFeatureObject(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetFeatureObject(propertyName);
 }
 
-bool MgdGwsFeatureReader::GetBoolean(INT32 index)
+bool MgPortableGwsFeatureReader::GetBoolean(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetBoolean(propertyName);
 }
 
-BYTE MgdGwsFeatureReader::GetByte(INT32 index)
+BYTE MgPortableGwsFeatureReader::GetByte(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetByte(propertyName);
 }
 
-MgDateTime* MgdGwsFeatureReader::GetDateTime(INT32 index)
+MgDateTime* MgPortableGwsFeatureReader::GetDateTime(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetDateTime(propertyName);
 }
 
-double MgdGwsFeatureReader::GetDouble(INT32 index)
+double MgPortableGwsFeatureReader::GetDouble(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetDouble(propertyName);
 }
 
-INT16 MgdGwsFeatureReader::GetInt16(INT32 index)
+INT16 MgPortableGwsFeatureReader::GetInt16(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetInt16(propertyName);
 }
 
-INT32 MgdGwsFeatureReader::GetInt32(INT32 index)
+INT32 MgPortableGwsFeatureReader::GetInt32(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetInt32(propertyName);
 }
 
-INT64 MgdGwsFeatureReader::GetInt64(INT32 index)
+INT64 MgPortableGwsFeatureReader::GetInt64(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetInt64(propertyName);
 }
 
-float MgdGwsFeatureReader::GetSingle(INT32 index)
+float MgPortableGwsFeatureReader::GetSingle(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetSingle(propertyName);
 }
 
-STRING MgdGwsFeatureReader::GetString(INT32 index)
+STRING MgPortableGwsFeatureReader::GetString(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetString(propertyName);
 }
 
-MgByteReader* MgdGwsFeatureReader::GetBLOB(INT32 index)
+MgByteReader* MgPortableGwsFeatureReader::GetBLOB(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetBLOB(propertyName);
 }
 
-MgByteReader* MgdGwsFeatureReader::GetCLOB(INT32 index)
+MgByteReader* MgPortableGwsFeatureReader::GetCLOB(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetCLOB(propertyName);
 }
 
-bool MgdGwsFeatureReader::IsNull(INT32 index)
+bool MgPortableGwsFeatureReader::IsNull(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return IsNull(propertyName);
 }
 
- MgRaster* MgdGwsFeatureReader::GetRaster(INT32 index)
+ MgRaster* MgPortableGwsFeatureReader::GetRaster(INT32 index)
 {
     STRING propertyName = GetPropertyName(index);
     return GetRaster(propertyName);
 }
 
-void MgdGwsFeatureReader::Serialize(MgStream* stream)
+void MgPortableGwsFeatureReader::Serialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdGwsFeatureReader::Serialize");
+    NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::Serialize");
 }
 
 //////////////////////////////////////////////////////////////////
@@ -1244,9 +1244,9 @@
 /// Stream
 ///</param>
 
-void MgdGwsFeatureReader::Deserialize(MgStream* stream)
+void MgPortableGwsFeatureReader::Deserialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdGwsFeatureReader::Deserialize");
+    NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::Deserialize");
 }
 
 
@@ -1256,29 +1256,29 @@
 /// XML is serialized from the current position of feature reader in the order
 /// data are retrieved.
 /// <returns>MgByteReader holding XML.</returns>
-MgByteReader* MgdGwsFeatureReader::ToXml()
+MgByteReader* MgPortableGwsFeatureReader::ToXml()
 {
-    throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdGwsFeatureReader.ToXml",
+    throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableGwsFeatureReader.ToXml",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-string MgdGwsFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::GetResponseElementName"); }
+string MgPortableGwsFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::GetResponseElementName"); }
 
-string MgdGwsFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::GetResponseElementName"); }
+string MgPortableGwsFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::GetResponseElementName"); }
 
-void MgdGwsFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::ResponseStartUtf8"); }
+void MgPortableGwsFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::ResponseStartUtf8"); }
 
-void MgdGwsFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::ResponseEndUtf8"); }
+void MgPortableGwsFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::ResponseEndUtf8"); }
 
-void MgdGwsFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::BodyStartUtf8"); }
+void MgPortableGwsFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::BodyStartUtf8"); }
 
-void MgdGwsFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::BodyEndUtf8"); }
+void MgPortableGwsFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::BodyEndUtf8"); }
 
-void MgdGwsFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::CurrentToStringUtf8"); }
+void MgPortableGwsFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::CurrentToStringUtf8"); }
 
-void MgdGwsFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::CurrentToStringUtf8"); }
+void MgPortableGwsFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::CurrentToStringUtf8"); }
 
-void MgdGwsFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdGwsFeatureReader::HeaderToStringUtf8"); }
+void MgPortableGwsFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableGwsFeatureReader::HeaderToStringUtf8"); }
 
 //////////////////////////////////////////////////////////////////
 /// <summary>
@@ -1285,7 +1285,7 @@
 /// Releases all the resources of feature reader.
 /// This must be called when user is done with Feature Reader
 /// <returns>Nothing</returns>
-void MgdGwsFeatureReader::Close()
+void MgPortableGwsFeatureReader::Close()
 {
     MG_FEATURE_SERVICE_TRY()
 
@@ -1361,7 +1361,7 @@
          iter != connections->end();
          iter++)
     {
-        MgdFeatureConnection* conn = (*iter).second;
+        MgPortableFeatureConnection* conn = (*iter).second;
         conn->Close();
         //FdoPtr<FdoIConnection> fdoConn = conn->GetConnection();
         //fdoConn->Close();
@@ -1369,7 +1369,7 @@
 
     m_pool = NULL;
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.Close");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.Close");
 }
 
 
@@ -1380,7 +1380,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns a ByteReader object</returns>
-BYTE_ARRAY_OUT MgdGwsFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length)
+BYTE_ARRAY_OUT MgPortableGwsFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length)
 {
     const FdoByte* data = NULL;
 
@@ -1390,7 +1390,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader.GetGeometry");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader.GetGeometry");
 
     try
     {
@@ -1405,7 +1405,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader::GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader::GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -1412,7 +1412,7 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader::GetGeometry");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader::GetGeometry");
 
     return (BYTE_ARRAY_OUT)data;
 }
@@ -1424,7 +1424,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the string value.</returns>
-const wchar_t* MgdGwsFeatureReader::GetString(CREFSTRING propertyName, INT32& length)
+const wchar_t* MgPortableGwsFeatureReader::GetString(CREFSTRING propertyName, INT32& length)
 {
     FdoString* retVal;
 
@@ -1434,7 +1434,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdGwsFeatureReader::GetString");
+    CHECKNULL(gwsFeatureIter, L"MgPortableGwsFeatureReader::GetString");
 
     if(gwsFeatureIter->IsNull(parsedPropertyName.c_str()))
     {
@@ -1441,7 +1441,7 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdGwsFeatureReader::GetString",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableGwsFeatureReader::GetString",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
@@ -1453,18 +1453,18 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader::GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader::GetString");
 
     return ((const wchar_t*)retVal);
 }
 
-void MgdGwsFeatureReader::DeterminePropertyFeatureSource(CREFSTRING inputPropName,
+void MgPortableGwsFeatureReader::DeterminePropertyFeatureSource(CREFSTRING inputPropName,
                                                               IGWSFeatureIterator** gwsFeatureIter,
                                                               STRING& relationName,
                                                               STRING& className,
                                                               STRING& parsedPropName)
 {
-    CHECKNULL(m_gwsFeatureIterator, L"MgdGwsFeatureReader.DeterminePropertyFeatureSource");
+    CHECKNULL(m_gwsFeatureIterator, L"MgPortableGwsFeatureReader.DeterminePropertyFeatureSource");
 
     IGWSFeatureIterator* secondaryFeatureIter = NULL;
 
@@ -1482,7 +1482,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGwsFeatureReader.DeterminePropertyFeatureSource",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGwsFeatureReader.DeterminePropertyFeatureSource",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -1512,7 +1512,7 @@
              iter++)
         {
             secondaryFeatureIter = iter->second.Iterator();
-            CHECKNULL(secondaryFeatureIter, L"MgdGwsFeatureReader.DeterminePropertyFeatureSource");
+            CHECKNULL(secondaryFeatureIter, L"MgPortableGwsFeatureReader.DeterminePropertyFeatureSource");
 
             FdoPtr<IGWSExtendedFeatureDescription> secondaryDesc;
             secondaryFeatureIter->DescribeFeature(&secondaryDesc);
@@ -1584,7 +1584,7 @@
     }
 }
 
-void MgdGwsFeatureReader::DeterminePropertyFeatureSource(CREFSTRING inputPropName, IGWSFeatureIterator** gwsFeatureIter, STRING& parsedPropName)
+void MgPortableGwsFeatureReader::DeterminePropertyFeatureSource(CREFSTRING inputPropName, IGWSFeatureIterator** gwsFeatureIter, STRING& parsedPropName)
 {
     STRING relationName;
     STRING className;
@@ -1591,22 +1591,22 @@
     this->DeterminePropertyFeatureSource(inputPropName, gwsFeatureIter, relationName, className, parsedPropName);
 }
 
-GwsFeatureIteratorMap MgdGwsFeatureReader::GetSecondaryGwsFeatureIteratorMap()
+GwsFeatureIteratorMap MgPortableGwsFeatureReader::GetSecondaryGwsFeatureIteratorMap()
 {
     return m_secondaryGwsFeatureIteratorMap;
 }
 
-void MgdGwsFeatureReader::SetAdvancePrimaryIterator(bool bAdvancePrimary)
+void MgPortableGwsFeatureReader::SetAdvancePrimaryIterator(bool bAdvancePrimary)
 {
     m_bAdvancePrimaryIterator = bAdvancePrimary;
 }
 
-void MgdGwsFeatureReader::SetGwsFeatureIteratorMap(GwsFeatureIteratorMap featureIterMap)
+void MgPortableGwsFeatureReader::SetGwsFeatureIteratorMap(GwsFeatureIteratorMap featureIterMap)
 {
     m_secondaryGwsFeatureIteratorMap = featureIterMap;
 }
 
-MgStringCollection* MgdGwsFeatureReader::GetAttributeNameDelimiters()
+MgStringCollection* MgPortableGwsFeatureReader::GetAttributeNameDelimiters()
 {
     Ptr<MgStringCollection> stringCol = new MgStringCollection();
 
@@ -1618,17 +1618,17 @@
     return stringCol.Detach();
 }
 
-bool MgdGwsFeatureReader::IsForceOneToOne()
+bool MgPortableGwsFeatureReader::IsForceOneToOne()
 {
     return m_bForceOneToOne;
 }
 
-IGWSFeatureIterator* MgdGwsFeatureReader::GetFeatureIterator()
+IGWSFeatureIterator* MgPortableGwsFeatureReader::GetFeatureIterator()
 {
     return FDO_SAFE_ADDREF(m_gwsFeatureIterator.p);
 }
 
-void MgdGwsFeatureReader::ParseSecondaryPropertyName(CREFSTRING inputPropName, CREFSTRING delimiter, CREFSTRING secondaryProp, STRING& relationName, STRING& parsedPropName)
+void MgPortableGwsFeatureReader::ParseSecondaryPropertyName(CREFSTRING inputPropName, CREFSTRING delimiter, CREFSTRING secondaryProp, STRING& relationName, STRING& parsedPropName)
 {
     // Check if AttributeNameDelimiter is used.
     // If no delimiter is used, look for matching secondaryPropName in the inputPropName.
@@ -1650,14 +1650,14 @@
     }
 }
 
-FdoIFeatureReader* MgdGwsFeatureReader::GetJoinFeatureReader()
+FdoIFeatureReader* MgPortableGwsFeatureReader::GetJoinFeatureReader()
 {
     return FDO_SAFE_ADDREF(m_joinReader.p);
 }
 
-MgFeatureSet* MgdGwsFeatureReader::GetFeatures(INT32 count)
+MgFeatureSet* MgPortableGwsFeatureReader::GetFeatures(INT32 count)
 {
-    CHECKNULL(m_gwsFeatureIterator, L"MgdGwsFeatureReader.GetFeatures");
+    CHECKNULL(m_gwsFeatureIterator, L"MgPortableGwsFeatureReader.GetFeatures");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -1667,7 +1667,7 @@
     {
         // Get MgClassDefinition
         m_classDef = GetMgClassDefinition(true);
-        CHECKNULL(m_classDef.p, L"MgdGwsFeatureReader.GetFeatures");
+        CHECKNULL(m_classDef.p, L"MgPortableGwsFeatureReader.GetFeatures");
     }
 
     if (NULL == (MgFeatureSet*)m_featureSet)
@@ -1674,7 +1674,7 @@
     {
         // Create a feature set for a pool of features
         m_featureSet = new MgFeatureSet();
-        CHECKNULL((MgFeatureSet*)m_featureSet, L"MgdGwsFeatureReader.GetFeatures");
+        CHECKNULL((MgFeatureSet*)m_featureSet, L"MgPortableGwsFeatureReader.GetFeatures");
 
         // Assign feature class definition to Feature Set
         m_featureSet->SetClassDefinition(m_classDef);
@@ -1697,24 +1697,24 @@
     // Add all features to feature set
     AddFeatures(featCount);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetFeatures")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetFeatures")
 
     return SAFE_ADDREF((MgFeatureSet*)m_featureSet);
 }
 
-void MgdGwsFeatureReader::AddFeatures(INT32 count)
+void MgPortableGwsFeatureReader::AddFeatures(INT32 count)
 {
-    CHECKNULL(m_featureSet, L"MgdGwsFeatureReader.AddFeatures");
+    CHECKNULL(m_featureSet, L"MgPortableGwsFeatureReader.AddFeatures");
 
     INT32 desiredFeatures = 0;
 
     // Access the class definition
     Ptr<MgClassDefinition> classDef = m_featureSet->GetClassDefinition();
-    CHECKNULL((MgClassDefinition*)classDef, L"MgdGwsFeatureReader.AddFeatures");
+    CHECKNULL((MgClassDefinition*)classDef, L"MgPortableGwsFeatureReader.AddFeatures");
 
     // Access the property definition collection
     Ptr<MgPropertyDefinitionCollection> propDefCol = classDef->GetPropertiesIncludingBase();
-    CHECKNULL((MgPropertyDefinitionCollection*)propDefCol, L"MgdGwsFeatureReader.AddFeatures");
+    CHECKNULL((MgPropertyDefinitionCollection*)propDefCol, L"MgPortableGwsFeatureReader.AddFeatures");
 
     // How many properties are we fetching, it should be atleast one
     INT32 cnt = propDefCol->GetCount();
@@ -1766,9 +1766,9 @@
 }
 
 //////////////////////////////////////////////////////////////////
-void MgdGwsFeatureReader::AddFeature(MgPropertyDefinitionCollection* propDefCol)
+void MgPortableGwsFeatureReader::AddFeature(MgPropertyDefinitionCollection* propDefCol)
 {
-    CHECKNULL(propDefCol, L"MgdGwsFeatureReader.AddFeature");
+    CHECKNULL(propDefCol, L"MgPortableGwsFeatureReader.AddFeature");
 
     Ptr<MgPropertyCollection> propCol = new MgPropertyCollection();
     INT32 cnt = propDefCol->GetCount();
@@ -1781,8 +1781,8 @@
         // Get the name of property
         STRING propName = propDef->GetName();
 
-        INT16 type = MgdFeatureUtil::GetMgPropertyType(propDef);
-        Ptr<MgProperty> prop = MgdFeatureUtil::GetMgProperty(this, propName, type);
+        INT16 type = MgPortableFeatureUtil::GetMgPropertyType(propDef);
+        Ptr<MgProperty> prop = MgPortableFeatureUtil::GetMgProperty(this, propName, type);
         if (prop != NULL)
         {
             propCol->Add(prop);
@@ -1792,9 +1792,9 @@
     m_featureSet->AddFeature(propCol);
 }
 
-MgClassDefinition* MgdGwsFeatureReader::GetMgClassDefinition(bool bSerialize)
+MgClassDefinition* MgPortableGwsFeatureReader::GetMgClassDefinition(bool bSerialize)
 {
-    CHECKNULL(m_gwsFeatureIteratorCopy, L"MgdGwsFeatureReader.GetMgClassDefinition");
+    CHECKNULL(m_gwsFeatureIteratorCopy, L"MgPortableGwsFeatureReader.GetMgClassDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -1802,11 +1802,11 @@
     {
         // Retrieve FdoClassDefinition
         FdoPtr<FdoClassDefinition> fdoClassDefinition = m_gwsFeatureIteratorCopy->GetClassDefinition();
-        CHECKNULL((FdoClassDefinition*)fdoClassDefinition, L"MgdGwsFeatureReader.GetMgClassDefinition");
+        CHECKNULL((FdoClassDefinition*)fdoClassDefinition, L"MgPortableGwsFeatureReader.GetMgClassDefinition");
 
         // Convert FdoClassDefinition to MgClassDefinition
-        Ptr<MgClassDefinition> mgClassDef = MgdFeatureUtil::GetMgClassDefinition(fdoClassDefinition, bSerialize);
-        CHECKNULL((MgClassDefinition*)mgClassDef, L"MgdGwsFeatureReader.GetMgClassDefinition");
+        Ptr<MgClassDefinition> mgClassDef = MgPortableFeatureUtil::GetMgClassDefinition(fdoClassDefinition, bSerialize);
+        CHECKNULL((MgClassDefinition*)mgClassDef, L"MgPortableGwsFeatureReader.GetMgClassDefinition");
 
         // Advance the primary feature source iterator
         if (m_gwsFeatureIteratorCopy->ReadNext())
@@ -1821,7 +1821,7 @@
                 if (m_attributeNameDelimiters->GetCount() != nSecondaryFeatures)
                 {
                     // Should never get here
-                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdGwsFeatureReader.GetMgClassDefinition", __LINE__, __WFILE__, NULL, L"MgInvalidCollectionSize", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableGwsFeatureReader.GetMgClassDefinition", __LINE__, __WFILE__, NULL, L"MgInvalidCollectionSize", NULL);
                 }
             }
 
@@ -1852,13 +1852,13 @@
                                 secFdoClassDefinition = secondaryDescriptors->ClassDefinition();
                             }
                         }
-                        CHECKNULL((FdoClassDefinition*)secFdoClassDefinition, L"MgdGwsFeatureReader.GetMgClassDefinition");
+                        CHECKNULL((FdoClassDefinition*)secFdoClassDefinition, L"MgPortableGwsFeatureReader.GetMgClassDefinition");
 
                         FdoStringP qname = secFdoClassDefinition->GetQualifiedName();
 
                         // Convert FdoClassDefinition to MgClassDefinition
-                        Ptr<MgClassDefinition> secMgClassDef = MgdFeatureUtil::GetMgClassDefinition(secFdoClassDefinition, bSerialize);
-                        CHECKNULL((MgClassDefinition*)secMgClassDef, L"MgdGwsFeatureReader.GetMgClassDefinition");
+                        Ptr<MgClassDefinition> secMgClassDef = MgPortableFeatureUtil::GetMgClassDefinition(secFdoClassDefinition, bSerialize);
+                        CHECKNULL((MgClassDefinition*)secMgClassDef, L"MgPortableGwsFeatureReader.GetMgClassDefinition");
 
                         // retrieve the secondary properites and prefix them with the relation name
                         Ptr<MgPropertyDefinitionCollection> mpdc2 = secMgClassDef->GetProperties();
@@ -1894,7 +1894,7 @@
 
                     FDO_SAFE_RELEASE(e);
 
-                    auto ex = new MgException(MgExceptionCodes::MgFdoException, L"MgdGwsFeatureReader.GetMgClassDefinition",
+                    auto ex = new MgException(MgExceptionCodes::MgFdoException, L"MgPortableGwsFeatureReader.GetMgClassDefinition",
                         __LINE__, __WFILE__, NULL, messageId, &arguments);
                     ex->SetNativeErrorCode(nativeErrorCode);
                     throw ex;
@@ -1906,11 +1906,11 @@
             mcdc->Add(mgClassDef);
             FdoPtr<FdoClassCollection> fcc;
             fcc = FdoClassCollection::Create(NULL);
-            MgdFeatureUtil::GetFdoClassCollection(fcc, mcdc);
+            MgPortableFeatureUtil::GetFdoClassCollection(fcc, mcdc);
             int nFccCount = fcc->GetCount();
 
             // Get the FdoClassDefinition
-            FdoPtr<FdoClassDefinition> fdc = MgdFeatureUtil::GetFdoClassDefinition(mgClassDef, fcc);
+            FdoPtr<FdoClassDefinition> fdc = MgPortableFeatureUtil::GetFdoClassDefinition(mgClassDef, fcc);
 
             // Pass the FdoClassDefinition to SerializeToXml
             if (bSerialize)
@@ -1945,14 +1945,14 @@
         m_classDef = SAFE_ADDREF((MgClassDefinition*)mgClassDef);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdGwsFeatureReader.GetMgClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableGwsFeatureReader.GetMgClassDefinition")
 
     return SAFE_ADDREF((MgClassDefinition*)m_classDef);
 }
 
-MgByteReader* MgdGwsFeatureReader::SerializeToXml(FdoClassDefinition* classDef)
+MgByteReader* MgPortableGwsFeatureReader::SerializeToXml(FdoClassDefinition* classDef)
 {
-    CHECKNULL(classDef, L"MgdGwsFeatureReader.SerializeToXml");
+    CHECKNULL(classDef, L"MgPortableGwsFeatureReader.SerializeToXml");
 
     FdoString* className = classDef->GetName();
     FdoFeatureSchemaP pSchema = classDef->GetFeatureSchema();
@@ -1984,7 +1984,7 @@
 
     FdoInt64 len = fmis->GetLength();
     FdoByte *bytes = new FdoByte[(size_t)len];
-    CHECKNULL(bytes, L"MgdGwsFeatureReader::SerializeToXml");
+    CHECKNULL(bytes, L"MgPortableGwsFeatureReader::SerializeToXml");
 
     fmis->Read(bytes, (FdoSize)len);
 
@@ -2012,7 +2012,7 @@
     return byteReader.Detach();
 }
 
-void MgdGwsFeatureReader::OwnsConnections()
+void MgPortableGwsFeatureReader::OwnsConnections()
 {
     MgGwsConnectionMap* connections = m_pool->GetConnections();
     for (MgGwsConnectionIter iter = connections->begin();
@@ -2019,7 +2019,7 @@
          iter != connections->end();
          iter++)
     {
-        MgdFeatureConnection* conn = (*iter).second;
+        MgPortableFeatureConnection* conn = (*iter).second;
         if(conn)
         {
             conn->OwnReader();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/GwsFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/GwsFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -44,10 +44,10 @@
 typedef std::multimap<STRING, GwsRightSideIterator> GwsFeatureIteratorMap;
 typedef std::pair<STRING, GwsRightSideIterator> GwsFeatureIteratorPair;
 
-class MgdJoinFeatureReader;
+class MgPortableJoinFeatureReader;
 class FdoExpressionEngine;
 class FdoFilter;
-class MgdGwsConnectionPool;
+class MgPortableGwsConnectionPool;
 
 /////////////////////////////////////////////////////////////////
 /// <summary>
@@ -57,7 +57,7 @@
 /// Thus, you must call ReadNext to begin accessing any data..
 /// </summary>
 
-class MG_DESKTOP_API MgdGwsFeatureReader : public MgFeatureReader
+class MG_DESKTOP_API MgPortableGwsFeatureReader : public MgFeatureReader
 {
 EXTERNAL_API:
 
@@ -560,9 +560,9 @@
 
     virtual MgFeatureSet* GetFeatures(INT32 count);
 
-    MgdGwsFeatureReader();
+    MgPortableGwsFeatureReader();
 
-    MgdGwsFeatureReader(MgdGwsConnectionPool* pool,
+    MgPortableGwsFeatureReader(MgPortableGwsConnectionPool* pool,
                         IGWSFeatureIterator* gwsFeatureIterator,
                         IGWSFeatureIterator* gwsFeatureIteratorCopy,
                         CREFSTRING extensionName,
@@ -569,7 +569,7 @@
                         FdoStringCollection* relationNames,
                         bool bForceOneToOne = true,
                         MgStringCollection* attributeNameDelimiters = NULL);
-    ~MgdGwsFeatureReader();
+    ~MgPortableGwsFeatureReader();
 
 
     void PrepareGwsGetFeatures(CREFSTRING extensionName, FdoStringCollection* relationNames);
@@ -614,7 +614,7 @@
     bool m_bNoMoreData;
     Ptr<MgStringCollection> m_attributeNameDelimiters;
 
-    FdoPtr<MgdJoinFeatureReader> m_joinReader;
+    FdoPtr<MgPortableJoinFeatureReader> m_joinReader;
     FdoPtr<FdoExpressionEngine> m_expressionEngine;
     FdoPtr<FdoFilter> m_filter;
 
@@ -622,7 +622,7 @@
     Ptr<MgFeatureSet> m_featureSet;
     FdoPtr<FdoStringCollection> m_relationNames;
     STRING m_extensionName;
-    FdoPtr<MgdGwsConnectionPool> m_pool;
+    FdoPtr<MgPortableGwsConnectionPool> m_pool;
 
     void ParseSecondaryPropertyName(CREFSTRING inputPropName, CREFSTRING delimiter, CREFSTRING secondaryProp, STRING& relationName, STRING& parsedPropName);
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Int16DataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdInt16DataReaderCreator : public MgdDataReaderCreator<INT16>
+class MgPortableInt16DataReaderCreator : public MgPortableDataReaderCreator<INT16>
 {
-    DECLARE_CLASSNAME(MgdInt16DataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableInt16DataReaderCreator)
 
 public:
-    MgdInt16DataReaderCreator()
+    MgPortableInt16DataReaderCreator()
     {
     }
 
-    MgdInt16DataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableInt16DataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Int16;
     }
 
-    ~MgdInt16DataReaderCreator()
+    ~MgPortableInt16DataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Int32DataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdInt32DataReaderCreator : public MgdDataReaderCreator<INT32>
+class MgPortableInt32DataReaderCreator : public MgPortableDataReaderCreator<INT32>
 {
-    DECLARE_CLASSNAME(MgdInt32DataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableInt32DataReaderCreator)
 
 public:
-    MgdInt32DataReaderCreator()
+    MgPortableInt32DataReaderCreator()
     {
     }
 
-    MgdInt32DataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableInt32DataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Int32;
     }
 
-    ~MgdInt32DataReaderCreator()
+    ~MgPortableInt32DataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Int64DataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdInt64DataReaderCreator : public MgdDataReaderCreator<INT64>
+class MgPortableInt64DataReaderCreator : public MgPortableDataReaderCreator<INT64>
 {
-    DECLARE_CLASSNAME(MgdInt64DataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableInt64DataReaderCreator)
 
 public:
-    MgdInt64DataReaderCreator()
+    MgPortableInt64DataReaderCreator()
     {
     }
 
-    MgdInt64DataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableInt64DataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Int64;
     }
 
-    ~MgdInt64DataReaderCreator()
+    ~MgPortableInt64DataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/JoinFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,7 +17,7 @@
 
 #include "JoinFeatureReader.h"
 
-MgdJoinFeatureReader::MgdJoinFeatureReader(MgdGwsFeatureReader* reader)
+MgPortableJoinFeatureReader::MgPortableJoinFeatureReader(MgPortableGwsFeatureReader* reader)
 {
     m_reader = SAFE_ADDREF(reader);
 
@@ -24,16 +24,16 @@
     m_propertyNamesInitialized = false;
 }
 
-MgdJoinFeatureReader::~MgdJoinFeatureReader()
+MgPortableJoinFeatureReader::~MgPortableJoinFeatureReader()
 {
 }
 
-void MgdJoinFeatureReader::Dispose()
+void MgPortableJoinFeatureReader::Dispose()
 {
     delete this;
 }
 
-FdoString* MgdJoinFeatureReader::GetPropertyName(FdoInt32 index)
+FdoString* MgPortableJoinFeatureReader::GetPropertyName(FdoInt32 index)
 {
     InitializePropertyNames();
 
@@ -47,7 +47,7 @@
     }
 }
 
-FdoInt32 MgdJoinFeatureReader::GetPropertyIndex(FdoString* propertyName)
+FdoInt32 MgPortableJoinFeatureReader::GetPropertyIndex(FdoString* propertyName)
 {
     InitializePropertyNames();
 
@@ -54,7 +54,7 @@
     return m_propertyNames->IndexOf(propertyName, false);
 }
 
-bool MgdJoinFeatureReader::GetBoolean(FdoString* propertyName)
+bool MgPortableJoinFeatureReader::GetBoolean(FdoString* propertyName)
 {
     bool retVal = false;
 
@@ -64,7 +64,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetBoolean");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetBoolean");
 
     try
     {
@@ -77,7 +77,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetBoolean",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetBoolean",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -84,12 +84,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetBoolean");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetBoolean");
 
     return retVal;
 }
 
-FdoByte MgdJoinFeatureReader::GetByte(FdoString* propertyName)
+FdoByte MgPortableJoinFeatureReader::GetByte(FdoString* propertyName)
 {
     FdoByte retVal = 0;
 
@@ -99,7 +99,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetByte");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetByte");
 
     try
     {
@@ -112,7 +112,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetByte",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetByte",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -119,12 +119,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetByte");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetByte");
 
     return retVal;
 }
 
-FdoDateTime MgdJoinFeatureReader::GetDateTime(FdoString* propertyName)
+FdoDateTime MgPortableJoinFeatureReader::GetDateTime(FdoString* propertyName)
 {
     FdoDateTime val;
 
@@ -134,7 +134,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetDateTime");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetDateTime");
 
     try
     {
@@ -147,7 +147,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetDateTime",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetDateTime",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -154,12 +154,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetDateTime");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetDateTime");
 
     return val;
 }
 
-double MgdJoinFeatureReader::GetDouble(FdoString* propertyName)
+double MgPortableJoinFeatureReader::GetDouble(FdoString* propertyName)
 {
     double retVal = 0.0;
 
@@ -169,7 +169,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetDouble");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetDouble");
 
     try
     {
@@ -182,7 +182,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetDouble",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetDouble",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -189,12 +189,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetDouble");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetDouble");
 
     return retVal;
 }
 
-FdoInt16 MgdJoinFeatureReader::GetInt16(FdoString* propertyName)
+FdoInt16 MgPortableJoinFeatureReader::GetInt16(FdoString* propertyName)
 {
     INT16 retVal = 0;
 
@@ -204,7 +204,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetInt16");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetInt16");
 
     try
     {
@@ -217,7 +217,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetInt16",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetInt16",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -224,12 +224,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetInt16");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetInt16");
 
     return retVal;
 }
 
-FdoInt32 MgdJoinFeatureReader::GetInt32(FdoString* propertyName)
+FdoInt32 MgPortableJoinFeatureReader::GetInt32(FdoString* propertyName)
 {
     INT32 retVal = 0;
 
@@ -239,7 +239,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetInt32");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetInt32");
 
     try
     {
@@ -252,7 +252,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetInt32",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetInt32",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -259,12 +259,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetInt32");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetInt32");
 
     return retVal;
 }
 
-FdoInt64 MgdJoinFeatureReader::GetInt64(FdoString* propertyName)
+FdoInt64 MgPortableJoinFeatureReader::GetInt64(FdoString* propertyName)
 {
     INT64 retVal = 0;
 
@@ -274,7 +274,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetInt64");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetInt64");
 
     try
     {
@@ -287,7 +287,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetInt64",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetInt64",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -294,12 +294,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetInt64");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetInt64");
 
     return retVal;
 }
 
-float MgdJoinFeatureReader::GetSingle(FdoString* propertyName)
+float MgPortableJoinFeatureReader::GetSingle(FdoString* propertyName)
 {
     float retVal = 0.0f;
 
@@ -309,7 +309,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetSingle");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetSingle");
 
     try
     {
@@ -322,7 +322,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetSingle",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetSingle",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -329,12 +329,12 @@
             throw;
         }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetSingle");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetSingle");
 
     return retVal;
 }
 
-FdoString* MgdJoinFeatureReader::GetString(FdoString* propertyName)
+FdoString* MgPortableJoinFeatureReader::GetString(FdoString* propertyName)
 {
     FdoString* retVal;
 
@@ -344,7 +344,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetString");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetString");
 
     try
     {
@@ -357,7 +357,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetString",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetString",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -364,12 +364,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetString");
 
     return ((const wchar_t*)retVal);
 }
 
-FdoLOBValue* MgdJoinFeatureReader::GetLOB(FdoString* propertyName)
+FdoLOBValue* MgPortableJoinFeatureReader::GetLOB(FdoString* propertyName)
 {
     FdoLOBValue* retVal;
 
@@ -379,7 +379,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetString");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetString");
 
     try
     {
@@ -392,7 +392,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -399,17 +399,17 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetLOB");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetLOB");
 
     return retVal;
 }
 
-FdoIStreamReader* MgdJoinFeatureReader::GetLOBStreamReader(const wchar_t* propertyName )
+FdoIStreamReader* MgPortableJoinFeatureReader::GetLOBStreamReader(const wchar_t* propertyName )
 {
     return NULL;
 }
 
-bool MgdJoinFeatureReader::IsNull(FdoString* propertyName)
+bool MgPortableJoinFeatureReader::IsNull(FdoString* propertyName)
 {
     bool retVal = true;
 
@@ -424,12 +424,12 @@
         retVal = gwsFeatureIter->IsNull(parsedPropertyName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.IsNull");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.IsNull");
 
     return retVal;
 }
 
-FdoByteArray* MgdJoinFeatureReader::GetGeometry(FdoString* propertyName)
+FdoByteArray* MgPortableJoinFeatureReader::GetGeometry(FdoString* propertyName)
 {
     FdoByteArray* data = NULL;
 
@@ -439,7 +439,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetGeometry");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetGeometry");
 
     try
     {
@@ -452,7 +452,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -459,12 +459,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetGeometry");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetGeometry");
 
     return data;
 }
 
-FdoIRaster* MgdJoinFeatureReader::GetRaster(FdoString* propertyName)
+FdoIRaster* MgPortableJoinFeatureReader::GetRaster(FdoString* propertyName)
 {
     FdoPtr<FdoIRaster> raster;
 
@@ -474,7 +474,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader::GetRaster");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader::GetRaster");
 
     // TODO: The IsNull() check is returning true for WFS/WMS FDO providers when there is valid data.
     //       In this case it should really be returning false so that the data can be retrieved.
@@ -485,31 +485,31 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader::GetRaster",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader::GetRaster",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
     {
         raster = gwsFeatureIter->GetRaster(parsedPropertyName.c_str());
-        CHECKNULL((FdoIRaster*)raster, L"MgdJoinFeatureReader::GetRaster");
+        CHECKNULL((FdoIRaster*)raster, L"MgPortableJoinFeatureReader::GetRaster");
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader::GetRaster");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader::GetRaster");
 
     return raster.Detach();
 }
 
-bool MgdJoinFeatureReader::ReadNext()
+bool MgPortableJoinFeatureReader::ReadNext()
 {
     return m_reader->ReadNext();
 }
 
-void MgdJoinFeatureReader::Close()
+void MgPortableJoinFeatureReader::Close()
 {
     m_reader->Close();
 }
 
-FdoClassDefinition* MgdJoinFeatureReader::GetClassDefinition()
+FdoClassDefinition* MgPortableJoinFeatureReader::GetClassDefinition()
 {
     Ptr<MgClassDefinition> classDef = m_reader->GetClassDefinition();
     FdoPtr<FdoClassDefinition> fdoClassDef = GetFdoClassDefinition(classDef);
@@ -516,13 +516,13 @@
     return fdoClassDef.Detach();
 }
 
-FdoInt32 MgdJoinFeatureReader::GetDepth()
+FdoInt32 MgPortableJoinFeatureReader::GetDepth()
 {
     FdoPtr<IGWSFeatureIterator> iterator = m_reader->GetFeatureIterator();
     return iterator->GetDepth();
 }
 
-const FdoByte * MgdJoinFeatureReader::GetGeometry(FdoString* propertyName, FdoInt32 * count)
+const FdoByte * MgPortableJoinFeatureReader::GetGeometry(FdoString* propertyName, FdoInt32 * count)
 {
     const FdoByte* data = NULL;
 
@@ -532,7 +532,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetGeometry");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetGeometry");
 
     try
     {
@@ -550,7 +550,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -557,12 +557,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetGeometry");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetGeometry");
 
     return data;
 }
 
-FdoIFeatureReader* MgdJoinFeatureReader::GetFeatureObject(FdoString* propertyName)
+FdoIFeatureReader* MgPortableJoinFeatureReader::GetFeatureObject(FdoString* propertyName)
 {
     FdoPtr<FdoIFeatureReader> featureObjectReader;
 
@@ -572,7 +572,7 @@
     IGWSFeatureIterator* gwsFeatureIter = NULL;
     STRING parsedPropertyName;
     m_reader->DeterminePropertyFeatureSource(propertyName, &gwsFeatureIter, parsedPropertyName);
-    CHECKNULL(gwsFeatureIter, L"MgdJoinFeatureReader.GetFeatureObject");
+    CHECKNULL(gwsFeatureIter, L"MgPortableJoinFeatureReader.GetFeatureObject");
 
     try
     {
@@ -585,7 +585,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdJoinFeatureReader.GetFeatureObject",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableJoinFeatureReader.GetFeatureObject",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -592,17 +592,17 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetFeatureObject");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetFeatureObject");
 
     return featureObjectReader.Detach();
 }
 
-FdoClassDefinition* MgdJoinFeatureReader::GetFdoClassDefinition(MgClassDefinition* mgClassDef)
+FdoClassDefinition* MgPortableJoinFeatureReader::GetFdoClassDefinition(MgClassDefinition* mgClassDef)
 {
     FdoPtr<FdoClassDefinition> fdoClassDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL(mgClassDef, L"MgdJoinFeatureReader.GetFdoClassDefinition");
+    CHECKNULL(mgClassDef, L"MgPortableJoinFeatureReader.GetFdoClassDefinition");
 
     STRING name = mgClassDef->GetName();
     assert(!name.empty());
@@ -620,13 +620,13 @@
         fdoClassDef = FdoClass::Create();
     }
 
-    CHECKNULL(fdoClassDef, L"MgdJoinFeatureReader.GetFdoClassDefinition");
+    CHECKNULL(fdoClassDef, L"MgPortableJoinFeatureReader.GetFdoClassDefinition");
 
     FdoPtr<FdoPropertyDefinitionCollection> fdoPropDefCol = fdoClassDef->GetProperties();
-    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgdJoinFeatureReader.GetFdoClassDefinition");
+    CHECKNULL((FdoPropertyDefinitionCollection*) fdoPropDefCol, L"MgPortableJoinFeatureReader.GetFdoClassDefinition");
 
     FdoPtr<FdoDataPropertyDefinitionCollection> fdoIdentityPropDefCol = (FdoDataPropertyDefinitionCollection*)fdoClassDef->GetIdentityProperties();
-    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgdJoinFeatureReader.GetFdoClassDefinition");
+    CHECKNULL((FdoDataPropertyDefinitionCollection*)fdoIdentityPropDefCol, L"MgPortableJoinFeatureReader.GetFdoClassDefinition");
 
     //Set description
     STRING desc = mgClassDef->GetDescription();
@@ -654,7 +654,7 @@
 
     // Retrieve Class properties
     Ptr<MgPropertyDefinitionCollection> mgPropDefCol = mgClassDef->GetProperties();
-    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgdJoinFeatureReader.GetFdoClassDefinition");
+    CHECKNULL((MgPropertyDefinitionCollection*) mgPropDefCol, L"MgPortableJoinFeatureReader.GetFdoClassDefinition");
 
     //Retrieve identity properties
     Ptr<MgPropertyDefinitionCollection> awDataPropDefCol = mgClassDef->GetIdentityProperties();
@@ -685,18 +685,18 @@
         ffClass->SetGeometryProperty(defaultGeom);
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetFdoClassCollection")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetFdoClassCollection")
 
     return fdoClassDef.Detach();
 }
 
-const FdoByte * MgdJoinFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
+const FdoByte * MgPortableJoinFeatureReader::GetGeometry(FdoInt32 index, FdoInt32 * count)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetGeometry((FdoString*)propertyName, count);
 }
 
-FdoByteArray* MgdJoinFeatureReader::GetGeometry(FdoInt32 index)
+FdoByteArray* MgPortableJoinFeatureReader::GetGeometry(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetGeometry((FdoString*)propertyName);
@@ -703,7 +703,7 @@
 }
 
 
-FdoIFeatureReader*  MgdJoinFeatureReader::GetFeatureObject(FdoInt32 index)
+FdoIFeatureReader*  MgPortableJoinFeatureReader::GetFeatureObject(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetFeatureObject((FdoString*)propertyName);
@@ -710,85 +710,85 @@
 }
 
 
-bool MgdJoinFeatureReader::GetBoolean(FdoInt32 index)
+bool MgPortableJoinFeatureReader::GetBoolean(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetBoolean((FdoString*)propertyName);
 }
 
-FdoByte MgdJoinFeatureReader::GetByte(FdoInt32 index)
+FdoByte MgPortableJoinFeatureReader::GetByte(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetByte((FdoString*)propertyName);
 }
 
-FdoDateTime MgdJoinFeatureReader::GetDateTime(FdoInt32 index)
+FdoDateTime MgPortableJoinFeatureReader::GetDateTime(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetDateTime((FdoString*)propertyName);
 }
 
-double MgdJoinFeatureReader::GetDouble(FdoInt32 index)
+double MgPortableJoinFeatureReader::GetDouble(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetDouble((FdoString*)propertyName);
 }
 
-FdoInt16 MgdJoinFeatureReader::GetInt16(FdoInt32 index)
+FdoInt16 MgPortableJoinFeatureReader::GetInt16(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetInt16((FdoString*)propertyName);
 }
 
-FdoInt32 MgdJoinFeatureReader::GetInt32(FdoInt32 index)
+FdoInt32 MgPortableJoinFeatureReader::GetInt32(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetInt32((FdoString*)propertyName);
 }
 
-FdoInt64 MgdJoinFeatureReader::GetInt64(FdoInt32 index)
+FdoInt64 MgPortableJoinFeatureReader::GetInt64(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetInt64((FdoString*)propertyName);
 }
 
-float MgdJoinFeatureReader::GetSingle(FdoInt32 index)
+float MgPortableJoinFeatureReader::GetSingle(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetSingle((FdoString*)propertyName);
 }
 
-FdoString* MgdJoinFeatureReader::GetString(FdoInt32 index)
+FdoString* MgPortableJoinFeatureReader::GetString(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetString((FdoString*)propertyName);
 }
 
-FdoLOBValue* MgdJoinFeatureReader::GetLOB(FdoInt32 index)
+FdoLOBValue* MgPortableJoinFeatureReader::GetLOB(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetLOB((FdoString*)propertyName);
 }
 
-FdoIStreamReader* MgdJoinFeatureReader::GetLOBStreamReader(FdoInt32 index)
+FdoIStreamReader* MgPortableJoinFeatureReader::GetLOBStreamReader(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetLOBStreamReader((FdoString*)propertyName);
 }
 
-bool MgdJoinFeatureReader::IsNull(FdoInt32 index)
+bool MgPortableJoinFeatureReader::IsNull(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return IsNull((FdoString*)propertyName);
 }
 
-FdoIRaster* MgdJoinFeatureReader::GetRaster(FdoInt32 index)
+FdoIRaster* MgPortableJoinFeatureReader::GetRaster(FdoInt32 index)
 {
     FdoStringP propertyName = GetPropertyName(index);
     return GetRaster((FdoString*)propertyName);
 }
 
-void MgdJoinFeatureReader::GetClassProperties(FdoPropertyDefinitionCollection* fdoPropDefCol,
+void MgPortableJoinFeatureReader::GetClassProperties(FdoPropertyDefinitionCollection* fdoPropDefCol,
                                                 MgPropertyDefinitionCollection* propDefCol)
 {
     MG_FEATURE_SERVICE_TRY()
@@ -802,7 +802,7 @@
     {
         // Get Mg Property
         Ptr<MgPropertyDefinition> awpd = propDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*)awpd, L"MgdJoinFeatureReader.GetClassProperties");
+        CHECKNULL((MgPropertyDefinition*)awpd, L"MgPortableJoinFeatureReader.GetClassProperties");
 
         // Create Fdo Property
         FdoPtr<FdoPropertyDefinition> fdoProp = GetFdoPropertyDefinition(awpd);
@@ -812,10 +812,10 @@
             fdoPropDefCol->Add(fdoProp);
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetClassProperties")
 }
 
-void MgdJoinFeatureReader::GetClassProperties(FdoDataPropertyDefinitionCollection* fdoPropDefCol,
+void MgPortableJoinFeatureReader::GetClassProperties(FdoDataPropertyDefinitionCollection* fdoPropDefCol,
                                                 MgPropertyDefinitionCollection* mgPropDefCol)
 {
     MG_FEATURE_SERVICE_TRY()
@@ -829,7 +829,7 @@
     {
         //Get property
         Ptr<MgPropertyDefinition> mgPropDef = mgPropDefCol->GetItem(i);
-        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgdJoinFeatureReader.GetClassProperties");
+        CHECKNULL((MgPropertyDefinition*) mgPropDef, L"MgPortableJoinFeatureReader.GetClassProperties");
 
         //Create Fdo property
         FdoPtr<FdoDataPropertyDefinition> fdoPropDef = (FdoDataPropertyDefinition*)GetFdoPropertyDefinition(mgPropDef);
@@ -839,12 +839,12 @@
             fdoPropDefCol->Add(fdoPropDef);
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetClassProperties")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetClassProperties")
 }
 
-FdoPropertyDefinition* MgdJoinFeatureReader::GetFdoPropertyDefinition(MgPropertyDefinition* mgPropDef)
+FdoPropertyDefinition* MgPortableJoinFeatureReader::GetFdoPropertyDefinition(MgPropertyDefinition* mgPropDef)
 {
-    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgdJoinFeatureReader.GetFdoPropertyDefinition");
+    CHECKNULL((MgPropertyDefinition*)mgPropDef, L"MgPortableJoinFeatureReader.GetFdoPropertyDefinition");
 
     FdoPtr<FdoPropertyDefinition> fdoPropDef;
     MG_FEATURE_SERVICE_TRY()
@@ -886,12 +886,12 @@
             break;
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetFdoPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetFdoPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
 
-FdoDataPropertyDefinition* MgdJoinFeatureReader::GetDataPropertyDefinition(MgDataPropertyDefinition* mgPropDef)
+FdoDataPropertyDefinition* MgPortableJoinFeatureReader::GetDataPropertyDefinition(MgDataPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoDataPropertyDefinition> fdoPropDef;
 
@@ -941,7 +941,7 @@
     fdoPropDef->SetScale((FdoInt32)scale);
     fdoPropDef->SetIsAutoGenerated(isAutoGenerated);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetDataPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetDataPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -948,12 +948,12 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoObjectPropertyDefinition* MgdJoinFeatureReader::GetObjectPropertyDefinition(MgObjectPropertyDefinition* objPropDef)
+FdoObjectPropertyDefinition* MgPortableJoinFeatureReader::GetObjectPropertyDefinition(MgObjectPropertyDefinition* objPropDef)
 {
     FdoPtr<FdoObjectPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgdJoinFeatureReader.GetObjectPropertyDefinition");
+    CHECKNULL((MgObjectPropertyDefinition*)objPropDef, L"MgPortableJoinFeatureReader.GetObjectPropertyDefinition");
 
     fdoPropDef = FdoObjectPropertyDefinition::Create();
     // Retrieve data from MgObjectProperty
@@ -965,7 +965,7 @@
     Ptr<MgDataPropertyDefinition> idProp = objPropDef->GetIdentityProperty();
     // Convert MgObjectProperty data members to Fdo data members
     FdoPtr<FdoClassDefinition> fdoClsDef = GetFdoClassDefinition(clsDef);
-    CHECKNULL(fdoClsDef, L"MgdJoinFeatureReader.GetObjectPropertyDefinition")
+    CHECKNULL(fdoClsDef, L"MgPortableJoinFeatureReader.GetObjectPropertyDefinition")
 
     FdoPtr<FdoDataPropertyDefinition> fdoDataPropDef = GetDataPropertyDefinition(idProp);
     FdoObjectType fdoObjectType = MgObjectPropertyTypeToFdoObjectType(objType);
@@ -978,7 +978,7 @@
     fdoPropDef->SetClass(fdoClsDef);
     fdoPropDef->SetIdentityProperty(fdoDataPropDef);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetObjectPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetObjectPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -985,12 +985,12 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoGeometricPropertyDefinition* MgdJoinFeatureReader::GetGeometricPropertyDefinition(MgGeometricPropertyDefinition* mgPropDef)
+FdoGeometricPropertyDefinition* MgPortableJoinFeatureReader::GetGeometricPropertyDefinition(MgGeometricPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoGeometricPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgdJoinFeatureReader.GetGeometricPropertyDefinition");
+    CHECKNULL((MgGeometricPropertyDefinition*)mgPropDef, L"MgPortableJoinFeatureReader.GetGeometricPropertyDefinition");
 
     STRING name = mgPropDef->GetName();
     fdoPropDef = FdoGeometricPropertyDefinition::Create();
@@ -1029,7 +1029,7 @@
         fdoPropDef->SetSpatialContextAssociation((FdoString*)spatialContextName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetGeometricPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetGeometricPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
@@ -1036,12 +1036,12 @@
 
 
 //////////////////////////////////////////////////////////////////
-FdoRasterPropertyDefinition* MgdJoinFeatureReader::GetRasterPropertyDefinition(MgRasterPropertyDefinition* mgPropDef)
+FdoRasterPropertyDefinition* MgPortableJoinFeatureReader::GetRasterPropertyDefinition(MgRasterPropertyDefinition* mgPropDef)
 {
     FdoPtr<FdoRasterPropertyDefinition> fdoPropDef;
 
     MG_FEATURE_SERVICE_TRY()
-    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgdJoinFeatureReader.GetRasterPropertyDefinition");
+    CHECKNULL((MgRasterPropertyDefinition*)mgPropDef, L"MgPortableJoinFeatureReader.GetRasterPropertyDefinition");
 
     fdoPropDef = FdoRasterPropertyDefinition::Create();
     STRING name = mgPropDef->GetName();
@@ -1073,12 +1073,12 @@
         fdoPropDef->SetSpatialContextAssociation((FdoString*)spatialContextName.c_str());
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdJoinFeatureReader.GetRasterPropertyDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableJoinFeatureReader.GetRasterPropertyDefinition")
 
     return fdoPropDef.Detach();
 }
 
-FdoDataType MgdJoinFeatureReader::GetFdoDataType(INT32 awPropType)
+FdoDataType MgPortableJoinFeatureReader::GetFdoDataType(INT32 awPropType)
 {
     FdoDataType fdoDataType;
     switch(awPropType)
@@ -1176,7 +1176,7 @@
             arguments.Add(L"1");
             arguments.Add(buffer);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdJoinFeatureReader.GetFdoDataType",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableJoinFeatureReader.GetFdoDataType",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidPropertyType", NULL);
         }
     }
@@ -1184,7 +1184,7 @@
     return fdoDataType;
 }
 
-FdoObjectType MgdJoinFeatureReader::MgObjectPropertyTypeToFdoObjectType(INT32 type)
+FdoObjectType MgPortableJoinFeatureReader::MgObjectPropertyTypeToFdoObjectType(INT32 type)
 {
     MgObjectPropertyType::ValidateRange(type);
     FdoObjectType objectType = FdoObjectType_Value;
@@ -1210,7 +1210,7 @@
     return objectType;
 }
 
-FdoOrderType MgdJoinFeatureReader::MgOrderingOptionToFdoOrderType(INT32 type)
+FdoOrderType MgPortableJoinFeatureReader::MgOrderingOptionToFdoOrderType(INT32 type)
 {
     MgOrderingOption::ValidateRange(type);
     FdoOrderType orderType = FdoOrderType_Ascending;
@@ -1231,13 +1231,13 @@
     return orderType;
 }
 
-void MgdJoinFeatureReader::InitializePropertyNames()
+void MgPortableJoinFeatureReader::InitializePropertyNames()
 {
     if (m_propertyNamesInitialized)
         return;
 
     FdoPtr<FdoClassDefinition> classDef = this->GetClassDefinition();
-    CHECKNULL(classDef, L"MgdJoinFeatureReader.InitializePropertyNames")
+    CHECKNULL(classDef, L"MgPortableJoinFeatureReader.InitializePropertyNames")
 
     m_propertyNames = FdoStringCollection::Create();
     FillProperties(classDef);
@@ -1245,7 +1245,7 @@
     m_propertyNamesInitialized = true;
 }
 
-void MgdJoinFeatureReader::FillProperties(FdoClassDefinition* classDef)
+void MgPortableJoinFeatureReader::FillProperties(FdoClassDefinition* classDef)
 {
     if (classDef == NULL)
         return;
@@ -1254,7 +1254,7 @@
     FillProperties(baseClassDef);
 
     FdoPropertiesP props = classDef->GetProperties();
-    CHECKNULL(props, L"MgdJoinFeatureReader.FillProperties")
+    CHECKNULL(props, L"MgPortableJoinFeatureReader.FillProperties")
 
     for (int i = 0; i < props->GetCount(); i++)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/JoinFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/JoinFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -26,20 +26,20 @@
 /// add custom behavior
 ///</summary>
 
-class MgdJoinFeatureReader : public FdoIFeatureReader
+class MgPortableJoinFeatureReader : public FdoIFeatureReader
 {
 private:
 
     // Unimplemented Constructors/Methods
 
-    MgdJoinFeatureReader();
-    MgdJoinFeatureReader(const MgdJoinFeatureReader&);
-    MgdJoinFeatureReader& operator=(const MgdJoinFeatureReader&);
+    MgPortableJoinFeatureReader();
+    MgPortableJoinFeatureReader(const MgPortableJoinFeatureReader&);
+    MgPortableJoinFeatureReader& operator=(const MgPortableJoinFeatureReader&);
 
 public:
 
-    MgdJoinFeatureReader(MgdGwsFeatureReader* reader);
-    virtual ~MgdJoinFeatureReader();
+    MgPortableJoinFeatureReader(MgPortableGwsFeatureReader* reader);
+    virtual ~MgPortableJoinFeatureReader();
 
     /// \brief
     /// Gets the definition of the object currently being read. If the user
@@ -562,7 +562,7 @@
     FdoObjectType MgObjectPropertyTypeToFdoObjectType(INT32 type);
     FdoOrderType MgOrderingOptionToFdoOrderType(INT32 type);
 
-    Ptr<MgdGwsFeatureReader> m_reader;
+    Ptr<MgPortableGwsFeatureReader> m_reader;
 
     // Used for access by index readers
     FdoStringsP m_propertyNames;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/Matrix.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/Matrix.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/Matrix.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,10 +25,10 @@
 //  This matrix template is designed to be used with built-in arithmetic types.
 //  It is of fixed size; it is constructed with one memory allocation.
 template <typename T>
-class MgdMatrix
+class MgPortableMatrix
 {
     public:
-        MgdMatrix(int dim1, int dim2)
+        MgPortableMatrix(int dim1, int dim2)
         {
             assert(dim1 > 0);
             assert(dim2 > 0);
@@ -39,7 +39,7 @@
             Clear();
         }
 
-        ~MgdMatrix()
+        ~MgPortableMatrix()
         {
             delete [] m_pData;
         }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/MgCSTrans.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #include "MgCSTrans.h"
 #include "CoordinateSystem/CoordinateSystem.h"
 
-MgdCSTrans::MgdCSTrans(MgCoordinateSystem* srcCs, MgCoordinateSystem* dstCs)
+MgPortableCSTrans::MgPortableCSTrans(MgCoordinateSystem* srcCs, MgCoordinateSystem* dstCs)
 {
     assert(srcCs);
     assert(dstCs);
@@ -31,24 +31,24 @@
 }
 
 
-MgdCSTrans::~MgdCSTrans()
+MgPortableCSTrans::~MgPortableCSTrans()
 {
 }
 
 
-void MgdCSTrans::TransformPoint(double& x, double& y)
+void MgPortableCSTrans::TransformPoint(double& x, double& y)
 {
     m_trans->Transform(&x, &y);
 }
 
 
-void MgdCSTrans::TransformPoints(int numPts, double* x, double* y)
+void MgPortableCSTrans::TransformPoints(int numPts, double* x, double* y)
 {
     m_trans->Transform(x, y, numPts);
 }
 
 
-void MgdCSTrans::TransformExtent(double& minX, double& minY, double& maxX, double& maxY)
+void MgPortableCSTrans::TransformExtent(double& minX, double& minY, double& maxX, double& maxY)
 {
     MgEnvelope extent(minX, minY, maxX, maxY);
     Ptr<MgEnvelope> transExtent = m_trans->Transform(&extent);
@@ -62,7 +62,7 @@
 }
 
 
-double MgdCSTrans::GetLinearScale()
+double MgPortableCSTrans::GetLinearScale()
 {
     return m_dLinearScale;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/MgCSTrans.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/MgCSTrans.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_CS_TRANS_H
 #define DESKTOP_CS_TRANS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "CSysTransformer.h"
 
 class MgCoordinateSystem;
@@ -26,11 +26,11 @@
 
 template class Ptr<MgCoordinateSystemTransform>;
 
-class MG_DESKTOP_API MgdCSTrans : public CSysTransformer
+class MG_DESKTOP_API MgPortableCSTrans : public CSysTransformer
 {
 public:
-    MgdCSTrans(MgCoordinateSystem* srcCs, MgCoordinateSystem* dstCs);
-    virtual ~MgdCSTrans();
+    MgPortableCSTrans(MgCoordinateSystem* srcCs, MgCoordinateSystem* dstCs);
+    virtual ~MgPortableCSTrans();
 
     virtual void TransformPoint(double& x, double& y);
     virtual void TransformPoints(int numPts, double* x, double* y);

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/ProjectedFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,9 +15,9 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-MgdProjectedFeatureReader::MgdProjectedFeatureReader(MgFeatureReader* reader, MgCoordinateSystemTransform* trans)
+MgPortableProjectedFeatureReader::MgPortableProjectedFeatureReader(MgFeatureReader* reader, MgCoordinateSystemTransform* trans)
 {
     m_reader = SAFE_ADDREF(reader);
     m_trans = SAFE_ADDREF(trans);
@@ -24,7 +24,7 @@
     m_agfRw = new MgAgfReaderWriter();
 }
 
-MgdProjectedFeatureReader::~MgdProjectedFeatureReader()
+MgPortableProjectedFeatureReader::~MgPortableProjectedFeatureReader()
 {
     m_reader = NULL;
     m_trans = NULL;
@@ -31,7 +31,7 @@
     m_agfRw = NULL;
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetGeometry(INT32 index)
+MgByteReader* MgPortableProjectedFeatureReader::GetGeometry(INT32 index)
 {
     Ptr<MgByteReader> ret;
 
@@ -41,12 +41,12 @@
     Ptr<MgGeometry> geom = m_agfRw->Read(agf, m_trans);
     ret = m_agfRw->Write(geom);
     
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetGeometry")
 
     return ret.Detach();
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetGeometry(CREFSTRING name)
+MgByteReader* MgPortableProjectedFeatureReader::GetGeometry(CREFSTRING name)
 {
     Ptr<MgByteReader> ret;
 
@@ -56,281 +56,281 @@
     Ptr<MgGeometry> geom = m_agfRw->Read(agf, m_trans);
     ret = m_agfRw->Write(geom);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetGeometry")
 
     return ret.Detach();
 }
 
-void MgdProjectedFeatureReader::Close() 
+void MgPortableProjectedFeatureReader::Close() 
 {
     MG_FEATURE_SERVICE_TRY()
     m_reader->Close();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::Close")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::Close")
 }
 
-bool MgdProjectedFeatureReader::ReadNext() 
+bool MgPortableProjectedFeatureReader::ReadNext() 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->ReadNext(); 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::ReadNext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::ReadNext")
     return ret;
 }
 
-bool MgdProjectedFeatureReader::IsNull(CREFSTRING propertyName) 
+bool MgPortableProjectedFeatureReader::IsNull(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->IsNull(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::IsNull")
     return ret;
 }
 
-bool MgdProjectedFeatureReader::GetBoolean(CREFSTRING propertyName) 
+bool MgPortableProjectedFeatureReader::GetBoolean(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetBoolean(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdProjectedFeatureReader::GetByte(CREFSTRING propertyName) 
+BYTE MgPortableProjectedFeatureReader::GetByte(CREFSTRING propertyName) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetByte(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdProjectedFeatureReader::GetDateTime(CREFSTRING propertyName) 
+MgDateTime* MgPortableProjectedFeatureReader::GetDateTime(CREFSTRING propertyName) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetDateTime(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetDateTime")
     return ret.Detach();
 }
 
-float MgdProjectedFeatureReader::GetSingle(CREFSTRING propertyName) 
+float MgPortableProjectedFeatureReader::GetSingle(CREFSTRING propertyName) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetSingle(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetSingle")
     return ret;
 }
 
-double MgdProjectedFeatureReader::GetDouble(CREFSTRING propertyName) 
+double MgPortableProjectedFeatureReader::GetDouble(CREFSTRING propertyName) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetDouble(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetDouble")
     return ret;
 }
 
-INT16 MgdProjectedFeatureReader::GetInt16(CREFSTRING propertyName) 
+INT16 MgPortableProjectedFeatureReader::GetInt16(CREFSTRING propertyName) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt16(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt16")
     return ret;
 }
 
-INT32 MgdProjectedFeatureReader::GetInt32(CREFSTRING propertyName) 
+INT32 MgPortableProjectedFeatureReader::GetInt32(CREFSTRING propertyName) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt32(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt32")
     return ret;
 }
 
-INT64 MgdProjectedFeatureReader::GetInt64(CREFSTRING propertyName) 
+INT64 MgPortableProjectedFeatureReader::GetInt64(CREFSTRING propertyName) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt64(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt32")
     return ret;
 }
 
-STRING MgdProjectedFeatureReader::GetString(CREFSTRING propertyName) 
+STRING MgPortableProjectedFeatureReader::GetString(CREFSTRING propertyName) 
 { 
     STRING ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetString(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetBLOB(CREFSTRING propertyName) 
+MgByteReader* MgPortableProjectedFeatureReader::GetBLOB(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetBLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetBLOB")
     return ret.Detach();
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableProjectedFeatureReader::GetCLOB(CREFSTRING propertyName)
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetCLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetCLOB")
     return ret.Detach();
 }
 
 //This won't be used by RS_FeatureReader because stylization will use SelectFeatures()
 //that will not return this type of reader
-BYTE_ARRAY_OUT MgdProjectedFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length) 
+BYTE_ARRAY_OUT MgPortableProjectedFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length) 
 { 
-    NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::GetGeometry");
+    NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::GetGeometry");
 }
 
 //This won't be used by RS_FeatureReader because stylization will use SelectFeatures()
 //that will not return this type of reader
-BYTE_ARRAY_OUT MgdProjectedFeatureReader::GetGeometry(INT32 index, INT32& length) 
+BYTE_ARRAY_OUT MgPortableProjectedFeatureReader::GetGeometry(INT32 index, INT32& length) 
 { 
-    NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::GetGeometry");
+    NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::GetGeometry");
 }
 
-MgRaster* MgdProjectedFeatureReader::GetRaster(CREFSTRING propertyName) 
+MgRaster* MgPortableProjectedFeatureReader::GetRaster(CREFSTRING propertyName) 
 { 
     Ptr<MgRaster> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetRaster(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetRaster")
     return ret.Detach();
 }
 
-//MgByteReader* MgdProjectedFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
+//MgByteReader* MgPortableProjectedFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
 //{
 //    return m_reader->GetRaster(rasterPropName, xSize, ySize);
 //}
 
-bool MgdProjectedFeatureReader::IsNull(INT32 index) 
+bool MgPortableProjectedFeatureReader::IsNull(INT32 index) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->IsNull(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::IsNull")
     return ret;
 }
 
-bool MgdProjectedFeatureReader::GetBoolean(INT32 index) 
+bool MgPortableProjectedFeatureReader::GetBoolean(INT32 index) 
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetBoolean(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdProjectedFeatureReader::GetByte(INT32 index) 
+BYTE MgPortableProjectedFeatureReader::GetByte(INT32 index) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetByte(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdProjectedFeatureReader::GetDateTime(INT32 index) 
+MgDateTime* MgPortableProjectedFeatureReader::GetDateTime(INT32 index) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetDateTime(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetDateTime")
     return ret.Detach();
 }
 
-float MgdProjectedFeatureReader::GetSingle(INT32 index) 
+float MgPortableProjectedFeatureReader::GetSingle(INT32 index) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetSingle(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetSingle")
     return ret;
 }
 
-double MgdProjectedFeatureReader::GetDouble(INT32 index) 
+double MgPortableProjectedFeatureReader::GetDouble(INT32 index) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetDouble(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetDouble")
     return ret;
 }
 
-INT16 MgdProjectedFeatureReader::GetInt16(INT32 index) 
+INT16 MgPortableProjectedFeatureReader::GetInt16(INT32 index) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt16(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt16")
     return ret;
 }
 
-INT32 MgdProjectedFeatureReader::GetInt32(INT32 index)
+INT32 MgPortableProjectedFeatureReader::GetInt32(INT32 index)
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt32(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt32")
     return ret;
 }
 
-INT64 MgdProjectedFeatureReader::GetInt64(INT32 index) 
+INT64 MgPortableProjectedFeatureReader::GetInt64(INT32 index) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetInt64(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetInt64")
     return ret;
 }
 
-STRING MgdProjectedFeatureReader::GetString(INT32 index) 
+STRING MgPortableProjectedFeatureReader::GetString(INT32 index) 
 { 
     STRING ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetString(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetBLOB(INT32 index) 
+MgByteReader* MgPortableProjectedFeatureReader::GetBLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetBLOB(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetBLOB")
     return ret.Detach();
 }
 
-MgByteReader* MgdProjectedFeatureReader::GetCLOB(INT32 index) 
+MgByteReader* MgPortableProjectedFeatureReader::GetCLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetCLOB(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetCLOB")
     return ret.Detach();
 }
 
-MgRaster* MgdProjectedFeatureReader::GetRaster(INT32 index) 
+MgRaster* MgPortableProjectedFeatureReader::GetRaster(INT32 index) 
 { 
     Ptr<MgRaster> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetRaster(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetRaster")
     return ret.Detach();
 }
 
-INT32 MgdProjectedFeatureReader::GetReaderType() 
+INT32 MgPortableProjectedFeatureReader::GetReaderType() 
 { 
     return m_reader->GetReaderType();
 }
@@ -337,106 +337,106 @@
 
 //EXTERNAL_API:
 
-MgByteReader* MgdProjectedFeatureReader::ToXml() 
+MgByteReader* MgPortableProjectedFeatureReader::ToXml() 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->ToXml();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::ToXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::ToXml")
     return ret.Detach();
 }
 
 //INTERNAL_API:
 
-string MgdProjectedFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::GetResponseElementName"); }
+string MgPortableProjectedFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::GetResponseElementName"); }
 
-string MgdProjectedFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::GetResponseElementName"); }
+string MgPortableProjectedFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::GetResponseElementName"); }
 
-void MgdProjectedFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::ResponseStartUtf8"); }
+void MgPortableProjectedFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::ResponseStartUtf8"); }
 
-void MgdProjectedFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::ResponseEndUtf8"); }
+void MgPortableProjectedFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::ResponseEndUtf8"); }
 
-void MgdProjectedFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::BodyStartUtf8"); }
+void MgPortableProjectedFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::BodyStartUtf8"); }
 
-void MgdProjectedFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::BodyEndUtf8"); }
+void MgPortableProjectedFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::BodyEndUtf8"); }
 
-void MgdProjectedFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::CurrentToStringUtf8"); }
+void MgPortableProjectedFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::CurrentToStringUtf8"); }
 
-void MgdProjectedFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::CurrentToStringUtf8"); }
+void MgPortableProjectedFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::CurrentToStringUtf8"); }
 
-void MgdProjectedFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::HeaderToStringUtf8"); }
+void MgPortableProjectedFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::HeaderToStringUtf8"); }
 
-const wchar_t* MgdProjectedFeatureReader::GetString(CREFSTRING propertyName, INT32& length) 
+const wchar_t* MgPortableProjectedFeatureReader::GetString(CREFSTRING propertyName, INT32& length) 
 {
     return m_reader->GetString(propertyName, length);
 }
 
-void MgdProjectedFeatureReader::Serialize(MgStream* stream) 
+void MgPortableProjectedFeatureReader::Serialize(MgStream* stream) 
 { 
     MG_FEATURE_SERVICE_TRY()
     m_reader->Serialize(stream);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::Serialize")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::Serialize")
 }
 
-void MgdProjectedFeatureReader::Deserialize(MgStream* stream) 
+void MgPortableProjectedFeatureReader::Deserialize(MgStream* stream) 
 { 
     MG_FEATURE_SERVICE_TRY()
     m_reader->Deserialize(stream);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::Deserialize")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::Deserialize")
 }
 
 //MgFeatureReader
 //PUBLISHED_API:
-MgClassDefinition* MgdProjectedFeatureReader::GetClassDefinition() 
+MgClassDefinition* MgPortableProjectedFeatureReader::GetClassDefinition() 
 { 
     Ptr<MgClassDefinition> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetClassDefinition();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetClassDefinition")
     return ret.Detach();
 }
 
-//This is internal, but MgdMappingUtil needs it. So we have to implement it
-MgClassDefinition* MgdProjectedFeatureReader::GetClassDefinitionNoXml() 
+//This is internal, but MgPortableMappingUtil needs it. So we have to implement it
+MgClassDefinition* MgPortableProjectedFeatureReader::GetClassDefinitionNoXml() 
 { 
     Ptr<MgClassDefinition> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetClassDefinitionNoXml();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetClassDefinitionNoXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetClassDefinitionNoXml")
     return ret.Detach();
 }
 
-MgFeatureReader* MgdProjectedFeatureReader::GetFeatureObject(CREFSTRING propertyName) 
+MgFeatureReader* MgPortableProjectedFeatureReader::GetFeatureObject(CREFSTRING propertyName) 
 { 
     Ptr<MgFeatureReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetFeatureObject(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetFeatureObject")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetFeatureObject")
     return ret.Detach();
 }
 
-MgFeatureReader* MgdProjectedFeatureReader::GetFeatureObject(INT32 index) 
+MgFeatureReader* MgPortableProjectedFeatureReader::GetFeatureObject(INT32 index) 
 { 
     Ptr<MgFeatureReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetFeatureObject(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetFeatureObject")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetFeatureObject")
     return ret.Detach();
 }
 
 //INTERNAL_API:
 
-MgFeatureSet* MgdProjectedFeatureReader::GetFeatures(INT32 count) 
+MgFeatureSet* MgPortableProjectedFeatureReader::GetFeatures(INT32 count) 
 { 
     Ptr<MgFeatureSet> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetFeatures(count);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdProjectedFeatureReader::GetFeatures")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableProjectedFeatureReader::GetFeatures")
     return ret.Detach();
 }
 
-//FdoIFeatureReader* MgdProjectedFeatureReader::GetInternalReader()
+//FdoIFeatureReader* MgPortableProjectedFeatureReader::GetInternalReader()
 //{
-//    NOT_IMPLEMENTED(L"MgdProjectedFeatureReader::GetInternalReader");
+//    NOT_IMPLEMENTED(L"MgPortableProjectedFeatureReader::GetInternalReader");
 //}
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/ProjectedFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,10 +23,10 @@
 class MgCoordinateSystemTransform;
 class MgAgfReaderWriter;
 
-class MG_DESKTOP_API MgdProjectedFeatureReader : public MgFeatureReader
+class MG_DESKTOP_API MgPortableProjectedFeatureReader : public MgFeatureReader
 {
 INTERNAL_API:
-    MgdProjectedFeatureReader(MgFeatureReader* reader, MgCoordinateSystemTransform* trans);
+    MgPortableProjectedFeatureReader(MgFeatureReader* reader, MgCoordinateSystemTransform* trans);
 
     virtual bool ReadNext();
 
@@ -209,7 +209,7 @@
     //FdoIFeatureReader* GetInternalReader();
 
 protected:
-    virtual ~MgdProjectedFeatureReader();
+    virtual ~MgPortableProjectedFeatureReader();
     virtual void Dispose() { delete this; }
 
 private:

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/ProxyDataReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,14 +17,14 @@
 
 #include "ProxyDataReader.h"
 
-MG_IMPL_DYNCREATE(MgdProxyDataReader);
+MG_IMPL_DYNCREATE(MgPortableProxyDataReader);
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Construct an uninitialized MgdProxyDataReader object
+/// Construct an uninitialized MgPortableProxyDataReader object
 ///</summary>
 ///
-MgdProxyDataReader::MgdProxyDataReader()
+MgPortableProxyDataReader::MgPortableProxyDataReader()
 {
     m_currRecord = 0;
     m_serverDataReader = L"";
@@ -33,7 +33,7 @@
     m_propDefCol = NULL;
 }
 
-MgdProxyDataReader::MgdProxyDataReader(MgBatchPropertyCollection* batchCol, MgPropertyDefinitionCollection* propDefCol)
+MgPortableProxyDataReader::MgPortableProxyDataReader(MgBatchPropertyCollection* batchCol, MgPropertyDefinitionCollection* propDefCol)
 {
     m_currRecord = 0;
     m_serverDataReader = L"";
@@ -44,10 +44,10 @@
 
 //////////////////////////////////////////////////////////////////
 ///<summary>
-/// Destruct a MgdProxyDataReader object
+/// Destruct a MgPortableProxyDataReader object
 ///</summary>
 ///
-MgdProxyDataReader::~MgdProxyDataReader()
+MgPortableProxyDataReader::~MgPortableProxyDataReader()
 {
     Close();
     SAFE_RELEASE(m_service);
@@ -63,9 +63,9 @@
 /// <returns>
 /// Returns true if there is a next item.
 /// </returns>
-bool MgdProxyDataReader::ReadNext()
+bool MgPortableProxyDataReader::ReadNext()
 {
-    CHECKNULL(m_set, L"MgdProxyDataReader.ReadNext");
+    CHECKNULL(m_set, L"MgPortableProxyDataReader.ReadNext");
 
     bool foundNextFeature = false;
 
@@ -109,9 +109,9 @@
 /// Gets the number of properties in the result set.
 /// </summary>
 /// <returns>Returns the number of properties.</returns>
-INT32 MgdProxyDataReader::GetPropertyCount()
+INT32 MgPortableProxyDataReader::GetPropertyCount()
 {
-    CHECKNULL(m_propDefCol, L"MgdProxyDataReader.GetPropertyCount");
+    CHECKNULL(m_propDefCol, L"MgPortableProxyDataReader.GetPropertyCount");
 
     return m_propDefCol->GetCount();
 }
@@ -122,9 +122,9 @@
 /// </summary>
 /// <param name="index">Input the position of the property.</param>
 /// <returns>Returns the property name</returns>
-STRING MgdProxyDataReader::GetPropertyName(INT32 index)
+STRING MgPortableProxyDataReader::GetPropertyName(INT32 index)
 {
-    CHECKNULL(m_propDefCol, L"MgdProxyDataReader.GetPropertyName");
+    CHECKNULL(m_propDefCol, L"MgPortableProxyDataReader.GetPropertyName");
 
     Ptr<MgPropertyDefinition> propDef = m_propDefCol->GetItem(index);
     return propDef->GetName();
@@ -136,9 +136,9 @@
 /// </summary>
 /// <param name="propertyName">Input the name of the property.</param>
 /// <returns>Returns the property index</returns>
-INT32 MgdProxyDataReader::GetPropertyIndex(CREFSTRING propertyName)
+INT32 MgPortableProxyDataReader::GetPropertyIndex(CREFSTRING propertyName)
 {
-    CHECKNULL(m_propDefCol, L"MgdProxyDataReader.GetPropertyIndex");
+    CHECKNULL(m_propDefCol, L"MgPortableProxyDataReader.GetPropertyIndex");
 
     return m_propDefCol->IndexOf(propertyName);
 }
@@ -149,12 +149,12 @@
 /// </summary>
 /// <param name="propertyName">Input the property name.</param>
 /// <returns>Returns the type of the property.</returns>
-INT32 MgdProxyDataReader::GetPropertyType(CREFSTRING propertyName)
+INT32 MgPortableProxyDataReader::GetPropertyType(CREFSTRING propertyName)
 {
-    CHECKNULL(m_propDefCol, L"MgdProxyDataReader.GetPropertyType");
+    CHECKNULL(m_propDefCol, L"MgPortableProxyDataReader.GetPropertyType");
 
     Ptr<MgPropertyDefinition> propDef = m_propDefCol->GetItem(propertyName);
-    CHECKNULL((MgPropertyDefinition*)propDef, L"MgdProxyDataReader.GetPropertyType");
+    CHECKNULL((MgPropertyDefinition*)propDef, L"MgPortableProxyDataReader.GetPropertyType");
 
     return propDef->GetPropertyType();
 }
@@ -165,12 +165,12 @@
 /// </summary>
 /// <param name="index">Input the property index.</param>
 /// <returns>Returns the type of the property.</returns>
-INT32 MgdProxyDataReader::GetPropertyType(INT32 index)
+INT32 MgPortableProxyDataReader::GetPropertyType(INT32 index)
 {
-    CHECKNULL(m_propDefCol, L"MgdProxyDataReader.GetPropertyType");
+    CHECKNULL(m_propDefCol, L"MgPortableProxyDataReader.GetPropertyType");
 
     Ptr<MgPropertyDefinition> propDef = m_propDefCol->GetItem(index);
-    CHECKNULL((MgPropertyDefinition*)propDef, L"MgdProxyDataReader.GetPropertyType");
+    CHECKNULL((MgPropertyDefinition*)propDef, L"MgPortableProxyDataReader.GetPropertyType");
 
     return propDef->GetPropertyType();
 }
@@ -181,7 +181,7 @@
 /// </summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns true if the value is null.</returns>
-bool MgdProxyDataReader::IsNull(CREFSTRING propertyName)
+bool MgPortableProxyDataReader::IsNull(CREFSTRING propertyName)
 {
     bool isNull = false;
 
@@ -201,7 +201,7 @@
 /// </summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns true if the value is null.</returns>
-bool MgdProxyDataReader::IsNull(INT32 index)
+bool MgPortableProxyDataReader::IsNull(INT32 index)
 {
     bool isNull = false;
 
@@ -222,7 +222,7 @@
 /// is undertermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the Boolean value.</returns>
-bool MgdProxyDataReader::GetBoolean(CREFSTRING propertyName)
+bool MgPortableProxyDataReader::GetBoolean(CREFSTRING propertyName)
 {
     bool retVal = false;
 
@@ -240,7 +240,7 @@
 /// is undertermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the Boolean value.</returns>
-bool MgdProxyDataReader::GetBoolean(INT32 index)
+bool MgPortableProxyDataReader::GetBoolean(INT32 index)
 {
     bool retVal = false;
 
@@ -258,7 +258,7 @@
 /// is undertermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the Byte value.</returns>
-BYTE MgdProxyDataReader::GetByte(CREFSTRING propertyName)
+BYTE MgPortableProxyDataReader::GetByte(CREFSTRING propertyName)
 {
     BYTE retVal = 0;
 
@@ -276,7 +276,7 @@
 /// is undertermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the Byte value.</returns>
-BYTE MgdProxyDataReader::GetByte(INT32 index)
+BYTE MgPortableProxyDataReader::GetByte(INT32 index)
 {
     BYTE retVal = 0;
 
@@ -294,7 +294,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the DTime value.</returns>
-MgDateTime* MgdProxyDataReader::GetDateTime(CREFSTRING propertyName)
+MgDateTime* MgPortableProxyDataReader::GetDateTime(CREFSTRING propertyName)
 {
     Ptr<MgDateTimeProperty> ptrProp = (MgDateTimeProperty*)GetProperty(propertyName, MgPropertyType::DateTime);
     Ptr<MgDateTime> retVal = ptrProp->GetValue();
@@ -310,7 +310,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the DTime value.</returns>
-MgDateTime* MgdProxyDataReader::GetDateTime(INT32 index)
+MgDateTime* MgPortableProxyDataReader::GetDateTime(INT32 index)
 {
     Ptr<MgDateTimeProperty> ptrProp = (MgDateTimeProperty*)GetProperty(index, MgPropertyType::DateTime);
     Ptr<MgDateTime> retVal = ptrProp->GetValue();
@@ -326,7 +326,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the single value.</returns>
-float MgdProxyDataReader::GetSingle(CREFSTRING propertyName)
+float MgPortableProxyDataReader::GetSingle(CREFSTRING propertyName)
 {
     float retVal = 0;
 
@@ -344,7 +344,7 @@
 /// is undetermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the single value.</returns>
-float MgdProxyDataReader::GetSingle(INT32 index)
+float MgPortableProxyDataReader::GetSingle(INT32 index)
 {
     float retVal = 0;
 
@@ -362,7 +362,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the double value.</returns>
-double MgdProxyDataReader::GetDouble(CREFSTRING propertyName)
+double MgPortableProxyDataReader::GetDouble(CREFSTRING propertyName)
 {
     double retVal = 0;
 
@@ -380,7 +380,7 @@
 /// is undetermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the double value.</returns>
-double MgdProxyDataReader::GetDouble(INT32 index)
+double MgPortableProxyDataReader::GetDouble(INT32 index)
 {
     double retVal = 0;
 
@@ -398,7 +398,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the integer 16 bits value.</returns>
-INT16 MgdProxyDataReader::GetInt16(CREFSTRING propertyName)
+INT16 MgPortableProxyDataReader::GetInt16(CREFSTRING propertyName)
 {
     INT16 retVal = 0;
 
@@ -415,7 +415,7 @@
 /// is undetermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the integer 16 bits value.</returns>
-INT16 MgdProxyDataReader::GetInt16(INT32 index)
+INT16 MgPortableProxyDataReader::GetInt16(INT32 index)
 {
     INT16 retVal = 0;
 
@@ -432,7 +432,7 @@
 /// is undetermined</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the integer 32 bits value.</returns>
-INT32 MgdProxyDataReader::GetInt32(CREFSTRING propertyName)
+INT32 MgPortableProxyDataReader::GetInt32(CREFSTRING propertyName)
 {
     INT32 retVal = 0;
 
@@ -449,7 +449,7 @@
 /// is undetermined</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the integer 32 bits value.</returns>
-INT32 MgdProxyDataReader::GetInt32(INT32 index)
+INT32 MgPortableProxyDataReader::GetInt32(INT32 index)
 {
     INT32 retVal = 0;
 
@@ -468,7 +468,7 @@
 /// <returns>Returns the integer 64 bits value.
 /// Note: INT64 is actually a pointer to an Integer64 object
 ///</returns>
-INT64 MgdProxyDataReader::GetInt64(CREFSTRING propertyName)
+INT64 MgPortableProxyDataReader::GetInt64(CREFSTRING propertyName)
 {
     INT64 retVal = 0;
 
@@ -487,7 +487,7 @@
 /// <returns>Returns the integer 64 bits value.
 /// Note: INT64 is actually a pointer to an Integer64 object
 ///</returns>
-INT64 MgdProxyDataReader::GetInt64(INT32 index)
+INT64 MgPortableProxyDataReader::GetInt64(INT32 index)
 {
     INT64 retVal = 0;
 
@@ -504,7 +504,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the string value.</returns>
-STRING MgdProxyDataReader::GetString(CREFSTRING propertyName)
+STRING MgPortableProxyDataReader::GetString(CREFSTRING propertyName)
 {
     STRING retVal = L"";
 
@@ -521,7 +521,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the string value.</returns>
-STRING MgdProxyDataReader::GetString(INT32 index)
+STRING MgPortableProxyDataReader::GetString(INT32 index)
 {
     STRING retVal = L"";
 
@@ -538,7 +538,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the BLOB value.</returns>
-MgByteReader* MgdProxyDataReader::GetBLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableProxyDataReader::GetBLOB(CREFSTRING propertyName)
 {
     Ptr<MgBlobProperty> ptrProp = (MgBlobProperty*)GetProperty(propertyName, MgPropertyType::Blob);
     return ptrProp->GetValue();
@@ -551,7 +551,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the BLOB value.</returns>
-MgByteReader* MgdProxyDataReader::GetBLOB(INT32 index)
+MgByteReader* MgPortableProxyDataReader::GetBLOB(INT32 index)
 {
     Ptr<MgBlobProperty> ptrProp = (MgBlobProperty*)GetProperty(index, MgPropertyType::Blob);
     return ptrProp->GetValue();
@@ -564,7 +564,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the CLOB value.</returns>
-MgByteReader* MgdProxyDataReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableProxyDataReader::GetCLOB(CREFSTRING propertyName)
 {
     Ptr<MgClobProperty> ptrProp = (MgClobProperty*)GetProperty(propertyName, MgPropertyType::Clob);
     return ptrProp->GetValue();
@@ -577,7 +577,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the CLOB value.</returns>
-MgByteReader* MgdProxyDataReader::GetCLOB(INT32 index)
+MgByteReader* MgPortableProxyDataReader::GetCLOB(INT32 index)
 {
     Ptr<MgClobProperty> ptrProp = (MgClobProperty*)GetProperty(index, MgPropertyType::Clob);
     return ptrProp->GetValue();
@@ -590,7 +590,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns a ByteReader object</returns>
-MgByteReader* MgdProxyDataReader::GetGeometry(CREFSTRING propertyName)
+MgByteReader* MgPortableProxyDataReader::GetGeometry(CREFSTRING propertyName)
 {
     Ptr<MgGeometryProperty> ptrProp = (MgGeometryProperty*)GetProperty(propertyName, MgPropertyType::Geometry);
     return ptrProp->GetValue();
@@ -603,7 +603,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns a ByteReader object</returns>
-MgByteReader* MgdProxyDataReader::GetGeometry(INT32 index)
+MgByteReader* MgPortableProxyDataReader::GetGeometry(INT32 index)
 {
     Ptr<MgGeometryProperty> ptrProp = (MgGeometryProperty*)GetProperty(index, MgPropertyType::Geometry);
     return ptrProp->GetValue();
@@ -617,7 +617,7 @@
 /// Stream
 ///</param>
 
-void MgdProxyDataReader::Serialize(MgStream* stream)
+void MgPortableProxyDataReader::Serialize(MgStream* stream)
 {
     bool operationCompleted = true;
     stream->WriteBoolean(operationCompleted);
@@ -639,7 +639,7 @@
 /// Stream
 ///</param>
 
-void MgdProxyDataReader::Deserialize(MgStream* stream)
+void MgPortableProxyDataReader::Deserialize(MgStream* stream)
 {
     bool operationCompleted = false;
 
@@ -665,7 +665,7 @@
 /// XML is serialized from the current position of feature reader in the order
 /// data are retrieved.
 /// <returns>MgByteReader holding XML.</returns>
-MgByteReader* MgdProxyDataReader::ToXml()
+MgByteReader* MgPortableProxyDataReader::ToXml()
 {
     string xmlStr;
     this->ToXml(xmlStr);
@@ -676,10 +676,10 @@
     return byteSource->GetReader();
 }
 
-void MgdProxyDataReader::ToXml(string &str)
+void MgPortableProxyDataReader::ToXml(string &str)
 {
-    CHECKNULL((MgBatchPropertyCollection*)m_set, L"MgdProxyDataReader.ToXml");
-    CHECKNULL((MgPropertyDefinitionCollection*)m_propDefCol, L"MgdProxyDataReader.ToXml");
+    CHECKNULL((MgBatchPropertyCollection*)m_set, L"MgPortableProxyDataReader.ToXml");
+    CHECKNULL((MgPropertyDefinitionCollection*)m_propDefCol, L"MgPortableProxyDataReader.ToXml");
 
     // this XML follows the SelectAggregate-1.0.0.xsd schema
     str += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
@@ -701,17 +701,17 @@
     str += "</PropertySet>";
 }
 
-string MgdProxyDataReader::GetResponseElementName()
+string MgPortableProxyDataReader::GetResponseElementName()
 {
     return "PropertySet";
 }
 
-string MgdProxyDataReader::GetBodyElementName()
+string MgPortableProxyDataReader::GetBodyElementName()
 {
     return "Properties";
 }
 
-void MgdProxyDataReader::ResponseStartUtf8(string& str)
+void MgPortableProxyDataReader::ResponseStartUtf8(string& str)
 {
     str += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
     str += "<";
@@ -719,7 +719,7 @@
     str += ">";
 }
 
-void MgdProxyDataReader::ResponseEndUtf8(string& str)
+void MgPortableProxyDataReader::ResponseEndUtf8(string& str)
 {
     str += "</";
     str += GetResponseElementName();
@@ -726,7 +726,7 @@
     str += ">";
 }
 
-void MgdProxyDataReader::BodyStartUtf8(string& str)
+void MgPortableProxyDataReader::BodyStartUtf8(string& str)
 {
     str += "<";
     str += GetBodyElementName();
@@ -733,7 +733,7 @@
     str += ">";
 }
 
-void MgdProxyDataReader::BodyEndUtf8(string& str)
+void MgPortableProxyDataReader::BodyEndUtf8(string& str)
 {
     str += "</";
     str += GetBodyElementName();
@@ -740,7 +740,7 @@
     str += ">";
 }
 
-void MgdProxyDataReader::HeaderToStringUtf8(string& str)
+void MgPortableProxyDataReader::HeaderToStringUtf8(string& str)
 {
     if (NULL != (MgPropertyDefinitionCollection*)m_propDefCol)
     {
@@ -748,12 +748,12 @@
     }
 }
 
-void MgdProxyDataReader::CurrentToStringUtf8(string& str)
+void MgPortableProxyDataReader::CurrentToStringUtf8(string& str)
 {
     CurrentToStringUtf8(str, NULL);
 }
 
-void MgdProxyDataReader::CurrentToStringUtf8(string& str, MgTransform* xform)
+void MgPortableProxyDataReader::CurrentToStringUtf8(string& str, MgTransform* xform)
 {
     if (NULL != (MgBatchPropertyCollection*)m_set)
     {
@@ -768,9 +768,9 @@
     }
 }
 
-void MgdProxyDataReader::SetService(MgFeatureService* service)
+void MgPortableProxyDataReader::SetService(MgFeatureService* service)
 {
-    CHECKNULL(service, L"MgdProxyDataReader.SetService");
+    CHECKNULL(service, L"MgPortableProxyDataReader.SetService");
 
     if (m_service == NULL)
     {
@@ -783,7 +783,7 @@
 /// Releases all the resources of feature reader.
 /// This must be called when user is done with Feature Reader
 /// <returns>Nothing</returns>
-void MgdProxyDataReader::Close()
+void MgPortableProxyDataReader::Close()
 {
     if (m_serverDataReader != L"")
     {
@@ -792,7 +792,7 @@
         m_service->CloseDataReader(m_serverDataReader);
         m_serverDataReader = L"";
 
-        MG_CATCH(L"MgdProxyDataReader.Close")
+        MG_CATCH(L"MgPortableProxyDataReader.Close")
 
         // We do not rethrow the exception while destructing the object. Even if we had problem
         // disposing this feature reader, it will automatically get collected after time out.
@@ -801,10 +801,10 @@
 
 
 // Get the property for the specified name
-MgProperty* MgdProxyDataReader::GetProperty(CREFSTRING propertyName, INT16 expectedType)
+MgProperty* MgPortableProxyDataReader::GetProperty(CREFSTRING propertyName, INT16 expectedType)
 {
     Ptr<MgNullableProperty> ptrProp = (MgNullableProperty*)this->GetProperty(propertyName);
-    CHECKNULL(ptrProp, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableProxyDataReader.GetProperty");
 
     if (ptrProp->IsNull())
     {
@@ -811,36 +811,36 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdProxyDataReader.GetProperty",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableProxyDataReader.GetProperty",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     INT16 propType = ptrProp->GetPropertyType();
-    MG_CHECK_PROPERTY_TYPE(propType, expectedType, L"MgdProxyDataReader.GetProperty");
+    MG_CHECK_PROPERTY_TYPE(propType, expectedType, L"MgPortableProxyDataReader.GetProperty");
 
     return SAFE_ADDREF((MgProperty*)ptrProp);
 }
 
 // Get the property for the specified name
-MgProperty* MgdProxyDataReader::GetProperty(CREFSTRING propertyName)
+MgProperty* MgPortableProxyDataReader::GetProperty(CREFSTRING propertyName)
 {
-    CHECKNULL(m_set, L"MgdProxyDataReader.GetProperty");
-    MG_CHECK_FEATURE_SET_COUNT(m_set, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(m_set, L"MgPortableProxyDataReader.GetProperty");
+    MG_CHECK_FEATURE_SET_COUNT(m_set, L"MgPortableProxyDataReader.GetProperty");
 
     Ptr<MgPropertyCollection> ptrCol = m_set->GetItem(m_currRecord-1);
-    CHECKNULL(ptrCol, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrCol, L"MgPortableProxyDataReader.GetProperty");
 
     Ptr<MgProperty> ptrProp = ptrCol->GetItem(propertyName);
-    CHECKNULL(ptrProp, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableProxyDataReader.GetProperty");
 
     return SAFE_ADDREF((MgProperty*)ptrProp);
 }
 
 // Get the property for the specified name
-MgProperty* MgdProxyDataReader::GetProperty(INT32 index, INT16 expectedType)
+MgProperty* MgPortableProxyDataReader::GetProperty(INT32 index, INT16 expectedType)
 {
     Ptr<MgNullableProperty> ptrProp = (MgNullableProperty*)this->GetProperty(index);
-    CHECKNULL(ptrProp, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableProxyDataReader.GetProperty");
 
     if (ptrProp->IsNull())
     {
@@ -850,35 +850,35 @@
         MgStringCollection arguments;
         arguments.Add(buffer);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdProxyDataReader.GetProperty",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableProxyDataReader.GetProperty",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     INT16 propType = ptrProp->GetPropertyType();
-    MG_CHECK_PROPERTY_TYPE(propType, expectedType, L"MgdProxyDataReader.GetProperty");
+    MG_CHECK_PROPERTY_TYPE(propType, expectedType, L"MgPortableProxyDataReader.GetProperty");
 
     return SAFE_ADDREF((MgProperty*)ptrProp);
 }
 
 // Get the property for the specified index
-MgProperty* MgdProxyDataReader::GetProperty(INT32 index)
+MgProperty* MgPortableProxyDataReader::GetProperty(INT32 index)
 {
-    CHECKNULL(m_set, L"MgdProxyDataReader.GetProperty");
-    MG_CHECK_FEATURE_SET_COUNT(m_set, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(m_set, L"MgPortableProxyDataReader.GetProperty");
+    MG_CHECK_FEATURE_SET_COUNT(m_set, L"MgPortableProxyDataReader.GetProperty");
 
     Ptr<MgPropertyCollection> ptrCol = m_set->GetItem(m_currRecord-1);
-    CHECKNULL(ptrCol, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrCol, L"MgPortableProxyDataReader.GetProperty");
 
     Ptr<MgProperty> ptrProp = ptrCol->GetItem(index);
-    CHECKNULL(ptrProp, L"MgdProxyDataReader.GetProperty");
+    CHECKNULL(ptrProp, L"MgPortableProxyDataReader.GetProperty");
 
     return SAFE_ADDREF((MgProperty*)ptrProp);
 }
 
-void MgdProxyDataReader::UpdateCurrentSet(MgBatchPropertyCollection* bpCol)
+void MgPortableProxyDataReader::UpdateCurrentSet(MgBatchPropertyCollection* bpCol)
 {
-    CHECKNULL((MgBatchPropertyCollection*)m_set, L"MgdProxyDataReader.UpdateCurrentSet");
-    CHECKNULL((MgBatchPropertyCollection*)bpCol, L"MgdProxyDataReader.UpdateCurrentSet");
+    CHECKNULL((MgBatchPropertyCollection*)m_set, L"MgPortableProxyDataReader.UpdateCurrentSet");
+    CHECKNULL((MgBatchPropertyCollection*)bpCol, L"MgPortableProxyDataReader.UpdateCurrentSet");
 
     m_set->Clear();
 
@@ -896,7 +896,7 @@
 /// </summary>
 /// <param name="propertyName">Input the property name.</param>
 /// <returns>Returns the raster object.</returns>
-MgRaster* MgdProxyDataReader::GetRaster(CREFSTRING propertyName)
+MgRaster* MgPortableProxyDataReader::GetRaster(CREFSTRING propertyName)
 {
     Ptr<MgRasterProperty> ptrProp = (MgRasterProperty*)GetProperty(propertyName, MgPropertyType::Raster);
     Ptr<MgRaster> retVal = ptrProp->GetValue();
@@ -911,7 +911,7 @@
 /// </summary>
 /// <param name="index">Input the property index.</param>
 /// <returns>Returns the raster object.</returns>
-MgRaster* MgdProxyDataReader::GetRaster(INT32 index)
+MgRaster* MgPortableProxyDataReader::GetRaster(INT32 index)
 {
     Ptr<MgRasterProperty> ptrProp = (MgRasterProperty*)GetProperty(index, MgPropertyType::Raster);
     Ptr<MgRaster> retVal = ptrProp->GetValue();
@@ -928,7 +928,7 @@
 /// is NULL</summary>
 /// <param name="propertyName">Property name.</param>
 /// <returns>Returns the string value.</returns>
-const wchar_t* MgdProxyDataReader::GetString(CREFSTRING propertyName, INT32& length)
+const wchar_t* MgPortableProxyDataReader::GetString(CREFSTRING propertyName, INT32& length)
 {
     STRING str = this->GetString(propertyName);
     length = (INT32)str.size();
@@ -943,7 +943,7 @@
 /// is NULL</summary>
 /// <param name="index">Property index.</param>
 /// <returns>Returns the string value.</returns>
-const wchar_t* MgdProxyDataReader::GetString(INT32 index, INT32& length)
+const wchar_t* MgPortableProxyDataReader::GetString(INT32 index, INT32& length)
 {
     STRING str = this->GetString(index);
     length = (INT32)str.size();

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/ProxyDataReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/ProxyDataReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,12 +18,12 @@
 #ifndef _MG_PROXY_DATA_READER_H
 #define _MG_PROXY_DATA_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 class MgDataReader;
 
-class MgdProxyDataReader;
-template class MG_DESKTOP_API Ptr<MgdProxyDataReader>;
+class MgPortableProxyDataReader;
+template class MG_DESKTOP_API Ptr<MgPortableProxyDataReader>;
 
 /// \cond INTERNAL
 /////////////////////////////////////////////////////////////////
@@ -34,10 +34,10 @@
 /// \remarks
 /// The initial position of the SqlReader interface is prior to the first item.
 /// Thus, you must call ReadNext to begin accessing any data.
-class MG_DESKTOP_API  MgdProxyDataReader : public MgDataReader
+class MG_DESKTOP_API  MgPortableProxyDataReader : public MgDataReader
 {
     MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgdProxyDataReader)
+    DECLARE_CLASSNAME(MgPortableProxyDataReader)
 
 EXTERNAL_API:
 
@@ -658,10 +658,10 @@
         delete this;
     }
 
-    MgdProxyDataReader(MgBatchPropertyCollection* batchCol, MgPropertyDefinitionCollection* propDefCol);
+    MgPortableProxyDataReader(MgBatchPropertyCollection* batchCol, MgPropertyDefinitionCollection* propDefCol);
 
-    MgdProxyDataReader();
-    ~MgdProxyDataReader();
+    MgPortableProxyDataReader();
+    ~MgPortableProxyDataReader();
 
 private:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/RasterHelper.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,176 +15,176 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "RasterHelper.h"
 
-MgdRasterHelper::MgdRasterHelper(MgdFeatureReader* reader) : MgFeatureService() 
+MgPortableRasterHelper::MgPortableRasterHelper(MgPortableFeatureReader* reader) : MgFeatureService() 
 {
     m_freader = SAFE_ADDREF(reader);
 }
 
-MgdRasterHelper::MgdRasterHelper(MgdDataReader* reader) : MgFeatureService() 
+MgPortableRasterHelper::MgPortableRasterHelper(MgPortableDataReader* reader) : MgFeatureService() 
 {
     m_dreader = SAFE_ADDREF(reader);
 }
 
-MgdRasterHelper::MgdRasterHelper(MgdGwsFeatureReader* reader) : MgFeatureService() 
+MgPortableRasterHelper::MgPortableRasterHelper(MgPortableGwsFeatureReader* reader) : MgFeatureService() 
 {
     m_gwsReader = SAFE_ADDREF(reader);
 }
 
-MgByteReader* MgdRasterHelper::GetFeatureProviders() { NOT_IMPLEMENTED(L"MgdRasterHelper::GetFeatureProviders"); }
+MgByteReader* MgPortableRasterHelper::GetFeatureProviders() { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetFeatureProviders"); }
 
-MgStringCollection* MgdRasterHelper::GetConnectionPropertyValues(CREFSTRING providerName,
+MgStringCollection* MgPortableRasterHelper::GetConnectionPropertyValues(CREFSTRING providerName,
                                                         CREFSTRING propertyName,
-                                                        CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetConnectionPropertyValues"); }
+                                                        CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetConnectionPropertyValues"); }
 
-bool MgdRasterHelper::TestConnection(CREFSTRING providerName, CREFSTRING connectionString) { NOT_IMPLEMENTED(L"MgdRasterHelper::TestConnection"); }
+bool MgPortableRasterHelper::TestConnection(CREFSTRING providerName, CREFSTRING connectionString) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::TestConnection"); }
 
-bool MgdRasterHelper::TestConnection(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgdRasterHelper::TestConnection"); }
+bool MgPortableRasterHelper::TestConnection(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::TestConnection"); }
 
-MgByteReader* MgdRasterHelper::GetCapabilities(CREFSTRING providerName) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetCapabilities"); }
+MgByteReader* MgPortableRasterHelper::GetCapabilities(CREFSTRING providerName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetCapabilities"); }
 
-MgByteReader* MgdRasterHelper::GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetCapabilities"); }
+MgByteReader* MgPortableRasterHelper::GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetCapabilities"); }
 
-void MgdRasterHelper::ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema) { NOT_IMPLEMENTED(L"MgdRasterHelper::ApplySchema"); }
+void MgPortableRasterHelper::ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ApplySchema"); }
 
-MgFeatureSchemaCollection* MgdRasterHelper::DescribeSchema(MgResourceIdentifier* resource,
+MgFeatureSchemaCollection* MgPortableRasterHelper::DescribeSchema(MgResourceIdentifier* resource,
                                                   CREFSTRING schemaName,
-                                                  MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeSchema"); }
+                                                  MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeSchema"); }
 
-MgFeatureSchemaCollection* MgdRasterHelper::DescribeSchema(MgResourceIdentifier* resource,
-                                                  CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeSchema"); }
+MgFeatureSchemaCollection* MgPortableRasterHelper::DescribeSchema(MgResourceIdentifier* resource,
+                                                  CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeSchema"); }
 
-STRING MgdRasterHelper::DescribeSchemaAsXml(MgResourceIdentifier* resource,
+STRING MgPortableRasterHelper::DescribeSchemaAsXml(MgResourceIdentifier* resource,
                                    CREFSTRING schemaName,
-                                   MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeSchemaAsXml"); }
+                                   MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeSchemaAsXml"); }
 
-STRING MgdRasterHelper::DescribeSchemaAsXml(MgResourceIdentifier* resource,
-                                   CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeSchemaAsXml"); }
+STRING MgPortableRasterHelper::DescribeSchemaAsXml(MgResourceIdentifier* resource,
+                                   CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeSchemaAsXml"); }
 
-STRING MgdRasterHelper::SchemaToXml(MgFeatureSchemaCollection* schema) { NOT_IMPLEMENTED(L"MgdRasterHelper::SchemaToXml"); }
+STRING MgPortableRasterHelper::SchemaToXml(MgFeatureSchemaCollection* schema) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::SchemaToXml"); }
 
-MgFeatureSchemaCollection* MgdRasterHelper::XmlToSchema(CREFSTRING xml) { NOT_IMPLEMENTED(L"MgdRasterHelper::XmlToSchema"); }
+MgFeatureSchemaCollection* MgPortableRasterHelper::XmlToSchema(CREFSTRING xml) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::XmlToSchema"); }
 
-MgFeatureReader* MgdRasterHelper::SelectFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableRasterHelper::SelectFeatures(MgResourceIdentifier* resource,
                                         CREFSTRING className,
-                                        MgFeatureQueryOptions* options) { NOT_IMPLEMENTED(L"MgdRasterHelper::SelectFeatures"); }
+                                        MgFeatureQueryOptions* options) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::SelectFeatures"); }
 
-MgFeatureReader* MgdRasterHelper::SelectFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableRasterHelper::SelectFeatures(MgResourceIdentifier* resource,
                                         CREFSTRING className,
                                         MgFeatureQueryOptions* options,
-                                        CREFSTRING coordinateSystem) { NOT_IMPLEMENTED(L"MgdRasterHelper::SelectFeatures"); }
+                                        CREFSTRING coordinateSystem) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::SelectFeatures"); }
 
-MgDataReader* MgdRasterHelper::SelectAggregate(MgResourceIdentifier* resource,
+MgDataReader* MgPortableRasterHelper::SelectAggregate(MgResourceIdentifier* resource,
                                       CREFSTRING className,
-                                      MgFeatureAggregateOptions* options) { NOT_IMPLEMENTED(L"MgdRasterHelper::SelectAggregate"); }
+                                      MgFeatureAggregateOptions* options) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::SelectAggregate"); }
 
-MgPropertyCollection* MgdRasterHelper::UpdateFeatures(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableRasterHelper::UpdateFeatures(MgResourceIdentifier* resource,
                                              MgFeatureCommandCollection* commands,
-                                             bool useTransaction) { NOT_IMPLEMENTED(L"MgdRasterHelper::UpdateFeatures"); }
+                                             bool useTransaction) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::UpdateFeatures"); }
 
-MgPropertyCollection* MgdRasterHelper::UpdateFeatures(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableRasterHelper::UpdateFeatures(MgResourceIdentifier* resource,
                                              MgFeatureCommandCollection* commands,
-                                             MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgdRasterHelper::UpdateFeatures"); }
+                                             MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::UpdateFeatures"); }
 
-MgFeatureReader* MgdRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues)   
+MgFeatureReader* MgPortableRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues)   
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::InsertFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::InsertFeatures");
 }
 
-MgFeatureReader* MgdRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::InsertFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::InsertFeatures");
 }
 
-MgFeatureReader* MgdRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues)
+MgFeatureReader* MgPortableRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::InsertFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::InsertFeatures");
 }
 
-MgFeatureReader* MgdRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableRasterHelper::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues, MgTransaction* trans)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::InsertFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::InsertFeatures");
 }
 
-INT32 MgdRasterHelper::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter)
+INT32 MgPortableRasterHelper::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::DeleteFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::DeleteFeatures");
 }
 
-INT32 MgdRasterHelper::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableRasterHelper::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::DeleteFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::DeleteFeatures");
 }
     
-INT32 MgdRasterHelper::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter)
+INT32 MgPortableRasterHelper::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::UpdateMatchingFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::UpdateMatchingFeatures");
 }
 
-INT32 MgdRasterHelper::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableRasterHelper::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::UpdateMatchingFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::UpdateMatchingFeatures");
 }
 
-MgFeatureReader* MgdRasterHelper::GetLockedFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableRasterHelper::GetLockedFeatures(MgResourceIdentifier* resource,
                                            CREFSTRING className,
-                                           MgFeatureQueryOptions* options) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetLockedFeatures"); }
+                                           MgFeatureQueryOptions* options) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetLockedFeatures"); }
 
-MgTransaction* MgdRasterHelper::BeginTransaction(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgdRasterHelper::BeginTransaction"); }
+MgTransaction* MgPortableRasterHelper::BeginTransaction(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::BeginTransaction"); }
 
-MgSqlDataReader* MgdRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
-                                         CREFSTRING sqlStatement) { NOT_IMPLEMENTED(L"MgdRasterHelper::ExecuteSqlQuery"); }
+MgSqlDataReader* MgPortableRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
+                                         CREFSTRING sqlStatement) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ExecuteSqlQuery"); }
 
-MgSqlDataReader* MgdRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
+MgSqlDataReader* MgPortableRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
                                          CREFSTRING sqlStatement,
                                          MgParameterCollection* parameters,
-                                         MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgdRasterHelper::ExecuteSqlQuery"); }
+                                         MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ExecuteSqlQuery"); }
 
-INT32 MgdRasterHelper::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
-                                 CREFSTRING sqlNonSelectStatement) { NOT_IMPLEMENTED(L"MgdRasterHelper::ExecuteSqlNonQuery"); }
+INT32 MgPortableRasterHelper::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
+                                 CREFSTRING sqlNonSelectStatement) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ExecuteSqlNonQuery"); }
 
-INT32 MgdRasterHelper::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
+INT32 MgPortableRasterHelper::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
                                  CREFSTRING sqlNonSelectStatement,
                                  MgParameterCollection* parameters,
-                                 MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgdRasterHelper::ExecuteSqlNonQuery"); }
+                                 MgTransaction* transaction) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ExecuteSqlNonQuery"); }
 
-MgSpatialContextReader* MgdRasterHelper::GetSpatialContexts(MgResourceIdentifier* resource,
-                                                   bool bActiveOnly) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetSpatialContexts"); }
+MgSpatialContextReader* MgPortableRasterHelper::GetSpatialContexts(MgResourceIdentifier* resource,
+                                                   bool bActiveOnly) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetSpatialContexts"); }
 
-MgLongTransactionReader* MgdRasterHelper::GetLongTransactions(MgResourceIdentifier* resource,
-                                                     bool bActiveOnly) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetLongTransactions"); }
+MgLongTransactionReader* MgPortableRasterHelper::GetLongTransactions(MgResourceIdentifier* resource,
+                                                     bool bActiveOnly) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetLongTransactions"); }
 
-bool MgdRasterHelper::SetLongTransaction(MgResourceIdentifier* featureSourceId,
-                                CREFSTRING longTransactionName) { NOT_IMPLEMENTED(L"MgdRasterHelper::SetLongTransaction"); }
+bool MgPortableRasterHelper::SetLongTransaction(MgResourceIdentifier* featureSourceId,
+                                CREFSTRING longTransactionName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::SetLongTransaction"); }
 
-MgStringCollection* MgdRasterHelper::GetSchemas(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetSchemas"); }
+MgStringCollection* MgPortableRasterHelper::GetSchemas(MgResourceIdentifier* resource) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetSchemas"); }
 
-MgStringCollection* MgdRasterHelper::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetClasses"); }
+MgStringCollection* MgPortableRasterHelper::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetClasses"); }
 
-MgClassDefinition* MgdRasterHelper::GetClassDefinition(MgResourceIdentifier* resource,
+MgClassDefinition* MgPortableRasterHelper::GetClassDefinition(MgResourceIdentifier* resource,
                                               CREFSTRING schemaName,
-                                              CREFSTRING className) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetClassDefinition"); }
+                                              CREFSTRING className) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetClassDefinition"); }
 
-void MgdRasterHelper::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams) { NOT_IMPLEMENTED(L"MgdRasterHelper::CreateFeatureSource"); }
+void MgPortableRasterHelper::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::CreateFeatureSource"); }
 
-MgByteReader* MgdRasterHelper::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
-                                             MgStringCollection* featureClasses) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeWfsFeatureType"); }
+MgByteReader* MgPortableRasterHelper::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
+                                             MgStringCollection* featureClasses) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeWfsFeatureType"); }
 
-MgByteReader* MgdRasterHelper::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableRasterHelper::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
                                              MgStringCollection* featureClasses,
                                              CREFSTRING namespacePrefix,
-                                             CREFSTRING namespaceUrl) { NOT_IMPLEMENTED(L"MgdRasterHelper::DescribeWfsFeatureType"); }
+                                             CREFSTRING namespaceUrl) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::DescribeWfsFeatureType"); }
 
-MgByteReader* MgdRasterHelper::GetWfsFeature(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableRasterHelper::GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                     CREFSTRING featureClass,
                                     MgStringCollection* requiredProperties,
                                     CREFSTRING srs,
                                     CREFSTRING filter,
-                                    INT32 maxFeatures) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetWfsFeature"); }
+                                    INT32 maxFeatures) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetWfsFeature"); }
 
-MgByteReader* MgdRasterHelper::GetWfsFeature(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableRasterHelper::GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                     CREFSTRING featureClass,
                                     MgStringCollection* requiredProperties,
                                     CREFSTRING srs,
@@ -194,83 +194,83 @@
                                     CREFSTRING outputFormat,
                                     CREFSTRING sortCriteria,
                                     CREFSTRING namespacePrefix,
-                                    CREFSTRING namespaceUrl) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetWfsFeature"); }
+                                    CREFSTRING namespaceUrl) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetWfsFeature"); }
 
-MgByteReader* MgdRasterHelper::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgdRasterHelper::EnumerateDataStores"); }
+MgByteReader* MgPortableRasterHelper::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::EnumerateDataStores"); }
 
-MgByteReader* MgdRasterHelper::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetSchemaMapping"); }
+MgByteReader* MgPortableRasterHelper::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetSchemaMapping"); }
 
 
 
 // Feature
-MgBatchPropertyCollection* MgdRasterHelper::GetFeatures(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetFeatures"); }
-bool MgdRasterHelper::CloseFeatureReader(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::CloseFeatureReader"); }
+MgBatchPropertyCollection* MgPortableRasterHelper::GetFeatures(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetFeatures"); }
+bool MgPortableRasterHelper::CloseFeatureReader(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::CloseFeatureReader"); }
 
 // SQL
-MgBatchPropertyCollection* MgdRasterHelper::GetSqlRows(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetSqlRows"); }
-bool MgdRasterHelper::CloseSqlReader(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::CloseSqlReader"); }
+MgBatchPropertyCollection* MgPortableRasterHelper::GetSqlRows(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetSqlRows"); }
+bool MgPortableRasterHelper::CloseSqlReader(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::CloseSqlReader"); }
 
 // Data
-MgBatchPropertyCollection* MgdRasterHelper::GetDataRows(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetDataRows"); }
-bool MgdRasterHelper::CloseDataReader(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgdRasterHelper::CloseDataReader"); }
+MgBatchPropertyCollection* MgPortableRasterHelper::GetDataRows(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetDataRows"); }
+bool MgPortableRasterHelper::CloseDataReader(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::CloseDataReader"); }
 
 // Raster
-MgByteReader* MgdRasterHelper::GetRaster(CREFSTRING reader, INT32 xSize, INT32 ySize, STRING propName) 
+MgByteReader* MgPortableRasterHelper::GetRaster(CREFSTRING reader, INT32 xSize, INT32 ySize, STRING propName) 
 {
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
-    if (NULL != (MgdFeatureReader*)m_freader)
+    if (NULL != (MgPortableFeatureReader*)m_freader)
         ret = m_freader->GetRaster(propName, xSize, ySize);
-    else if (NULL != (MgdDataReader*)m_dreader)
+    else if (NULL != (MgPortableDataReader*)m_dreader)
         ret = m_dreader->GetRaster(propName, xSize, ySize);
-    else if (NULL != (MgdGwsFeatureReader*)m_gwsReader)
+    else if (NULL != (MgPortableGwsFeatureReader*)m_gwsReader)
         ret = m_gwsReader->GetRaster(propName, xSize, ySize);
     else
-        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdRasterHelper::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdRasterHelper::GetRaster")
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableRasterHelper::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableRasterHelper::GetRaster")
     return ret.Detach();
 }
 
-MgPropertyDefinitionCollection* MgdRasterHelper::GetIdentityProperties(MgResourceIdentifier* resource,
+MgPropertyDefinitionCollection* MgPortableRasterHelper::GetIdentityProperties(MgResourceIdentifier* resource,
                                                               CREFSTRING schemaName,
-                                                              CREFSTRING className) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetIdentityProperties"); }
+                                                              CREFSTRING className) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetIdentityProperties"); }
 
-MgClassDefinitionCollection* MgdRasterHelper::GetIdentityProperties(MgResourceIdentifier* resource,
+MgClassDefinitionCollection* MgPortableRasterHelper::GetIdentityProperties(MgResourceIdentifier* resource,
                                                            CREFSTRING schemaName,
-                                                           MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetIdentityProperties"); }
+                                                           MgStringCollection* classNames) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetIdentityProperties"); }
 
-STRING MgdRasterHelper::GetFdoCacheInfo() { NOT_IMPLEMENTED(L"MgdRasterHelper::GetFdoCacheInfo"); }
+STRING MgPortableRasterHelper::GetFdoCacheInfo() { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetFdoCacheInfo"); }
 
-MgClassDefinition* MgdRasterHelper::GetClassDefinition(MgResourceIdentifier* resource,
+MgClassDefinition* MgPortableRasterHelper::GetClassDefinition(MgResourceIdentifier* resource,
                                               CREFSTRING schemaName,
                                               CREFSTRING className,
-                                              bool serialize) { NOT_IMPLEMENTED(L"MgdRasterHelper::GetClassDefinition"); }
+                                              bool serialize) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetClassDefinition"); }
 
-bool MgdRasterHelper::CommitTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgdRasterHelper::CommitTransaction"); }
+bool MgPortableRasterHelper::CommitTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::CommitTransaction"); }
 
-bool MgdRasterHelper::RollbackTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgdRasterHelper::RollbackTransaction"); }
+bool MgPortableRasterHelper::RollbackTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::RollbackTransaction"); }
 
-MgSqlDataReader* MgdRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
+MgSqlDataReader* MgPortableRasterHelper::ExecuteSqlQuery(MgResourceIdentifier* resource,
                                          CREFSTRING sqlStatement,
                                          MgParameterCollection* parameters,
                                          MgTransaction* transaction,
-                                         INT32 fetchSize) { NOT_IMPLEMENTED(L"MgdRasterHelper::ExecuteSqlQuery"); }
+                                         INT32 fetchSize) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ExecuteSqlQuery"); }
 
 //Add save point
-STRING MgdRasterHelper::AddSavePoint(CREFSTRING transactionId, CREFSTRING suggestName) { NOT_IMPLEMENTED(L"MgdRasterHelper::AddSavePoint"); }
+STRING MgPortableRasterHelper::AddSavePoint(CREFSTRING transactionId, CREFSTRING suggestName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::AddSavePoint"); }
 
 //Roll back to a save point
-bool MgdRasterHelper::RollbackSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgdRasterHelper::RollbackSavePoint"); }
+bool MgPortableRasterHelper::RollbackSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::RollbackSavePoint"); }
 
 //Release a save point
-bool MgdRasterHelper::ReleaseSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgdRasterHelper::ReleaseSavePoint"); }
+bool MgPortableRasterHelper::ReleaseSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgPortableRasterHelper::ReleaseSavePoint"); }
 
-MgFeatureReader *MgdRasterHelper::GetWfsReader(MgResourceIdentifier *, CREFSTRING, MgStringCollection *, CREFSTRING, CREFSTRING, CREFSTRING)
+MgFeatureReader *MgPortableRasterHelper::GetWfsReader(MgResourceIdentifier *, CREFSTRING, MgStringCollection *, CREFSTRING, CREFSTRING, CREFSTRING)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::DeleteFeatures");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::DeleteFeatures");
 }
 
-INT32 MgdRasterHelper::GetWfsFeatureTotal(MgResourceIdentifier *, CREFSTRING, CREFSTRING, INT32)
+INT32 MgPortableRasterHelper::GetWfsFeatureTotal(MgResourceIdentifier *, CREFSTRING, CREFSTRING, INT32)
 {
-    NOT_IMPLEMENTED(L"MgdRasterHelper::GetWfsFeatureTotal");
+    NOT_IMPLEMENTED(L"MgPortableRasterHelper::GetWfsFeatureTotal");
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/RasterHelper.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/RasterHelper.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,10 +18,10 @@
 #ifndef DESKTOP_RASTER_HELPER_H
 #define DESKTOP_RASTER_HELPER_H
 
-class MgdGwsFeatureReader;
-template class Ptr<MgdFeatureReader>;
+class MgPortableGwsFeatureReader;
+template class Ptr<MgPortableFeatureReader>;
 
-class MgdRasterHelper : public MgFeatureService
+class MgPortableRasterHelper : public MgFeatureService
 {
 PUBLISHED_API:
     virtual MgByteReader* GetFeatureProviders();
@@ -172,11 +172,11 @@
     virtual INT32 GetWfsFeatureTotal(MgResourceIdentifier *, CREFSTRING, CREFSTRING, INT32);
 INTERNAL_API:
 
-    MgdRasterHelper(MgdFeatureReader* reader);
-    MgdRasterHelper(MgdDataReader* reader);
-    MgdRasterHelper(MgdGwsFeatureReader* reader);
+    MgPortableRasterHelper(MgPortableFeatureReader* reader);
+    MgPortableRasterHelper(MgPortableDataReader* reader);
+    MgPortableRasterHelper(MgPortableGwsFeatureReader* reader);
 
-    virtual ~MgdRasterHelper() {}
+    virtual ~MgPortableRasterHelper() {}
 
     // Feature
     virtual MgBatchPropertyCollection* GetFeatures(CREFSTRING featureReader);
@@ -234,9 +234,9 @@
     virtual void Dispose() { delete this; }
 
 private:
-    Ptr<MgdGwsFeatureReader> m_gwsReader;
-    Ptr<MgdFeatureReader> m_freader;
-    Ptr<MgdDataReader> m_dreader;
+    Ptr<MgPortableGwsFeatureReader> m_gwsReader;
+    Ptr<MgPortableFeatureReader> m_freader;
+    Ptr<MgPortableDataReader> m_dreader;
 
 };
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/RdbmsFeatureSourceParams.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,80 +17,80 @@
 
 #include "RdbmsFeatureSourceParams.h"
 
-MgdRdbmsFeatureSourceParams::MgdRdbmsFeatureSourceParams()
+MgPortableRdbmsFeatureSourceParams::MgPortableRdbmsFeatureSourceParams()
 {
 
 }
 
-MgdRdbmsFeatureSourceParams::~MgdRdbmsFeatureSourceParams()
+MgPortableRdbmsFeatureSourceParams::~MgPortableRdbmsFeatureSourceParams()
 {
 
 }
 
-void MgdRdbmsFeatureSourceParams::Serialize(MgStream* stream)
+void MgPortableRdbmsFeatureSourceParams::Serialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdRdbmsFeatureSourceParams::Serialize");
+    NOT_IMPLEMENTED(L"MgPortableRdbmsFeatureSourceParams::Serialize");
 }
 
-void MgdRdbmsFeatureSourceParams::Deserialize(MgStream* stream)
+void MgPortableRdbmsFeatureSourceParams::Deserialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdRdbmsFeatureSourceParams::Serialize");
+    NOT_IMPLEMENTED(L"MgPortableRdbmsFeatureSourceParams::Serialize");
 }
 
-void MgdRdbmsFeatureSourceParams::Dispose() { delete this; }
+void MgPortableRdbmsFeatureSourceParams::Dispose() { delete this; }
 
-STRING MgdRdbmsFeatureSourceParams::GetProviderName() { return m_provider; }
+STRING MgPortableRdbmsFeatureSourceParams::GetProviderName() { return m_provider; }
 
-void MgdRdbmsFeatureSourceParams::SetProviderName(CREFSTRING providerName) { m_provider = providerName; }
+void MgPortableRdbmsFeatureSourceParams::SetProviderName(CREFSTRING providerName) { m_provider = providerName; }
 
-STRING MgdRdbmsFeatureSourceParams::GetService() { return m_service; }
+STRING MgPortableRdbmsFeatureSourceParams::GetService() { return m_service; }
 
-void MgdRdbmsFeatureSourceParams::SetService(CREFSTRING service) { m_service = service; }
+void MgPortableRdbmsFeatureSourceParams::SetService(CREFSTRING service) { m_service = service; }
 
-STRING MgdRdbmsFeatureSourceParams::GetPassword() { return m_password; }
+STRING MgPortableRdbmsFeatureSourceParams::GetPassword() { return m_password; }
 
-void MgdRdbmsFeatureSourceParams::SetPassword(CREFSTRING pwd) { m_password = pwd; }
+void MgPortableRdbmsFeatureSourceParams::SetPassword(CREFSTRING pwd) { m_password = pwd; }
 
-STRING MgdRdbmsFeatureSourceParams::GetUsername() { return m_username; }
+STRING MgPortableRdbmsFeatureSourceParams::GetUsername() { return m_username; }
 
-void MgdRdbmsFeatureSourceParams::SetUsername(CREFSTRING username) { m_username = username; }
+void MgPortableRdbmsFeatureSourceParams::SetUsername(CREFSTRING username) { m_username = username; }
 
-STRING MgdRdbmsFeatureSourceParams::GetDataStore() { return m_datastore; }
+STRING MgPortableRdbmsFeatureSourceParams::GetDataStore() { return m_datastore; }
 
-void MgdRdbmsFeatureSourceParams::SetDataStore(CREFSTRING dataStore) { m_datastore = dataStore; }
+void MgPortableRdbmsFeatureSourceParams::SetDataStore(CREFSTRING dataStore) { m_datastore = dataStore; }
 
-STRING MgdRdbmsFeatureSourceParams::GetSpatialContextName() { return m_scName; }
+STRING MgPortableRdbmsFeatureSourceParams::GetSpatialContextName() { return m_scName; }
 
-void MgdRdbmsFeatureSourceParams::SetSpatialContextName(CREFSTRING name) { m_scName = name; }
+void MgPortableRdbmsFeatureSourceParams::SetSpatialContextName(CREFSTRING name) { m_scName = name; }
 
-STRING MgdRdbmsFeatureSourceParams::GetSpatialContextDescription() { return m_scDescription; }
+STRING MgPortableRdbmsFeatureSourceParams::GetSpatialContextDescription() { return m_scDescription; }
 
-void MgdRdbmsFeatureSourceParams::SetSpatialContextDescription(CREFSTRING description) { m_scDescription = description; }
+void MgPortableRdbmsFeatureSourceParams::SetSpatialContextDescription(CREFSTRING description) { m_scDescription = description; }
 
-STRING MgdRdbmsFeatureSourceParams::GetCoordinateSystemWkt() { return m_scCsWkt; }
+STRING MgPortableRdbmsFeatureSourceParams::GetCoordinateSystemWkt() { return m_scCsWkt; }
 
-void MgdRdbmsFeatureSourceParams::SetCoordinateSystemWkt(CREFSTRING srsWkt) { m_scCsWkt = srsWkt; }
+void MgPortableRdbmsFeatureSourceParams::SetCoordinateSystemWkt(CREFSTRING srsWkt) { m_scCsWkt = srsWkt; }
 
-STRING MgdRdbmsFeatureSourceParams::GetCoordinateSystemName() { return m_scCsName; }
+STRING MgPortableRdbmsFeatureSourceParams::GetCoordinateSystemName() { return m_scCsName; }
 
-void MgdRdbmsFeatureSourceParams::SetCoordinateSystemName(CREFSTRING csName) { m_scCsName = csName; }
+void MgPortableRdbmsFeatureSourceParams::SetCoordinateSystemName(CREFSTRING csName) { m_scCsName = csName; }
 
-double MgdRdbmsFeatureSourceParams::GetXYTolerance() { return m_xyTolerance; }
+double MgPortableRdbmsFeatureSourceParams::GetXYTolerance() { return m_xyTolerance; }
 
-void MgdRdbmsFeatureSourceParams::SetXYTolerance(double tolerance) { m_xyTolerance = tolerance; }
+void MgPortableRdbmsFeatureSourceParams::SetXYTolerance(double tolerance) { m_xyTolerance = tolerance; }
 
-double MgdRdbmsFeatureSourceParams::GetZTolerance() { return m_zTolerance; }
+double MgPortableRdbmsFeatureSourceParams::GetZTolerance() { return m_zTolerance; }
 
-void MgdRdbmsFeatureSourceParams::SetZTolerance(double tolerance) { m_zTolerance = tolerance; }
+void MgPortableRdbmsFeatureSourceParams::SetZTolerance(double tolerance) { m_zTolerance = tolerance; }
 
-MgFeatureSchema* MgdRdbmsFeatureSourceParams::GetFeatureSchema() { return SAFE_ADDREF((MgFeatureSchema*)m_schema); }
+MgFeatureSchema* MgPortableRdbmsFeatureSourceParams::GetFeatureSchema() { return SAFE_ADDREF((MgFeatureSchema*)m_schema); }
 
-void MgdRdbmsFeatureSourceParams::SetFeatureSchema(MgFeatureSchema* featureSchema) { m_schema = SAFE_ADDREF(featureSchema); }
+void MgPortableRdbmsFeatureSourceParams::SetFeatureSchema(MgFeatureSchema* featureSchema) { m_schema = SAFE_ADDREF(featureSchema); }
 
-MgEnvelope* MgdRdbmsFeatureSourceParams::GetSpatialContextExtents() { return SAFE_ADDREF((MgEnvelope*)m_extents); }
+MgEnvelope* MgPortableRdbmsFeatureSourceParams::GetSpatialContextExtents() { return SAFE_ADDREF((MgEnvelope*)m_extents); }
 
-void MgdRdbmsFeatureSourceParams::SetSpatialContextExtents(MgEnvelope* extents) { m_extents = SAFE_ADDREF(extents); }
+void MgPortableRdbmsFeatureSourceParams::SetSpatialContextExtents(MgEnvelope* extents) { m_extents = SAFE_ADDREF(extents); }
 
-bool MgdRdbmsFeatureSourceParams::GetIsFdoEnabled() { return m_useFdoMetadata; }
+bool MgPortableRdbmsFeatureSourceParams::GetIsFdoEnabled() { return m_useFdoMetadata; }
 
-void MgdRdbmsFeatureSourceParams::SetIsFdoEnabled(bool useFdoMetadata) { m_useFdoMetadata = useFdoMetadata; }
\ No newline at end of file
+void MgPortableRdbmsFeatureSourceParams::SetIsFdoEnabled(bool useFdoMetadata) { m_useFdoMetadata = useFdoMetadata; }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/RdbmsFeatureSourceParams.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_RDBMS_FEATURE_SOURCE_PARAMS_H
 #define DESKTOP_RDBMS_FEATURE_SOURCE_PARAMS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 // Parameter class for creating RDBMS data stores
 //
@@ -33,7 +33,7 @@
 /// \remarks
 /// You may use MgFeatureService::DescribeSchema and
 /// MgFeatureService::GetSpatialContexts to get the values needed, or create the
-/// MgFeatureSchema from scratch to construct and configure the MgdRdbmsFeatureSourceParams 
+/// MgFeatureSchema from scratch to construct and configure the MgPortableRdbmsFeatureSourceParams 
 /// object.\n\n
 /// Only relational FDO providers that support the FdoICreateDataStore command
 /// can be used with this class to create Feature Sources. As of this writing, the
@@ -44,25 +44,25 @@
 ///
 /// You cannot create file Feature Sources using this class. Use the MgFileFeatureSourceParams
 /// class if you need to create file-based Feature Sources.
-class MG_DESKTOP_API MgdRdbmsFeatureSourceParams : public MgFeatureSourceParams
+class MG_DESKTOP_API MgPortableRdbmsFeatureSourceParams : public MgFeatureSourceParams
 {
 PUBLISHED_API:
     //////////////////////////////////////////////////
     /// \brief
-    /// Constructs an empty MgdRdbmsFeatureSourceParams object.
+    /// Constructs an empty MgPortableRdbmsFeatureSourceParams object.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    ///  MgdRdbmsFeatureSourceParams();
+    ///  MgPortableRdbmsFeatureSourceParams();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    ///  MgdRdbmsFeatureSourceParams();
+    ///  MgPortableRdbmsFeatureSourceParams();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    ///  MgdRdbmsFeatureSourceParams();
+    ///  MgPortableRdbmsFeatureSourceParams();
     /// \htmlinclude SyntaxBottom.html
     ///
-    MgdRdbmsFeatureSourceParams();
+    MgPortableRdbmsFeatureSourceParams();
 
     ///////////////////////////////////////////////
     /// \brief
@@ -675,7 +675,7 @@
 protected:
     virtual void Dispose();
 
-    virtual ~MgdRdbmsFeatureSourceParams();
+    virtual ~MgPortableRdbmsFeatureSourceParams();
 
 private:
     STRING m_provider;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/SingleDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdSingleDataReaderCreator : public MgdDataReaderCreator<float>
+class MgPortableSingleDataReaderCreator : public MgPortableDataReaderCreator<float>
 {
-    DECLARE_CLASSNAME(MgdSingleDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableSingleDataReaderCreator)
 
 public:
-    MgdSingleDataReaderCreator()
+    MgPortableSingleDataReaderCreator()
     {
     }
 
-    MgdSingleDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableSingleDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::Single;
     }
 
-    ~MgdSingleDataReaderCreator()
+    ~MgPortableSingleDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/SpatialContextCacheItem.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "SpatialContextCacheItem.h"
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -23,7 +23,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdSpatialContextCacheItem::MgdSpatialContextCacheItem()
+MgPortableSpatialContextCacheItem::MgPortableSpatialContextCacheItem()
 {
 }
 
@@ -31,7 +31,7 @@
 /// \brief
 /// Construct the object.
 ///
-MgdSpatialContextCacheItem::MgdSpatialContextCacheItem(MgSpatialContextInfo* spatialContextInfo)
+MgPortableSpatialContextCacheItem::MgPortableSpatialContextCacheItem(MgSpatialContextInfo* spatialContextInfo)
 {
     Set(spatialContextInfo);
 }
@@ -40,7 +40,7 @@
 /// \brief
 /// Destruct the object.
 ///
-MgdSpatialContextCacheItem::~MgdSpatialContextCacheItem()
+MgPortableSpatialContextCacheItem::~MgPortableSpatialContextCacheItem()
 {
 }
 
@@ -48,7 +48,7 @@
 /// \brief
 /// Set the spatial context info.
 ///
-void MgdSpatialContextCacheItem::Set(MgSpatialContextInfo* spatialContextInfo)
+void MgPortableSpatialContextCacheItem::Set(MgSpatialContextInfo* spatialContextInfo)
 {
     m_spatialContextInfo.reset(spatialContextInfo);
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/SpatialContextCacheItem.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,21 +21,21 @@
 
 typedef std::map<STRING, STRING> MgSpatialContextInfo;
 
-class MgdSpatialContextCacheItem : public MgGuardDisposable
+class MgPortableSpatialContextCacheItem : public MgGuardDisposable
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdSpatialContextCacheItem();
-    explicit MgdSpatialContextCacheItem(MgSpatialContextInfo* spatialContextInfo);
-    virtual ~MgdSpatialContextCacheItem();
+    MgPortableSpatialContextCacheItem();
+    explicit MgPortableSpatialContextCacheItem(MgSpatialContextInfo* spatialContextInfo);
+    virtual ~MgPortableSpatialContextCacheItem();
 
 private:
 
     // Unimplemented copy constructor and assignment operator.
-    MgdSpatialContextCacheItem(const MgdSpatialContextCacheItem&);
-    MgdSpatialContextCacheItem& operator=(const MgdSpatialContextCacheItem&);
+    MgPortableSpatialContextCacheItem(const MgPortableSpatialContextCacheItem&);
+    MgPortableSpatialContextCacheItem& operator=(const MgPortableSpatialContextCacheItem&);
 
 protected:
     virtual void Dispose() { delete this; }
@@ -56,7 +56,7 @@
 
 /// Inline Methods
 
-inline MgSpatialContextInfo* MgdSpatialContextCacheItem::Get()
+inline MgSpatialContextInfo* MgPortableSpatialContextCacheItem::Get()
 {
     return m_spatialContextInfo.get();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/StringDataReaderCreator.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 
 #include <vector>
 
-class MgdStringDataReaderCreator : public MgdDataReaderCreator<STRING>
+class MgPortableStringDataReaderCreator : public MgPortableDataReaderCreator<STRING>
 {
-    DECLARE_CLASSNAME(MgdStringDataReaderCreator)
+    DECLARE_CLASSNAME(MgPortableStringDataReaderCreator)
 
 public:
-    MgdStringDataReaderCreator()
+    MgPortableStringDataReaderCreator()
     {
     }
 
-    MgdStringDataReaderCreator(CREFSTRING propertyAlias)
+    MgPortableStringDataReaderCreator(CREFSTRING propertyAlias)
     {
         m_propertyAlias = propertyAlias;
         m_propType = MgPropertyType::String;
     }
 
-    ~MgdStringDataReaderCreator()
+    ~MgPortableStringDataReaderCreator()
     {
     }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/TransformCache.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,10 +18,10 @@
 
 #include "TransformCache.h"
 
-ACE_Recursive_Thread_Mutex MgdTransformCache::sm_mutex;
+ACE_Recursive_Thread_Mutex MgPortableTransformCache::sm_mutex;
 
 
-MgdTransformCache::MgdTransformCache(MgdCSTrans* transform, MgCoordinateSystem* coordinateSystem)
+MgPortableTransformCache::MgPortableTransformCache(MgPortableCSTrans* transform, MgCoordinateSystem* coordinateSystem)
 {
     m_xform.reset(transform);
     m_coordSys = SAFE_ADDREF(coordinateSystem);
@@ -28,48 +28,48 @@
 }
 
 
-MgdTransformCache::~MgdTransformCache()
+MgPortableTransformCache::~MgPortableTransformCache()
 {
 }
 
 
-MgdCSTrans* MgdTransformCache::GetTransform()
+MgPortableCSTrans* MgPortableTransformCache::GetTransform()
 {
     return m_xform.get();
 }
 
 
-MgCoordinateSystem* MgdTransformCache::GetCoordSys()
+MgCoordinateSystem* MgPortableTransformCache::GetCoordSys()
 {
     return SAFE_ADDREF(m_coordSys.p);
 }
 
 
-void MgdTransformCache::SetMgTransform(MgCoordinateSystemTransform* mgTransform)
+void MgPortableTransformCache::SetMgTransform(MgCoordinateSystemTransform* mgTransform)
 {
     m_transform = SAFE_ADDREF(mgTransform);
 }
 
 
-MgCoordinateSystemTransform* MgdTransformCache::GetMgTransform()
+MgCoordinateSystemTransform* MgPortableTransformCache::GetMgTransform()
 {
     return SAFE_ADDREF(m_transform.p);
 }
 
 
-void MgdTransformCache::SetEnvelope(MgEnvelope* envelope)
+void MgPortableTransformCache::SetEnvelope(MgEnvelope* envelope)
 {
     m_envelope = SAFE_ADDREF(envelope);
 }
 
 
-MgEnvelope* MgdTransformCache::GetEnvelope()
+MgEnvelope* MgPortableTransformCache::GetEnvelope()
 {
     return SAFE_ADDREF(m_envelope.p);
 }
 
 
-MgdTransformCache* MgdTransformCache::GetLayerToMapTransform(MgdTransformCacheMap& cache,
+MgPortableTransformCache* MgPortableTransformCache::GetLayerToMapTransform(MgPortableTransformCacheMap& cache,
                                                        CREFSTRING featureName,
                                                        MgResourceIdentifier* resId,
                                                        MgCoordinateSystem* dstCs,
@@ -79,7 +79,7 @@
     // prevent separate threads from simultaneously creating coordinate systems
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, sm_mutex, NULL));
 
-    MgdTransformCache* item = NULL;
+    MgPortableTransformCache* item = NULL;
 
     // Now get the coordinate system of the layer data.
     // Feature Service caches these so we only take the performance hit on
@@ -156,7 +156,7 @@
         // Create coordinate system transformer
         if (!srcwkt.empty())
         {
-            MgdTransformCacheMap::const_iterator iter = cache.find(srcwkt);
+            MgPortableTransformCacheMap::const_iterator iter = cache.find(srcwkt);
             if (cache.end() != iter) item = (*iter).second;
             if (NULL == item)
             {
@@ -163,7 +163,7 @@
                 Ptr<MgCoordinateSystem> srcCs = csFactory->Create(srcwkt);
                 if (srcCs.p)
                 {
-                    item = new MgdTransformCache(new MgdCSTrans(srcCs, dstCs), srcCs);
+                    item = new MgPortableTransformCache(new MgPortableCSTrans(srcCs, dstCs), srcCs);
                     cache[srcwkt] = item;
 
                     // Set the coordinate system transform
@@ -189,9 +189,9 @@
 /// \brief
 /// Clear the specified Transform Cache map.
 ///
-void MgdTransformCache::Clear(MgdTransformCacheMap& cacheMap)
+void MgPortableTransformCache::Clear(MgPortableTransformCacheMap& cacheMap)
 {
-    for (MgdTransformCacheMap::iterator i = cacheMap.begin();
+    for (MgPortableTransformCacheMap::iterator i = cacheMap.begin();
         i != cacheMap.end(); ++i)
     {
         delete (*i).second;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/TransformCache.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/TransformCache.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,21 +18,21 @@
 #ifndef DESKTOP_TRANSFORM_CACHE
 #define DESKTOP_TRANSFORM_CACHE
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "MgCSTrans.h"
 
-class MgdTransformCache;
-typedef std::map<STRING, MgdTransformCache*> MgdTransformCacheMap;
+class MgPortableTransformCache;
+typedef std::map<STRING, MgPortableTransformCache*> MgPortableTransformCacheMap;
 
 // Class to cache coordinate systems and transforms during processing.  Many
 // layers will use the same coordinate system so this is an effective way to
 // reduce significant overhead.
-class MG_DESKTOP_API MgdTransformCache
+class MG_DESKTOP_API MgPortableTransformCache
 {
 public:
-    MgdTransformCache(MgdCSTrans* transform, MgCoordinateSystem* coordinateSystem);
-    ~MgdTransformCache();
-    MgdCSTrans* GetTransform();
+    MgPortableTransformCache(MgPortableCSTrans* transform, MgCoordinateSystem* coordinateSystem);
+    ~MgPortableTransformCache();
+    MgPortableCSTrans* GetTransform();
     MgCoordinateSystem* GetCoordSys();
     void SetMgTransform(MgCoordinateSystemTransform* mgTransform);
     MgCoordinateSystemTransform* GetMgTransform();
@@ -39,7 +39,7 @@
     void SetEnvelope(MgEnvelope* extent);
     MgEnvelope* GetEnvelope();
 
-    static MgdTransformCache* GetLayerToMapTransform(MgdTransformCacheMap& cache,
+    static MgPortableTransformCache* GetLayerToMapTransform(MgPortableTransformCacheMap& cache,
                                                   CREFSTRING featureName,
                                                   MgResourceIdentifier* resId,
                                                   MgCoordinateSystem* dstCs,
@@ -46,12 +46,12 @@
                                                   MgCoordinateSystemFactory* csFactory,
                                                   MgFeatureService* svcFeature);
 
-    static void Clear(MgdTransformCacheMap& cacheMap);
+    static void Clear(MgPortableTransformCacheMap& cacheMap);
 
 private:
     static ACE_Recursive_Thread_Mutex sm_mutex;
 
-    std::unique_ptr<MgdCSTrans> m_xform;
+    std::unique_ptr<MgPortableCSTrans> m_xform;
     Ptr<MgCoordinateSystem> m_coordSys;
     Ptr<MgCoordinateSystemTransform> m_transform;
     Ptr<MgEnvelope> m_envelope;

Modified: trunk/MgDev/Portable/MgPortable/Services/Feature/UniqueFunction.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Feature/UniqueFunction.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Feature/UniqueFunction.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -26,11 +26,11 @@
 //  This matrix template is designed to be used with built-in arithmetic types.
 //  It is of fixed size; it is constructed with one memory allocation.
 template <typename T>
-class MgdUniqueFunction
+class MgPortableUniqueFunction
 {
     public:
-        MgdUniqueFunction() {}
-        ~MgdUniqueFunction() {}
+        MgPortableUniqueFunction() {}
+        ~MgPortableUniqueFunction() {}
 
         static void Execute(const std::vector<T>& in, std::vector<T>& out)
         {

Modified: trunk/MgDev/Portable/MgPortable/Services/FeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/FeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/FeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,7 +23,7 @@
 #include "Services/Feature/FdoConnectionUtil.h"
 #include "Fdo.h"
 
-MgdFeatureReader::MgdFeatureReader(MgdFeatureConnection* conn, FdoIFeatureReader* reader, MgStringCollection* forceIdProps)
+MgPortableFeatureReader::MgPortableFeatureReader(MgPortableFeatureConnection* conn, FdoIFeatureReader* reader, MgStringCollection* forceIdProps)
 {
     m_reader = FDO_SAFE_ADDREF(reader);
     m_connection = SAFE_ADDREF(conn);
@@ -33,31 +33,31 @@
     m_connection->OwnReader();
 }
 
-MgdFeatureReader::~MgdFeatureReader() 
+MgPortableFeatureReader::~MgPortableFeatureReader() 
 {
     FDO_SAFE_RELEASE(m_reader);
     m_connection = NULL;
 } 
 
-bool MgdFeatureReader::ReadNext() 
+bool MgPortableFeatureReader::ReadNext() 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->ReadNext();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::ReadNext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::ReadNext")
     return ret;
 }
 
-bool MgdFeatureReader::IsNull(CREFSTRING propertyName) 
+bool MgPortableFeatureReader::IsNull(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->IsNull(propertyName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::IsNull")
     return ret;
 }
 
-bool MgdFeatureReader::GetBoolean(CREFSTRING propertyName) 
+bool MgPortableFeatureReader::GetBoolean(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
@@ -72,17 +72,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetBoolean",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetBoolean",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdFeatureReader::GetByte(CREFSTRING propertyName) 
+BYTE MgPortableFeatureReader::GetByte(CREFSTRING propertyName) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -97,17 +97,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetByte",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetByte",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdFeatureReader::GetDateTime(CREFSTRING propertyName) 
+MgDateTime* MgPortableFeatureReader::GetDateTime(CREFSTRING propertyName) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
@@ -124,17 +124,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetDateTime",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetDateTime",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetDateTime")
     return ret.Detach();
 }
 
-float MgdFeatureReader::GetSingle(CREFSTRING propertyName) 
+float MgPortableFeatureReader::GetSingle(CREFSTRING propertyName) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
@@ -149,17 +149,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetSingle",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetSingle",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetSingle")
     return ret;
 }
 
-double MgdFeatureReader::GetDouble(CREFSTRING propertyName) 
+double MgPortableFeatureReader::GetDouble(CREFSTRING propertyName) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
@@ -174,17 +174,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetDouble",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetDouble",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetDouble")
     return ret;
 }
 
-INT16 MgdFeatureReader::GetInt16(CREFSTRING propertyName) 
+INT16 MgPortableFeatureReader::GetInt16(CREFSTRING propertyName) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -199,17 +199,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetInt16",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetInt16",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt16")
     return ret;
 }
 
-INT32 MgdFeatureReader::GetInt32(CREFSTRING propertyName) 
+INT32 MgPortableFeatureReader::GetInt32(CREFSTRING propertyName) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -224,17 +224,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetInt32",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetInt32",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt32")
     return ret;
 }
 
-INT64 MgdFeatureReader::GetInt64(CREFSTRING propertyName) 
+INT64 MgPortableFeatureReader::GetInt64(CREFSTRING propertyName) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -249,17 +249,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetInt64",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetInt64",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt64")
     return ret;
 }
 
-STRING MgdFeatureReader::GetString(CREFSTRING propertyName) 
+STRING MgPortableFeatureReader::GetString(CREFSTRING propertyName) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
@@ -279,17 +279,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetString",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetString",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdFeatureReader::GetBLOB(CREFSTRING propertyName) 
+MgByteReader* MgPortableFeatureReader::GetBLOB(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> byteReader;
     MG_FEATURE_SERVICE_TRY()
@@ -315,17 +315,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetBLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetBLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetBLOB")
     return byteReader.Detach();
 }
 
-MgByteReader* MgdFeatureReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableFeatureReader::GetCLOB(CREFSTRING propertyName)
 { 
     Ptr<MgByteReader> byteReader;
     MG_FEATURE_SERVICE_TRY()
@@ -351,17 +351,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetCLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetCLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetCLOB")
     return byteReader.Detach();
 }
 
-MgByteReader* MgdFeatureReader::GetGeometry(CREFSTRING propertyName) 
+MgByteReader* MgPortableFeatureReader::GetGeometry(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> retVal;
     MG_FEATURE_SERVICE_TRY()
@@ -385,20 +385,20 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetGeometry")
     return retVal.Detach();
 }
 
 //Didn't want to implement, but needed by the RS_FeatureReader
-BYTE_ARRAY_OUT MgdFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length) 
+BYTE_ARRAY_OUT MgPortableFeatureReader::GetGeometry(CREFSTRING propertyName, INT32& length) 
 { 
-    CHECKNULL(m_reader, L"MgdFeatureReader::GetGeometry");
+    CHECKNULL(m_reader, L"MgPortableFeatureReader::GetGeometry");
 
     const FdoByte* data = NULL;
 
@@ -417,7 +417,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetGeometry",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetGeometry",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -424,23 +424,23 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetGeometry");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetGeometry");
 
     return (BYTE_ARRAY_OUT)data;
 }
 
 //Didn't want to implement, but needed by the RS_FeatureReader
-BYTE_ARRAY_OUT MgdFeatureReader::GetGeometry(INT32 index, INT32& length) 
+BYTE_ARRAY_OUT MgPortableFeatureReader::GetGeometry(INT32 index, INT32& length) 
 { 
     BYTE_ARRAY_OUT ret = NULL;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetGeometry(propertyName, length);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetGeometry")
     return ret;
 }
 
-MgRaster* MgdFeatureReader::GetRaster(CREFSTRING propertyName) 
+MgRaster* MgPortableFeatureReader::GetRaster(CREFSTRING propertyName) 
 { 
     Ptr<MgRaster> ret;
 
@@ -447,14 +447,14 @@
     MG_FEATURE_SERVICE_TRY()
 
     FdoPtr<FdoIRaster> raster = m_reader->GetRaster(propertyName.c_str());
-    CHECKNULL((FdoIRaster*)raster, L"MgdFeatureReader::GetRaster");
+    CHECKNULL((FdoIRaster*)raster, L"MgPortableFeatureReader::GetRaster");
 
-    ret = MgdFeatureUtil::GetMgRaster(raster, propertyName);
-    CHECKNULL((MgRaster*)ret, L"MgdFeatureReader::GetRaster");
+    ret = MgPortableFeatureUtil::GetMgRaster(raster, propertyName);
+    CHECKNULL((MgRaster*)ret, L"MgPortableFeatureReader::GetRaster");
 
     //This is a clunky way to do what is effectively calling the overloaded GetRaster(propName, xSize, ySize)
     //method, but MgRaster demands this
-    Ptr<MgFeatureService> rasterHelp = new MgdRasterHelper(this);
+    Ptr<MgFeatureService> rasterHelp = new MgPortableRasterHelper(this);
     ret->SetMgService(rasterHelp);
     //MgRaster demands a handle
     STRING handle;
@@ -461,12 +461,12 @@
     MgUtil::GenerateUuid(handle);
     ret->SetHandle(handle);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetRaster")
 
     return ret.Detach();
 }
 
-MgByteReader* MgdFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
+MgByteReader* MgPortableFeatureReader::GetRaster(STRING rasterPropName, INT32 xSize, INT32 ySize)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -476,8 +476,8 @@
     if (!m_classDef->HasRasterProperty())
     {
         // TODO: specify which argument and message, once we have the mechanism
-        STRING message = MgdFeatureUtil::GetMessage(L"MgMissingRasterProperty");
-        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgdFeatureReader::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
+        STRING message = MgPortableFeatureUtil::GetMessage(L"MgMissingRasterProperty");
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgPortableFeatureReader::GetRaster", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // There can be more than one Raster property
@@ -487,154 +487,154 @@
     }
 
     // If this property is requested then we fetch the raster data
-    byteReader = MgdFeatureUtil::GetRaster(m_reader, rasterPropName, xSize, ySize);
+    byteReader = MgPortableFeatureUtil::GetRaster(m_reader, rasterPropName, xSize, ySize);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetRaster")
 
     return byteReader.Detach();
 }
 
-bool MgdFeatureReader::IsNull(INT32 index) 
+bool MgPortableFeatureReader::IsNull(INT32 index) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = IsNull(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::IsNull")
     return ret;
 }
 
-bool MgdFeatureReader::GetBoolean(INT32 index) 
+bool MgPortableFeatureReader::GetBoolean(INT32 index) 
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBoolean(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdFeatureReader::GetByte(INT32 index) 
+BYTE MgPortableFeatureReader::GetByte(INT32 index) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetByte(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdFeatureReader::GetDateTime(INT32 index) 
+MgDateTime* MgPortableFeatureReader::GetDateTime(INT32 index) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDateTime(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetDateTime")
     return ret.Detach();
 }
 
-float MgdFeatureReader::GetSingle(INT32 index) 
+float MgPortableFeatureReader::GetSingle(INT32 index) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetSingle(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetSingle")
     return ret;
 }
 
-double MgdFeatureReader::GetDouble(INT32 index) 
+double MgPortableFeatureReader::GetDouble(INT32 index) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDouble(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetDouble")
     return ret;
 }
 
-INT16 MgdFeatureReader::GetInt16(INT32 index) 
+INT16 MgPortableFeatureReader::GetInt16(INT32 index) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt16(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt16")
     return ret;
 }
 
-INT32 MgdFeatureReader::GetInt32(INT32 index)
+INT32 MgPortableFeatureReader::GetInt32(INT32 index)
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt32(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt32")
     return ret;
 }
 
-INT64 MgdFeatureReader::GetInt64(INT32 index) 
+INT64 MgPortableFeatureReader::GetInt64(INT32 index) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt64(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetInt64")
     return ret;
 }
 
-STRING MgdFeatureReader::GetString(INT32 index) 
+STRING MgPortableFeatureReader::GetString(INT32 index) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetString(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdFeatureReader::GetBLOB(INT32 index) 
+MgByteReader* MgPortableFeatureReader::GetBLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetBLOB")
     return ret.Detach();
 }
 
-MgByteReader* MgdFeatureReader::GetCLOB(INT32 index) 
+MgByteReader* MgPortableFeatureReader::GetCLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetCLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetCLOB")
     return ret.Detach();
 }
 
-MgByteReader* MgdFeatureReader::GetGeometry(INT32 index) 
+MgByteReader* MgPortableFeatureReader::GetGeometry(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetGeometry(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetGeometry")
     return ret.Detach();
 }
 
-MgRaster* MgdFeatureReader::GetRaster(INT32 index) 
+MgRaster* MgPortableFeatureReader::GetRaster(INT32 index) 
 { 
     Ptr<MgRaster> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetRaster(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetRaster")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetRaster")
     return ret.Detach();
 }
 
-void MgdFeatureReader::Close() 
+void MgPortableFeatureReader::Close() 
 {
     MG_FEATURE_SERVICE_TRY()
 
@@ -644,14 +644,14 @@
     FdoPtr<FdoIConnection> fdoConnection = m_connection->GetConnection();
     // Release the connection.
     //m_connection = NULL;
-    MgdFdoConnectionPool::ReturnConnection(m_connection);
+    MgPortableFdoConnectionPool::ReturnConnection(m_connection);
     m_connection = NULL;
-    //MgdFdoConnectionUtil::CloseConnection(fdoConnection);
+    //MgPortableFdoConnectionUtil::CloseConnection(fdoConnection);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::Close");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::Close");
 }
 
-INT32 MgdFeatureReader::GetReaderType() 
+INT32 MgPortableFeatureReader::GetReaderType() 
 { 
     return MgReaderType::FeatureReader;
 }
@@ -658,34 +658,34 @@
 
 //EXTERNAL_API:
 
-MgByteReader* MgdFeatureReader::ToXml() 
+MgByteReader* MgPortableFeatureReader::ToXml() 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 //INTERNAL_API:
 
-string MgdFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgdFeatureReader::GetResponseElementName"); }
+string MgPortableFeatureReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgPortableFeatureReader::GetResponseElementName"); }
 
-string MgdFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgdFeatureReader::GetResponseElementName"); }
+string MgPortableFeatureReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgPortableFeatureReader::GetResponseElementName"); }
 
-void MgdFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::ResponseStartUtf8"); }
+void MgPortableFeatureReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::ResponseStartUtf8"); }
 
-void MgdFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::ResponseEndUtf8"); }
+void MgPortableFeatureReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::ResponseEndUtf8"); }
 
-void MgdFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::BodyStartUtf8"); }
+void MgPortableFeatureReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::BodyStartUtf8"); }
 
-void MgdFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::BodyEndUtf8"); }
+void MgPortableFeatureReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::BodyEndUtf8"); }
 
-void MgdFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::HeaderToStringUtf8"); }
+void MgPortableFeatureReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::HeaderToStringUtf8"); }
 
-void MgdFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdFeatureReader::CurrentToStringUtf8"); }
+void MgPortableFeatureReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::CurrentToStringUtf8"); }
 
-void MgdFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgdFeatureReader::CurrentToStringUtf8"); }
+void MgPortableFeatureReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgPortableFeatureReader::CurrentToStringUtf8"); }
 
-const wchar_t* MgdFeatureReader::GetString(CREFSTRING propertyName, INT32& length) 
+const wchar_t* MgPortableFeatureReader::GetString(CREFSTRING propertyName, INT32& length) 
 { 
-    CHECKNULL(m_reader, L"MgdFeatureReader::GetString");
+    CHECKNULL(m_reader, L"MgPortableFeatureReader::GetString");
 
     FdoString* retVal = NULL;
 
@@ -696,7 +696,7 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetString",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetString",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
@@ -708,26 +708,26 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetString");
 
     return ((const wchar_t*)retVal);
 }
 
-void MgdFeatureReader::Serialize(MgStream* stream) 
+void MgPortableFeatureReader::Serialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-void MgdFeatureReader::Deserialize(MgStream* stream) 
+void MgPortableFeatureReader::Deserialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 //MgFeatureReader
 //PUBLISHED_API:
-MgClassDefinition* MgdFeatureReader::GetClassDefinition() 
+MgClassDefinition* MgPortableFeatureReader::GetClassDefinition() 
 { 
-    CHECKNULL(m_reader, L"MgdFeatureReader::GetClassDefinition");
+    CHECKNULL(m_reader, L"MgPortableFeatureReader::GetClassDefinition");
 
     MG_FEATURE_SERVICE_TRY()
 
@@ -748,8 +748,8 @@
         FdoPtr<FdoClassDefinition> fdoClassDefinition = m_reader->GetClassDefinition();
 
         // Convert FdoClassDefinition to MgClassDefinition
-        m_classDef = MgdFeatureUtil::GetMgClassDefinition(fdoClassDefinition, true);
-        CHECKNULL(m_classDef.p, L"MgdFeatureReader::GetClassDefinition");
+        m_classDef = MgPortableFeatureUtil::GetMgClassDefinition(fdoClassDefinition, true);
+        CHECKNULL(m_classDef.p, L"MgPortableFeatureReader::GetClassDefinition");
 
         // The class definition presented by a FDO reader from a join select query will probably
         // not contain any identity properties, thereby violating our golden rule of selection (no id props = unselectable)
@@ -785,15 +785,15 @@
 #endif
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetClassDefinition")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetClassDefinition")
 
     return SAFE_ADDREF((MgClassDefinition*)m_classDef);
 }
 
-//This is internal, but MgdMappingUtil needs it. So we have to implement it
-MgClassDefinition* MgdFeatureReader::GetClassDefinitionNoXml() 
+//This is internal, but MgPortableMappingUtil needs it. So we have to implement it
+MgClassDefinition* MgPortableFeatureReader::GetClassDefinitionNoXml() 
 { 
-    CHECKNULL(m_reader, L"MgdFeatureReader::GetClassDefinitionNoXml");
+    CHECKNULL(m_reader, L"MgPortableFeatureReader::GetClassDefinitionNoXml");
 
     Ptr<MgClassDefinition> classDef;
 
@@ -805,8 +805,8 @@
         FdoPtr<FdoClassDefinition> fdoClassDefinition = m_reader->GetClassDefinition();
 
         // Convert FdoClassDefinition to MgClassDefinition
-        m_classDef = MgdFeatureUtil::GetMgClassDefinition(fdoClassDefinition, false);
-        CHECKNULL(m_classDef.p, L"MgdFeatureReader::GetClassDefinitionNoXml");
+        m_classDef = MgPortableFeatureUtil::GetMgClassDefinition(fdoClassDefinition, false);
+        CHECKNULL(m_classDef.p, L"MgPortableFeatureReader::GetClassDefinitionNoXml");
 
         // The class definition presented by a FDO reader from a join select query will probably
         // not contain any identity properties, thereby violating our golden rule of selection (no id props = unselectable)
@@ -842,12 +842,12 @@
 #endif
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetClassDefinitionNoXml")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetClassDefinitionNoXml")
 
     return SAFE_ADDREF((MgClassDefinition*)m_classDef);
 }
 
-MgFeatureReader* MgdFeatureReader::GetFeatureObject(CREFSTRING propertyName) 
+MgFeatureReader* MgPortableFeatureReader::GetFeatureObject(CREFSTRING propertyName) 
 { 
     Ptr<MgFeatureReader> reader;
 
@@ -860,7 +860,7 @@
         if (featureObjectReader != NULL)
         {
             // Create a feature reader identifier
-            reader = new MgdFeatureReader(m_connection, featureObjectReader);
+            reader = new MgPortableFeatureReader(m_connection, featureObjectReader);
         }
     }
     catch(...)
@@ -870,7 +870,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdFeatureReader::GetFeatureObject",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableFeatureReader::GetFeatureObject",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -877,12 +877,12 @@
             throw;
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetFeatureObject")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetFeatureObject")
 
     return reader.Detach();
 }
 
-MgFeatureReader* MgdFeatureReader::GetFeatureObject(INT32 index) 
+MgFeatureReader* MgPortableFeatureReader::GetFeatureObject(INT32 index) 
 { 
     Ptr<MgFeatureReader> ret;
 
@@ -891,7 +891,7 @@
     STRING propertyName = GetPropertyName(index);
     ret = GetFeatureObject(propertyName);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureReader::GetFeatureObject")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureReader::GetFeatureObject")
 
     return ret.Detach();
 }
@@ -898,12 +898,12 @@
 
 //INTERNAL_API:
 
-MgFeatureSet* MgdFeatureReader::GetFeatures(INT32 count) 
+MgFeatureSet* MgPortableFeatureReader::GetFeatures(INT32 count) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdFeatureReader::GetFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableFeatureReader::GetFeatures", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-FdoIFeatureReader* MgdFeatureReader::GetInternalReader()
+FdoIFeatureReader* MgPortableFeatureReader::GetInternalReader()
 {
     return FDO_SAFE_ADDREF(m_reader);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/FeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/FeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/FeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,22 +18,22 @@
 #ifndef DESKTOP_FEATURE_READER_H
 #define DESKTOP_FEATURE_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 class FdoIFeatureReader;
 class MgCoordinateSystemTransform;
 class MgAgfReaderWriter;
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdFeatureReader : public MgFeatureReader
+class MG_DESKTOP_API MgPortableFeatureReader : public MgFeatureReader
 {
 INTERNAL_API:
-    MgdFeatureReader(MgdFeatureConnection* conn, FdoIFeatureReader* reader, MgStringCollection* forceIdProps = NULL);
+    MgPortableFeatureReader(MgPortableFeatureConnection* conn, FdoIFeatureReader* reader, MgStringCollection* forceIdProps = NULL);
 
 EXTERNAL_API:
-    virtual ~MgdFeatureReader();
+    virtual ~MgPortableFeatureReader();
 
     //MgReader
 PUBLISHED_API:
@@ -224,7 +224,7 @@
 protected:
     FdoIFeatureReader* m_reader;
     Ptr<MgClassDefinition> m_classDef;
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
     Ptr<MgStringCollection> m_forceIdProps;
 };
 /// \}

Modified: trunk/MgDev/Portable/MgPortable/Services/FeatureService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/FeatureService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/FeatureService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -44,17 +44,17 @@
 #include "Services/Feature/Commands/SqlCommand.h"
 #include "Services/Feature/Commands/UpdateFeatures.h"
 
-MgdFeatureService::MgdFeatureService() 
+MgPortableFeatureService::MgPortableFeatureService() 
 : MgFeatureService()
 { 
 }
 
-MgdFeatureService::~MgdFeatureService() 
+MgPortableFeatureService::~MgPortableFeatureService() 
 { 
     
 }
 
-MgByteReader* MgdFeatureService::GetFeatureProviders() 
+MgByteReader* MgPortableFeatureService::GetFeatureProviders() 
 { 
     Ptr<MgByteReader> reader;
 
@@ -62,13 +62,13 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    MgdGetFeatureProviders getProviders;
+    MgPortableGetFeatureProviders getProviders;
     reader = getProviders.GetFeatureProviders();
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::GetFeatureProviders")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::GetFeatureProviders")
 
     if (mgException != NULL)
     {
@@ -85,7 +85,7 @@
     return reader.Detach();
 }
 
-MgStringCollection* MgdFeatureService::GetConnectionPropertyValues(CREFSTRING providerName,
+MgStringCollection* MgPortableFeatureService::GetConnectionPropertyValues(CREFSTRING providerName,
                                                                    CREFSTRING propertyName,
                                                                    CREFSTRING partialConnString) 
 { 
@@ -103,15 +103,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(partialConnString.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::GetConnectionPropertyValues()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::GetConnectionPropertyValues()");
 
-    MgdGetConnectionPropertyValues cmd;
+    MgPortableGetConnectionPropertyValues cmd;
     values = cmd.GetConnectionPropertyValues(providerName, propertyName, partialConnString);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::GetConnectionPropertyValues")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::GetConnectionPropertyValues")
 
     if (mgException != NULL)
     {
@@ -128,7 +128,7 @@
     return values.Detach();
 }
 
-bool MgdFeatureService::TestConnection(CREFSTRING providerName, CREFSTRING connectionString) 
+bool MgPortableFeatureService::TestConnection(CREFSTRING providerName, CREFSTRING connectionString) 
 {
     bool ok = false;
 
@@ -143,15 +143,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(connectionString.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::TestConnection()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::TestConnection()");
 
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(providerName, connectionString);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(providerName, connectionString);
     ok = conn->IsConnectionOpen();
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::TestConnection")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::TestConnection")
 
     if (mgException != NULL)
     {
@@ -168,7 +168,7 @@
     return ok;
 }
 
-bool MgdFeatureService::TestConnection(MgResourceIdentifier* resource) 
+bool MgPortableFeatureService::TestConnection(MgResourceIdentifier* resource) 
 {
     bool ok = false;
 
@@ -176,7 +176,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::TestConnection");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::TestConnection");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 1);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -183,15 +183,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::TestConnection()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::TestConnection()");
 
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(resource);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(resource);
     ok = conn->IsConnectionOpen();
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::TestConnection", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::TestConnection", resource)
 
     if (mgException != NULL)
     {
@@ -208,7 +208,7 @@
     return ok;
 }
 
-MgByteReader* MgdFeatureService::GetCapabilities(CREFSTRING providerName) 
+MgByteReader* MgPortableFeatureService::GetCapabilities(CREFSTRING providerName) 
 {
     Ptr<MgByteReader> ret;
     
@@ -221,7 +221,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(providerName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::GetCapabilities()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::GetCapabilities()");
 
     ret = GetCapabilities(providerName, L"");
 
@@ -228,7 +228,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::GetCapabilities")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::GetCapabilities")
 
     if (mgException != NULL)
     {
@@ -245,7 +245,7 @@
     return ret.Detach();
 }
 
-MgByteReader* MgdFeatureService::GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString) 
+MgByteReader* MgPortableFeatureService::GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString) 
 {
     Ptr<MgByteReader> caps;
 
@@ -260,15 +260,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(connectionString.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::GetCapabilities()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::GetCapabilities()");
 
-    MgdGetProviderCapabilities getCaps(providerName, connectionString);
+    MgPortableGetProviderCapabilities getCaps(providerName, connectionString);
     caps = getCaps.GetProviderCapabilities();
     
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::GetCapabilities")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::GetCapabilities")
 
     if (mgException != NULL)
     {
@@ -285,14 +285,14 @@
     return caps.Detach();
 }
 
-void MgdFeatureService::ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema) 
+void MgPortableFeatureService::ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"ApplySchema");
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ApplySchema");
-    CHECKARGUMENTNULL(schema, L"MgdFeatureService::ApplySchema");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ApplySchema");
+    CHECKARGUMENTNULL(schema, L"MgPortableFeatureService::ApplySchema");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -301,15 +301,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureSchema");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::ApplySchema()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::ApplySchema()");
 
-    MgdApplySchema apply;
+    MgPortableApplySchema apply;
     apply.ApplySchema(resource, schema);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::ApplySchema")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::ApplySchema")
 
     if (mgException != NULL)
     {
@@ -324,7 +324,7 @@
     MG_FEATURE_SERVICE_THROW()
 }
 
-MgFeatureSchemaCollection* MgdFeatureService::DescribeSchema(MgResourceIdentifier* resource,
+MgFeatureSchemaCollection* MgPortableFeatureService::DescribeSchema(MgResourceIdentifier* resource,
                                                              CREFSTRING schemaName,
                                                              MgStringCollection* classNames) 
 {
@@ -334,7 +334,7 @@
 
     MG_FEATURE_SERVICE_TRY()
     
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DescribeSchema");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DescribeSchema");
     
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -345,7 +345,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == classNames) ? L"MgStringCollection" : classNames->GetLogString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DescribeSchema()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DescribeSchema()");
 
     ret = DescribeSchema(resource, schemaName, classNames, true);
 
@@ -352,7 +352,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::DescribeSchema", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::DescribeSchema", resource)
 
     if (mgException != NULL)
     {
@@ -369,18 +369,18 @@
     return ret.Detach();
 }
 
-MgFeatureSchemaCollection* MgdFeatureService::DescribeSchema(MgResourceIdentifier* resource,
+MgFeatureSchemaCollection* MgPortableFeatureService::DescribeSchema(MgResourceIdentifier* resource,
                                                              CREFSTRING schemaName,
                                                              MgStringCollection* findClassNames,
                                                              bool serialize) 
 { 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DescribeSchema");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DescribeSchema");
 
     Ptr<MgFeatureSchemaCollection> fsCollection;
     Ptr<MgFeatureSchemaCollection> clone;
     MG_FEATURE_SERVICE_TRY()
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     MgStringCollection extendedClassNames;
     //Need to weed out extended class names as this API is not extended class aware.
     //TODO: Put this logic into DescribeSchema proper
@@ -408,7 +408,7 @@
     for (INT32 i = 0; i < fsCollection->GetCount(); i++)
     {
         Ptr<MgFeatureSchema> schema = fsCollection->GetItem(i);
-        Ptr<MgFeatureSchema> clonedSchema = MgdFeatureUtil::CloneMgSchema(schema);
+        Ptr<MgFeatureSchema> clonedSchema = MgPortableFeatureUtil::CloneMgSchema(schema);
         clone->Add(clonedSchema);
     }
 
@@ -424,17 +424,17 @@
             STRING clsName = extendedClassNames.GetItem(i);
             //This API is extended class aware
             Ptr<MgClassDefinition> klass = GetClassDefinition(resource, schemaName, clsName);
-            Ptr<MgClassDefinition> cloneCls = MgdFeatureUtil::CloneMgClassDefinition(klass);
+            Ptr<MgClassDefinition> cloneCls = MgPortableFeatureUtil::CloneMgClassDefinition(klass);
             parentClasses->Add(cloneCls);
         }
     }
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdFeatureService::DescribeSchema")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableFeatureService::DescribeSchema")
 
     return clone.Detach();
 }
 
-MgFeatureSchemaCollection* MgdFeatureService::DescribeSchema(MgResourceIdentifier* resource,
+MgFeatureSchemaCollection* MgPortableFeatureService::DescribeSchema(MgResourceIdentifier* resource,
                                                              CREFSTRING schemaName) 
 { 
     Ptr<MgFeatureSchemaCollection> ret;
@@ -442,7 +442,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DescribeSchema");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DescribeSchema");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -451,7 +451,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(schemaName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DescribeSchema()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DescribeSchema()");
 
     ret = DescribeSchema(resource, schemaName, NULL);
     
@@ -458,7 +458,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::DescribeSchema", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::DescribeSchema", resource)
 
     if (mgException != NULL)
     {
@@ -475,7 +475,7 @@
     return ret.Detach();
 }
 
-STRING MgdFeatureService::DescribeSchemaAsXml(MgResourceIdentifier* resource,
+STRING MgPortableFeatureService::DescribeSchemaAsXml(MgResourceIdentifier* resource,
                                               CREFSTRING schemaName,
                                               MgStringCollection* classNames) 
 {
@@ -485,7 +485,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DescribeSchemaAsXml");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DescribeSchemaAsXml");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -496,15 +496,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == classNames) ? L"MgStringCollection" : classNames->GetLogString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DescribeSchemaAsXml()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DescribeSchemaAsXml()");
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     schemaXml = describe.DescribeSchemaAsXml(resource, schemaName, classNames);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::DescribeSchemaAsXml", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::DescribeSchemaAsXml", resource)
 
     if (mgException != NULL)
     {
@@ -521,7 +521,7 @@
     return schemaXml;
 }
 
-STRING MgdFeatureService::DescribeSchemaAsXml(MgResourceIdentifier* resource,
+STRING MgPortableFeatureService::DescribeSchemaAsXml(MgResourceIdentifier* resource,
                                               CREFSTRING schemaName) 
 { 
     STRING ret;
@@ -529,7 +529,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService:DescribeSchemaAsXml");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService:DescribeSchemaAsXml");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -538,7 +538,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(schemaName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DescribeSchemaAsXml()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DescribeSchemaAsXml()");
 
     ret = DescribeSchemaAsXml(resource, schemaName, NULL);
     
@@ -545,7 +545,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::DescribeSchemaAsXml", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::DescribeSchemaAsXml", resource)
 
     if (mgException != NULL)
     {
@@ -562,7 +562,7 @@
     return ret;
 }
 
-STRING MgdFeatureService::SchemaToXml(MgFeatureSchemaCollection* schemas) 
+STRING MgPortableFeatureService::SchemaToXml(MgFeatureSchemaCollection* schemas) 
 { 
     STRING serializedXml;
     MG_LOG_OPERATION_MESSAGE(L"SchemaToXml");
@@ -574,17 +574,17 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureSchemaCollection");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::SchemaToXml()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::SchemaToXml()");
 
-    CHECKARGUMENTNULL(schemas, L"MgdFeatureService::SchemaToXml");
+    CHECKARGUMENTNULL(schemas, L"MgPortableFeatureService::SchemaToXml");
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     serializedXml = describe.SchemaToXml(schemas);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::SchemaToXml")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::SchemaToXml")
 
     if (mgException != NULL)
     {
@@ -601,7 +601,7 @@
     return serializedXml;
 }
 
-MgFeatureSchemaCollection* MgdFeatureService::XmlToSchema(CREFSTRING xml) 
+MgFeatureSchemaCollection* MgPortableFeatureService::XmlToSchema(CREFSTRING xml) 
 { 
     Ptr<MgFeatureSchemaCollection> mgSchemaCol;
 
@@ -614,15 +614,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"STRING");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::XmlToSchema()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::XmlToSchema()");
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     mgSchemaCol = describe.XmlToSchema(xml);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::XmlToSchema")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::XmlToSchema")
 
     if (mgException != NULL)
     {
@@ -639,7 +639,7 @@
     return mgSchemaCol.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::SelectFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableFeatureService::SelectFeatures(MgResourceIdentifier* resource,
                                                    CREFSTRING className,
                                                    MgFeatureQueryOptions* options) 
 { 
@@ -649,7 +649,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::SelectFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::SelectFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -660,20 +660,20 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureQueryOptions");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::Trace, L"MgdFeatureService::SelectFeatures", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::Trace, L"MgPortableFeatureService::SelectFeatures", mgStackParams);
     logDetail.AddResourceIdentifier(L"Resource", resource);
     logDetail.AddString(L"ClassName", className);
     logDetail.AddObject(L"Options", options);
     logDetail.Create();
 
-    MgdSelectFeatures select;
+    MgPortableSelectFeatures select;
     ret = dynamic_cast<MgFeatureReader*>(select.SelectFeatures(resource, className, options, false));
-    CHECKNULL(ret.p, L"MgdFeatureService::SelectFeatures");
+    CHECKNULL(ret.p, L"MgPortableFeatureService::SelectFeatures");
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::SelectFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::SelectFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -690,7 +690,7 @@
     return ret.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::SelectFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableFeatureService::SelectFeatures(MgResourceIdentifier* resource,
                                                    CREFSTRING className,
                                                    MgFeatureQueryOptions* options,
                                                    CREFSTRING coordinateSystem) 
@@ -700,7 +700,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::SelectFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::SelectFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -713,7 +713,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"STRING");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::Trace, L"MgdFeatureService::SelectFeatures", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::Trace, L"MgPortableFeatureService::SelectFeatures", mgStackParams);
     logDetail.AddResourceIdentifier(L"Resource", resource);
     logDetail.AddString(L"ClassName", className);
     logDetail.AddObject(L"Options", options);
@@ -720,9 +720,9 @@
     logDetail.AddString(L"CoordinateSystem", coordinateSystem);
     logDetail.Create();
 
-    MgdSelectFeatures select;
+    MgPortableSelectFeatures select;
     Ptr<MgFeatureReader> innerReader = dynamic_cast<MgFeatureReader*>(select.SelectFeatures(resource, className, options, false));
-    CHECKNULL(innerReader.p, L"MgdFeatureService::SelectFeatures");
+    CHECKNULL(innerReader.p, L"MgPortableFeatureService::SelectFeatures");
 
     //If coordinate system specified, set up a CS Transform to pass to the feature reader
     Ptr<MgCoordinateSystemTransform> xform;
@@ -762,7 +762,7 @@
     
     if (NULL != xform)
     {
-        ret = new MgdProjectedFeatureReader(innerReader, xform);
+        ret = new MgPortableProjectedFeatureReader(innerReader, xform);
     }
     else
     {
@@ -772,7 +772,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::SelectFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::SelectFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -789,16 +789,16 @@
     return ret.Detach();
 }
 
-MgdScrollableFeatureReader* MgdFeatureService::SelectFeaturesExtended(MgResourceIdentifier* resource,
+MgPortableScrollableFeatureReader* MgPortableFeatureService::SelectFeaturesExtended(MgResourceIdentifier* resource,
                                                                       CREFSTRING className,
                                                                       MgFeatureQueryOptions* options)
 {
-    Ptr<MgdScrollableFeatureReader> ret;
+    Ptr<MgPortableScrollableFeatureReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"SelectFeaturesExtended");
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::SelectFeatureExtended");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::SelectFeatureExtended");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -809,22 +809,22 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureQueryOptions");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::SelectFeaturesExtended()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::SelectFeaturesExtended()");
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::Trace, L"MgdFeatureService::SelectFeaturesExtended", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::Trace, L"MgPortableFeatureService::SelectFeaturesExtended", mgStackParams);
     logDetail.AddResourceIdentifier(L"Resource", resource);
     logDetail.AddString(L"ClassName", className);
     logDetail.AddObject(L"Options", options);
     logDetail.Create();
 
-    MgdSelectFeatures select;
-    ret = dynamic_cast<MgdScrollableFeatureReader*>(select.SelectFeatures(resource, className, options, false, true));
-    CHECKNULL(ret.p, L"MgdFeatureService::SelectFeaturesExtended");
+    MgPortableSelectFeatures select;
+    ret = dynamic_cast<MgPortableScrollableFeatureReader*>(select.SelectFeatures(resource, className, options, false, true));
+    CHECKNULL(ret.p, L"MgPortableFeatureService::SelectFeaturesExtended");
     
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::SelectFeaturesExtended", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::SelectFeaturesExtended", resource)
 
     if (mgException != NULL)
     {
@@ -841,7 +841,7 @@
     return ret.Detach();
 }
 
-MgDataReader* MgdFeatureService::SelectAggregate(MgResourceIdentifier* resource,
+MgDataReader* MgPortableFeatureService::SelectAggregate(MgResourceIdentifier* resource,
                                                  CREFSTRING className,
                                                  MgFeatureAggregateOptions* options) 
 { 
@@ -850,8 +850,8 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::SelectAggregate");
-    CHECKARGUMENTNULL(options, L"MgdFeatureService::SelectAggregate");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::SelectAggregate");
+    CHECKARGUMENTNULL(options, L"MgPortableFeatureService::SelectAggregate");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -862,20 +862,20 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureAggregateOptions");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::Trace, L"MgdFeatureService::SelectAggregate", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::Trace, L"MgPortableFeatureService::SelectAggregate", mgStackParams);
     logDetail.AddResourceIdentifier(L"Resource", resource);
     logDetail.AddString(L"ClassName", className);
     logDetail.AddObject(L"Options", options);
     logDetail.Create();
 
-    MgdSelectFeatures select;
+    MgPortableSelectFeatures select;
     reader = dynamic_cast<MgDataReader*>(select.SelectFeatures(resource, className, options, true));
-    CHECKNULL(reader.p, L"MgdFeatureService::SelectAggregate");
+    CHECKNULL(reader.p, L"MgPortableFeatureService::SelectAggregate");
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::SelectAggregate")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::SelectAggregate")
 
     if (mgException != NULL)
     {
@@ -892,7 +892,7 @@
     return reader.Detach();
 }
 
-MgPropertyCollection* MgdFeatureService::UpdateFeatures(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableFeatureService::UpdateFeatures(MgResourceIdentifier* resource,
                                                         MgFeatureCommandCollection* commands,
                                                         bool useTransaction) 
 { 
@@ -901,8 +901,8 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::UpdateFeatures");
-    CHECKARGUMENTNULL(commands, L"MgdFeatureService::UpdateFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::UpdateFeatures");
+    CHECKARGUMENTNULL(commands, L"MgPortableFeatureService::UpdateFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -913,15 +913,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(useTransaction);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::UpdateFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::UpdateFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     result = cmd.Execute(resource, commands, useTransaction);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::UpdateFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::UpdateFeatures")
 
     if (mgException != NULL)
     {
@@ -938,7 +938,7 @@
     return result.Detach();
 }
 
-MgPropertyCollection* MgdFeatureService::UpdateFeatures(MgResourceIdentifier* resource,
+MgPropertyCollection* MgPortableFeatureService::UpdateFeatures(MgResourceIdentifier* resource,
                                                         MgFeatureCommandCollection* commands,
                                                         MgTransaction* transaction) 
 { 
@@ -947,7 +947,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::UpdateFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::UpdateFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -958,18 +958,18 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::UpdateFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::UpdateFeatures()");
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::UpdateFeatures");
-    CHECKARGUMENTNULL(commands, L"MgdFeatureService::UpdateFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::UpdateFeatures");
+    CHECKARGUMENTNULL(commands, L"MgPortableFeatureService::UpdateFeatures");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     ret = cmd.Execute(resource, commands, transaction);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::UpdateFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::UpdateFeatures")
 
     if (mgException != NULL)
     {
@@ -986,7 +986,7 @@
     return ret.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues)
+MgFeatureReader* MgPortableFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues)
 {
     Ptr<MgFeatureReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"InsertFeatures");
@@ -993,7 +993,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::InsertFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::InsertFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1004,15 +1004,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPropertyCollection");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::InsertFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::InsertFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     ret = cmd.ExecuteInsert(resource, className, propertyValues, NULL);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::InsertFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::InsertFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -1029,7 +1029,7 @@
     return ret.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans)
 {
     Ptr<MgFeatureReader> reader;
     MG_LOG_OPERATION_MESSAGE(L"InsertFeatures");
@@ -1036,7 +1036,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::InsertFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::InsertFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1049,15 +1049,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::InsertFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::InsertFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     reader = cmd.ExecuteInsert(resource, className, propertyValues, trans);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::InsertFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::InsertFeatures")
 
     if (mgException != NULL)
     {
@@ -1074,7 +1074,7 @@
     return reader.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues)
+MgFeatureReader* MgPortableFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues)
 {
     Ptr<MgFeatureReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"InsertFeatures");
@@ -1081,7 +1081,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::InsertFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::InsertFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1092,7 +1092,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgBatchPropertyCollection");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::InsertFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::InsertFeatures()");
 
     Ptr<MgFeatureCommandCollection> commands = new MgFeatureCommandCollection();
     Ptr<MgInsertFeatures> insertCmd = new MgInsertFeatures(className, batchPropertyValues);
@@ -1108,7 +1108,7 @@
             MgStringProperty* sp = static_cast<MgStringProperty*>(prop.p);
             MgStringCollection args;
             args.Add(sp->GetValue());
-            throw new MgException(MgExceptionCodes::MgFdoException, L"MgdFeatureService::InsertFeatures", __LINE__, __WFILE__, &args, L"MgFormatInnerExceptionMessage", NULL);
+            throw new MgException(MgExceptionCodes::MgFdoException, L"MgPortableFeatureService::InsertFeatures", __LINE__, __WFILE__, &args, L"MgFormatInnerExceptionMessage", NULL);
         }
         else if (prop->GetPropertyType() == MgPropertyType::Feature) //Insert result
         {
@@ -1120,7 +1120,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::InsertFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::InsertFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -1136,7 +1136,7 @@
     return ret.Detach();
 }
 
-MgFeatureReader* MgdFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues, MgTransaction* trans)
+MgFeatureReader* MgPortableFeatureService::InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues, MgTransaction* trans)
 {
     Ptr<MgFeatureReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"InsertFeatures");
@@ -1143,7 +1143,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::InsertFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::InsertFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1156,7 +1156,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::InsertFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::InsertFeatures()");
 
     Ptr<MgFeatureCommandCollection> commands = new MgFeatureCommandCollection();
     Ptr<MgInsertFeatures> insertCmd = new MgInsertFeatures(className, batchPropertyValues);
@@ -1172,7 +1172,7 @@
             MgStringProperty* sp = static_cast<MgStringProperty*>(prop.p);
             MgStringCollection args;
             args.Add(sp->GetValue());
-            throw new MgException(MgExceptionCodes::MgFdoException, L"MgdFeatureService::InsertFeatures", __LINE__, __WFILE__, &args, L"MgFormatInnerExceptionMessage", NULL);
+            throw new MgException(MgExceptionCodes::MgFdoException, L"MgPortableFeatureService::InsertFeatures", __LINE__, __WFILE__, &args, L"MgFormatInnerExceptionMessage", NULL);
         }
         else if (prop->GetPropertyType() == MgPropertyType::Feature) //Insert result
         {
@@ -1184,7 +1184,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::InsertFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::InsertFeatures")
 
     if (mgException != NULL)
     {
@@ -1200,7 +1200,7 @@
     return ret.Detach();
 }
 
-INT32 MgdFeatureService::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter)
+INT32 MgPortableFeatureService::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter)
 {
     INT32 ret = 0;
     MG_LOG_OPERATION_MESSAGE(L"UpdateMatchingFeatures");
@@ -1207,7 +1207,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::UpdateMatchingFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::UpdateMatchingFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1220,7 +1220,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"STRING");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::UpdateMatchingFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::UpdateMatchingFeatures()");
 
     ret = UpdateMatchingFeatures(resource, className, propertyValues, filter, NULL);
     
@@ -1227,7 +1227,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::UpdateMatchingFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::UpdateMatchingFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -1243,7 +1243,7 @@
     return ret;
 }
 
-INT32 MgdFeatureService::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* batchPropertyValues, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableFeatureService::UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* batchPropertyValues, CREFSTRING filter, MgTransaction* trans)
 {
     INT32 updated = 0;
     MG_LOG_OPERATION_MESSAGE(L"UpdateMatchingFeatures");
@@ -1250,7 +1250,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::UpdateMatchingFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::UpdateMatchingFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 5);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1265,15 +1265,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::UpdateMatchingFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::UpdateMatchingFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     updated = cmd.ExecuteUpdate(resource, className, batchPropertyValues, filter, trans);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::UpdateMatchingFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::UpdateMatchingFeatures")
 
     if (mgException != NULL)
     {
@@ -1290,7 +1290,7 @@
     return updated;
 }
 
-INT32 MgdFeatureService::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter)
+INT32 MgPortableFeatureService::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter)
 {
     INT32 deleted = 0;
     MG_LOG_OPERATION_MESSAGE(L"DeleteFeatures");
@@ -1297,7 +1297,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DeleteFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DeleteFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1308,15 +1308,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"STRING");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DeleteFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DeleteFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     deleted = cmd.ExecuteDelete(resource, className, filter, NULL);
     
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::DeleteFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::DeleteFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -1332,7 +1332,7 @@
     return deleted;
 }
 
-INT32 MgdFeatureService::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
+INT32 MgPortableFeatureService::DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans)
 {
     INT32 deleted = 0;
     MG_LOG_OPERATION_MESSAGE(L"DeleteFeatures");
@@ -1339,7 +1339,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::DeleteFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::DeleteFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1352,15 +1352,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::DeleteFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::DeleteFeatures()");
 
-    MgdUpdateFeaturesCommand cmd;
+    MgPortableUpdateFeaturesCommand cmd;
     deleted = cmd.ExecuteDelete(resource, className, filter, trans);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::DeleteFeatures")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::DeleteFeatures")
 
     if (mgException != NULL)
     {
@@ -1377,13 +1377,13 @@
     return deleted;
 }
 
-void MgdFeatureService::PurgeCache(MgResourceIdentifier* resource)
+void MgPortableFeatureService::PurgeCache(MgResourceIdentifier* resource)
 {
     MG_LOG_OPERATION_MESSAGE(L"PurgeCache");
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::PurgeCache");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::PurgeCache");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 1);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1390,16 +1390,16 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::PurgeCache()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::PurgeCache()");
 
-    MgdFeatureServiceCache* cache = MgdFeatureServiceCache::GetInstance();
+    MgPortableFeatureServiceCache* cache = MgPortableFeatureServiceCache::GetInstance();
     cache->RemoveEntry(resource);
-    MgdFdoConnectionPool::PurgeCachedConnections(resource);
+    MgPortableFdoConnectionPool::PurgeCachedConnections(resource);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::PurgeCache", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::PurgeCache", resource)
 
     if (mgException != NULL)
     {
@@ -1414,7 +1414,7 @@
     MG_FEATURE_SERVICE_THROW()
 }
 
-MgFeatureReader* MgdFeatureService::GetLockedFeatures(MgResourceIdentifier* resource,
+MgFeatureReader* MgPortableFeatureService::GetLockedFeatures(MgResourceIdentifier* resource,
                                                       CREFSTRING className,
                                                       MgFeatureQueryOptions* options) 
 { 
@@ -1423,7 +1423,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetLockedFeatures");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetLockedFeatures");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1434,16 +1434,16 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureQueryOptions");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::GetLockedFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::GetLockedFeatures()");
 
-    MgdSelectFeatures select;
+    MgPortableSelectFeatures select;
     ret = dynamic_cast<MgFeatureReader*>(select.SelectFeatures(resource, className, options, false, false, true));
-    CHECKNULL(ret.p, L"MgdFeatureService::GetLockedFeatures");
+    CHECKNULL(ret.p, L"MgPortableFeatureService::GetLockedFeatures");
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::GetLockedFeatures", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::GetLockedFeatures", resource)
 
     if (mgException != NULL)
     {
@@ -1460,7 +1460,7 @@
     return ret.Detach();
 }
 
-MgTransaction* MgdFeatureService::BeginTransaction(MgResourceIdentifier* resource) 
+MgTransaction* MgPortableFeatureService::BeginTransaction(MgResourceIdentifier* resource) 
 { 
     Ptr<MgTransaction> trans;
     MG_LOG_OPERATION_MESSAGE(L"BeginTransaction");
@@ -1467,7 +1467,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::BeginTransaction");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::BeginTransaction");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 1);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1474,15 +1474,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::BeginTransaction()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::BeginTransaction()");
 
-    Ptr<MgdFeatureConnection> conn = new MgdFeatureConnection(resource);
-    trans = new MgdTransaction(conn, resource);
+    Ptr<MgPortableFeatureConnection> conn = new MgPortableFeatureConnection(resource);
+    trans = new MgPortableTransaction(conn, resource);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::BeginTransaction")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::BeginTransaction")
 
     if (mgException != NULL)
     {
@@ -1499,7 +1499,7 @@
     return trans.Detach();
 }
 
-MgSqlDataReader* MgdFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource, CREFSTRING sqlStatement) 
+MgSqlDataReader* MgPortableFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource, CREFSTRING sqlStatement) 
 {
     Ptr<MgSqlDataReader> reader;
     MG_LOG_OPERATION_MESSAGE(L"ExecuteSqlQuery");
@@ -1506,9 +1506,9 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ExecuteSqlQuery");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ExecuteSqlQuery");
     if (sqlStatement.empty())
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureService::ExecuteSqlQuery", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureService::ExecuteSqlQuery", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1517,15 +1517,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(sqlStatement.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::ExecuteSqlQuery()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::ExecuteSqlQuery()");
 
-    MgdSqlCommand cmd;
+    MgPortableSqlCommand cmd;
     reader = cmd.ExecuteQuery(resource, sqlStatement, NULL, NULL);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::ExecuteSqlQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::ExecuteSqlQuery")
 
     if (mgException != NULL)
     {
@@ -1542,7 +1542,7 @@
     return reader.Detach();
 }
 
-MgSqlDataReader* MgdFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource,
+MgSqlDataReader* MgPortableFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource,
                                                     CREFSTRING sqlStatement,
                                                     MgParameterCollection* params,
                                                     MgTransaction* trans) 
@@ -1552,7 +1552,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ExecuteSqlQuery");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ExecuteSqlQuery");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1565,15 +1565,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::ExecuteSqlQuery()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::ExecuteSqlQuery()");
 
-    MgdSqlCommand cmd;
+    MgPortableSqlCommand cmd;
     ret = cmd.ExecuteQuery(resource, sqlStatement, params, trans);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::ExecuteSqlQuery", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::ExecuteSqlQuery", resource)
 
     if (mgException != NULL)
     {
@@ -1589,7 +1589,7 @@
     return ret.Detach();
 }
 
-MgSqlDataReader* MgdFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource,
+MgSqlDataReader* MgPortableFeatureService::ExecuteSqlQuery(MgResourceIdentifier* resource,
                                                      CREFSTRING sqlStatement,
                                                      MgParameterCollection* params,
                                                      MgTransaction* trans,
@@ -1598,21 +1598,21 @@
     Ptr<MgSqlDataReader> reader;
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ExecuteSqlQuery");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ExecuteSqlQuery");
     if (sqlStatement.empty())
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureService::ExecuteSqlQuery", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureService::ExecuteSqlQuery", __LINE__, __WFILE__, NULL, L"", NULL);
 
-    CHECKARGUMENTNULL(params, L"MgdFeatureService::ExecuteSqlQuery");
-    CHECKARGUMENTNULL(trans, L"MgdFeatureService::ExecuteSqlQuery");
+    CHECKARGUMENTNULL(params, L"MgPortableFeatureService::ExecuteSqlQuery");
+    CHECKARGUMENTNULL(trans, L"MgPortableFeatureService::ExecuteSqlQuery");
 
-    MgdSqlCommand cmd;
+    MgPortableSqlCommand cmd;
     reader = cmd.ExecuteQuery(resource, sqlStatement, params, trans, fetchSize);
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgdFeatureService::ExecuteSqlQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH_AND_THROW(resource, L"MgPortableFeatureService::ExecuteSqlQuery")
     return reader.Detach();
 }
 
-INT32 MgdFeatureService::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
+INT32 MgPortableFeatureService::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
                                             CREFSTRING sqlNonSelectStatement,
                                             MgParameterCollection* params,
                                             MgTransaction* trans)
@@ -1622,9 +1622,9 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ExecuteSqlNonQuery");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ExecuteSqlNonQuery");
     if (sqlNonSelectStatement.empty())
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureService::ExecuteSqlNonQuery", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureService::ExecuteSqlNonQuery", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1637,18 +1637,18 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgTransaction");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::ExecuteSqlNonQuery()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::ExecuteSqlNonQuery()");
 
-    CHECKARGUMENTNULL(params, L"MgdFeatureService::ExecuteSqlQuery");
-    CHECKARGUMENTNULL(trans, L"MgdFeatureService::ExecuteSqlQuery");
+    CHECKARGUMENTNULL(params, L"MgPortableFeatureService::ExecuteSqlQuery");
+    CHECKARGUMENTNULL(trans, L"MgPortableFeatureService::ExecuteSqlQuery");
 
-    MgdSqlCommand cmd;
+    MgPortableSqlCommand cmd;
     ret = cmd.ExecuteNonQuery(resource, sqlNonSelectStatement, params, trans);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::ExecuteSqlNonQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::ExecuteSqlNonQuery")
 
     if (mgException != NULL)
     {
@@ -1664,7 +1664,7 @@
     return ret;
 }
 
-INT32 MgdFeatureService::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
+INT32 MgPortableFeatureService::ExecuteSqlNonQuery(MgResourceIdentifier* resource,
                                             CREFSTRING sqlNonSelectStatement) 
 { 
     INT32 ret = 0;
@@ -1672,9 +1672,9 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::ExecuteSqlNonQuery");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::ExecuteSqlNonQuery");
     if (sqlNonSelectStatement.empty())
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdFeatureService::ExecuteSqlNonQuery", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableFeatureService::ExecuteSqlNonQuery", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1683,15 +1683,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(sqlNonSelectStatement.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdFeatureService::ExecuteSqlNonQuery()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableFeatureService::ExecuteSqlNonQuery()");
 
-    MgdSqlCommand cmd;
+    MgPortableSqlCommand cmd;
     ret = cmd.ExecuteNonQuery(resource, sqlNonSelectStatement, NULL, NULL);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::ExecuteSqlNonQuery")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::ExecuteSqlNonQuery")
 
     if (mgException != NULL)
     {
@@ -1708,7 +1708,7 @@
     return ret;
 }
 
-MgSpatialContextReader* MgdFeatureService::GetSpatialContexts(MgResourceIdentifier* resId, bool bActiveOnly) 
+MgSpatialContextReader* MgPortableFeatureService::GetSpatialContexts(MgResourceIdentifier* resId, bool bActiveOnly) 
 {
     Ptr<MgSpatialContextReader> mgSpatialContextReader;
     MG_LOG_OPERATION_MESSAGE(L"GetSpatialContexts");
@@ -1715,7 +1715,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resId, L"MgdResourceService::GetSpatialContext");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resId, L"MgPortableResourceService::GetSpatialContext");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1724,20 +1724,20 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(bActiveOnly);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdLogDetail logDetail(MgServiceType::FeatureService, MgdLogDetail::Trace, L"MgdFeatureService::GetSpatialContexts", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::FeatureService, MgPortableLogDetail::Trace, L"MgPortableFeatureService::GetSpatialContexts", mgStackParams);
     logDetail.AddResourceIdentifier(L"Id", resId);
     logDetail.AddBool(L"ActiveOnly", bActiveOnly);
     logDetail.Create();
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resId, L"MgdFeatureService::GetSpatialContexts");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resId, L"MgPortableFeatureService::GetSpatialContexts");
     
-    MgdGetSpatialContexts cmd;
+    MgPortableGetSpatialContexts cmd;
     mgSpatialContextReader = cmd.GetSpatialContexts(resId);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resId, L"MgdFeatureService::GetSpatialContexts")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resId, L"MgPortableFeatureService::GetSpatialContexts")
 
     if (mgException != NULL)
     {
@@ -1754,7 +1754,7 @@
     return mgSpatialContextReader.Detach();
 }
 
-MgLongTransactionReader* MgdFeatureService::GetLongTransactions(MgResourceIdentifier* resource,
+MgLongTransactionReader* MgPortableFeatureService::GetLongTransactions(MgResourceIdentifier* resource,
                                                                 bool bActiveOnly) 
 { 
     Ptr<MgLongTransactionReader> reader;
@@ -1762,7 +1762,7 @@
 
     MG_FEATURE_SERVICE_TRY()
     
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetLongTransactions");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetLongTransactions");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1771,13 +1771,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(bActiveOnly);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdGetLongTransactions getTrans;
+    MgPortableGetLongTransactions getTrans;
     reader = getTrans.GetLongTransactions(resource, bActiveOnly);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::GetLongTransactions")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::GetLongTransactions")
 
     if (mgException != NULL)
     {
@@ -1794,7 +1794,7 @@
     return reader.Detach();
 }
 
-bool MgdFeatureService::SetLongTransaction(MgResourceIdentifier* resource, CREFSTRING longTransactionName) 
+bool MgPortableFeatureService::SetLongTransaction(MgResourceIdentifier* resource, CREFSTRING longTransactionName) 
 { 
     bool ok = false;
     MG_LOG_OPERATION_MESSAGE(L"SetLongTransaction");
@@ -1801,9 +1801,9 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::SetLongTransaction");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::SetLongTransaction");
     if (longTransactionName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdFeatureService::SetLongTransaction", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableFeatureService::SetLongTransaction", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1812,7 +1812,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(longTransactionName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    Ptr<MgdFeatureConnection> connWrap = new MgdFeatureConnection(resource);
+    Ptr<MgPortableFeatureConnection> connWrap = new MgPortableFeatureConnection(resource);
     FdoPtr<FdoIConnection> conn = connWrap->GetConnection();
     FdoPtr<FdoIActivateLongTransaction> activate = (FdoIActivateLongTransaction*)conn->CreateCommand(FdoCommandType_ActivateLongTransaction);
     activate->SetName(longTransactionName.c_str());
@@ -1822,7 +1822,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::SetLongTransaction")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::SetLongTransaction")
 
     if (mgException != NULL)
     {
@@ -1839,7 +1839,7 @@
     return ok;
 }
 
-MgStringCollection* MgdFeatureService::GetSchemas(MgResourceIdentifier* resource) 
+MgStringCollection* MgPortableFeatureService::GetSchemas(MgResourceIdentifier* resource) 
 {
     Ptr<MgStringCollection> schemaNames;
     MG_LOG_OPERATION_MESSAGE(L"GetSchemas");
@@ -1846,7 +1846,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetSchemas");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetSchemas");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 1);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1853,13 +1853,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     schemaNames = describe.GetSchemas(resource);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::GetSchemas")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::GetSchemas")
 
     if (mgException != NULL)
     {
@@ -1876,7 +1876,7 @@
     return schemaNames.Detach();
 }
 
-MgStringCollection* MgdFeatureService::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName) 
+MgStringCollection* MgPortableFeatureService::GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName) 
 { 
     Ptr<MgStringCollection> classNames;
     MG_LOG_OPERATION_MESSAGE(L"GetClasses");
@@ -1883,7 +1883,7 @@
 
     MG_FEATURE_SERVICE_TRY()
     
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetClasses");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetClasses");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1892,13 +1892,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(schemaName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     classNames = describe.GetClasses(resource, schemaName);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::GetClasses")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::GetClasses")
 
     if (mgException != NULL)
     {
@@ -1915,7 +1915,7 @@
     return classNames.Detach();
 }
 
-MgClassDefinition* MgdFeatureService::GetClassDefinition(MgResourceIdentifier* resource,
+MgClassDefinition* MgPortableFeatureService::GetClassDefinition(MgResourceIdentifier* resource,
                                                          CREFSTRING schemaName,
                                                          CREFSTRING className) 
 { 
@@ -1924,7 +1924,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetClassDefinition");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetClassDefinition");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -1935,18 +1935,18 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(className.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdDescribeSchema cmd;
+    MgPortableDescribeSchema cmd;
     Ptr<MgClassDefinition> clsDef = cmd.GetClassDefinition(resource, schemaName, className, true);
 
     //In MapGuide Server returning this potentially cached copy is okay as a new instance is created
     //travelling the server/webtier boundary. This is not the case in mg-desktop so we have to clone
     //this result and return the clone instead.
-    ret = MgdFeatureUtil::CloneMgClassDefinition(clsDef);
+    ret = MgPortableFeatureUtil::CloneMgClassDefinition(clsDef);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::GetClassDefinition", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::GetClassDefinition", resource)
 
     if (mgException != NULL)
     {
@@ -1963,13 +1963,13 @@
     return ret.Detach();
 }
 
-//Though internal (and thus, normally wouldn't be implemented), it's needed by MgdMappingUtil
-MgClassDefinition* MgdFeatureService::GetClassDefinition(MgResourceIdentifier* resource,
+//Though internal (and thus, normally wouldn't be implemented), it's needed by MgPortableMappingUtil
+MgClassDefinition* MgPortableFeatureService::GetClassDefinition(MgResourceIdentifier* resource,
                                               CREFSTRING schemaName,
                                               CREFSTRING className,
                                               bool serialize) 
 {
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetClassDefinition");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetClassDefinition");
     
     Ptr<MgClassDefinition> classDefinition;
     Ptr<MgClassDefinition> clone;
@@ -1976,27 +1976,27 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     classDefinition = describe.GetClassDefinition(resource, schemaName, className, serialize);
 
     //In MapGuide Server returning this potentially cached copy is okay as a new instance is created
     //travelling the server/webtier boundary. This is not the case in mg-desktop so we have to clone
     //this result and return the clone instead.
-    clone = MgdFeatureUtil::CloneMgClassDefinition(classDefinition);
+    clone = MgPortableFeatureUtil::CloneMgClassDefinition(classDefinition);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgdFeatureService::GetClassDefinition", resource)
+    MG_FEATURE_SERVICE_CATCH_AND_THROW_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::GetClassDefinition", resource)
 
     return clone.Detach();
 }
 
-void MgdFeatureService::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams) 
+void MgPortableFeatureService::CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"CreateFeatureSource");
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::CreateFeatureSource");
-    CHECKARGUMENTNULL(sourceParams, L"MgdFeatureService::CreateFeatureSource");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::CreateFeatureSource");
+    CHECKARGUMENTNULL(sourceParams, L"MgPortableFeatureService::CreateFeatureSource");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -2005,13 +2005,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgFeatureSourceParams");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    Ptr<MgdCreateFeatureSource> creator = new MgdCreateFeatureSource();
+    Ptr<MgPortableCreateFeatureSource> creator = new MgPortableCreateFeatureSource();
     creator->CreateFeatureSource(resource, sourceParams);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgdFeatureService::CreateFeatureSource")
+    MG_FEATURE_SERVICE_CHECK_CONNECTION_CATCH(resource, L"MgPortableFeatureService::CreateFeatureSource")
 
     if (mgException != NULL)
     {
@@ -2026,21 +2026,21 @@
     MG_FEATURE_SERVICE_THROW()
 }
 
-MgByteReader* MgdFeatureService::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableFeatureService::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
                                                         MgStringCollection* featureClasses) 
 { 
-    NOT_IMPLEMENTED(L"MgdFeatureService::DescribeWfsFeatureType");
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::DescribeWfsFeatureType");
 }
 
-MgByteReader* MgdFeatureService::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableFeatureService::DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
                                                         MgStringCollection* featureClasses,
                                                         CREFSTRING namespacePrefix,
                                                         CREFSTRING namespaceUrl) 
 { 
-    NOT_IMPLEMENTED(L"MgdFeatureService::DescribeWfsFeatureType");
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::DescribeWfsFeatureType");
 }
 
-MgByteReader* MgdFeatureService::GetWfsFeature(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableFeatureService::GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                                CREFSTRING featureClass,
                                                MgStringCollection* requiredProperties,
                                                CREFSTRING srs,
@@ -2050,11 +2050,11 @@
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     ret = GetWfsFeature(featureSourceId, featureClass, requiredProperties, srs, wfsFilter, maxFeatures, L"1.0.0", L"text/xml; subtype=gml/2.1.2", L"", L"", L"");
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdFeatureService::GetWfsFeature")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableFeatureService::GetWfsFeature")
     return ret;
 }
 
-MgByteReader* MgdFeatureService::GetWfsFeature(MgResourceIdentifier* featureSourceId,
+MgByteReader* MgPortableFeatureService::GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                                CREFSTRING featureClass,
                                                MgStringCollection* requiredProperties,
                                                CREFSTRING srs,
@@ -2066,10 +2066,10 @@
                                                CREFSTRING namespacePrefix,
                                                CREFSTRING namespaceUrl) 
 { 
-    NOT_IMPLEMENTED(L"MgdFeatureService::GetWfsFeature");
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::GetWfsFeature");
 }
 
-MgByteReader* MgdFeatureService::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString) 
+MgByteReader* MgPortableFeatureService::EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString) 
 { 
     Ptr<MgByteReader> reader;
     MG_LOG_OPERATION_MESSAGE(L"EnumerateDataStores");
@@ -2083,13 +2083,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(partialConnString.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdEnumerateDataStores cmd;
+    MgPortableEnumerateDataStores cmd;
 
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::EnumerateDataStores")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::EnumerateDataStores")
 
     if (mgException != NULL)
     {
@@ -2106,7 +2106,7 @@
     return reader.Detach();
 }
 
-MgByteReader* MgdFeatureService::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString) 
+MgByteReader* MgPortableFeatureService::GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString) 
 {	
     Ptr<MgByteReader> byteReader;
 
@@ -2121,13 +2121,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(partialConnString.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdGetSchemaMapping descMapping;
+    MgPortableGetSchemaMapping descMapping;
     byteReader = descMapping.GetSchemaMapping(providerName, partialConnString);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::GetSchemaMapping")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::GetSchemaMapping")
 
     if (mgException != NULL)
     {
@@ -2144,7 +2144,7 @@
     return byteReader.Detach();
 }
 
-void MgdFeatureService::RegisterProvider(CREFSTRING providerLibraryPath)
+void MgPortableFeatureService::RegisterProvider(CREFSTRING providerLibraryPath)
 {
     MG_LOG_OPERATION_MESSAGE(L"RegisterProvider");
 
@@ -2174,7 +2174,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::RegisterProvider")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::RegisterProvider")
 
     if (mgException != NULL)
     {
@@ -2189,7 +2189,7 @@
     MG_FEATURE_SERVICE_THROW()
 }
 
-void MgdFeatureService::UnregisterProvider(CREFSTRING providerName)
+void MgPortableFeatureService::UnregisterProvider(CREFSTRING providerName)
 {
     MG_LOG_OPERATION_MESSAGE(L"UnregisterProvider");
 
@@ -2206,7 +2206,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::UnregisterProvider")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::UnregisterProvider")
 
     if (mgException != NULL)
     {
@@ -2224,8 +2224,8 @@
 //INTERNAL_API:
 //These API's don't need to be implemented as we're not a server process sending data down the wire
 
-//Unfortunately, this is needed by MgdMap, so we have to implement it
-MgPropertyDefinitionCollection* MgdFeatureService::GetIdentityProperties(MgResourceIdentifier* resource,
+//Unfortunately, this is needed by MgPortableMap, so we have to implement it
+MgPropertyDefinitionCollection* MgPortableFeatureService::GetIdentityProperties(MgResourceIdentifier* resource,
                                                                          CREFSTRING schemaName,
                                                                          CREFSTRING className)
 
@@ -2235,7 +2235,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetIdentityProperties");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetIdentityProperties");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -2246,13 +2246,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(className.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     Ptr<MgStringCollection> classNames = new MgStringCollection();
     classNames->Add(className);
     Ptr<MgClassDefinitionCollection> classDefs = describe.GetIdentityProperties(resource, schemaName, classNames);
     if (classDefs->GetCount() != 1)
     {
-        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgdFeatureService::GetIdentityProperties", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgPortableFeatureService::GetIdentityProperties", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     Ptr<MgClassDefinition> classDef = classDefs->GetItem(0);
     propDefs = classDef->GetIdentityProperties();
@@ -2260,7 +2260,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::GetIdentityProperties", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::GetIdentityProperties", resource)
 
     if (mgException != NULL)
     {
@@ -2277,9 +2277,9 @@
     return propDefs.Detach();
 }
 
-//Unfortunately, this is needed by MgdMap, so we have to implement it
+//Unfortunately, this is needed by MgPortableMap, so we have to implement it
 //TODO: Check if this requires immutability
-MgClassDefinitionCollection* MgdFeatureService::GetIdentityProperties(MgResourceIdentifier* resource,
+MgClassDefinitionCollection* MgPortableFeatureService::GetIdentityProperties(MgResourceIdentifier* resource,
                                                                       CREFSTRING schemaName,
                                                                       MgStringCollection* classNames)
 {
@@ -2288,7 +2288,7 @@
 
     MG_FEATURE_SERVICE_TRY()
 
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdFeatureService::GetIdentityProperties");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableFeatureService::GetIdentityProperties");
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
@@ -2299,13 +2299,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == classNames) ? L"MgStringCollection" : classNames->GetLogString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MgdDescribeSchema describe;
+    MgPortableDescribeSchema describe;
     classDefs = describe.GetIdentityProperties(resource, schemaName, classNames);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgdFeatureService::GetIdentityProperties", resource)
+    MG_FEATURE_SERVICE_CATCH_WITH_FEATURE_SOURCE(L"MgPortableFeatureService::GetIdentityProperties", resource)
 
     if (mgException != NULL)
     {
@@ -2322,7 +2322,7 @@
     return classDefs.Detach();
 }
 
-MgByteReader* MgdFeatureService::QueryCacheInfo()
+MgByteReader* MgPortableFeatureService::QueryCacheInfo()
 {
     Ptr<MgByteReader> ret;
 
@@ -2337,7 +2337,7 @@
     STRING content = L"<FdoConnectionPoolInfo>";
 
     std::vector<PoolCacheEntry*> entries;
-    MgdFdoConnectionPool::GetCacheInfo(entries);
+    MgPortableFdoConnectionPool::GetCacheInfo(entries);
 
     for (std::vector<PoolCacheEntry*>::iterator it = entries.begin(); it != entries.end(); it++)
     {
@@ -2383,7 +2383,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_FEATURE_SERVICE_CATCH(L"MgdFeatureService::QueryCacheInfo")
+    MG_FEATURE_SERVICE_CATCH(L"MgPortableFeatureService::QueryCacheInfo")
 
     if (mgException != NULL)
     {
@@ -2400,48 +2400,48 @@
     return ret.Detach();
 }
 
-//NOTE: This is needed by MgRaster::GetStream(), but this is implemented in MgdRasterHelper which we redirect the call to
+//NOTE: This is needed by MgRaster::GetStream(), but this is implemented in MgPortableRasterHelper which we redirect the call to
 //So it is not implemented here
-MgByteReader* MgdFeatureService::GetRaster(CREFSTRING reader, INT32 xSize, INT32 ySize, STRING propName) 
+MgByteReader* MgPortableFeatureService::GetRaster(CREFSTRING reader, INT32 xSize, INT32 ySize, STRING propName) 
 { 
-    NOT_IMPLEMENTED(L"MgdFeatureService::GetRaster"); 
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::GetRaster"); 
 }
 
 // Feature
-MgBatchPropertyCollection* MgdFeatureService::GetFeatures(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgdFeatureService::GetFeatures"); }
-bool MgdFeatureService::CloseFeatureReader(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgdFeatureService::CloseFeatureReader"); }
+MgBatchPropertyCollection* MgPortableFeatureService::GetFeatures(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::GetFeatures"); }
+bool MgPortableFeatureService::CloseFeatureReader(CREFSTRING featureReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::CloseFeatureReader"); }
 
 // SQL
-MgBatchPropertyCollection* MgdFeatureService::GetSqlRows(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgdFeatureService::GetSqlRows"); }
-bool MgdFeatureService::CloseSqlReader(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgdFeatureService::CloseSqlReader"); }
+MgBatchPropertyCollection* MgPortableFeatureService::GetSqlRows(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::GetSqlRows"); }
+bool MgPortableFeatureService::CloseSqlReader(CREFSTRING sqlReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::CloseSqlReader"); }
 
 // Data
-MgBatchPropertyCollection* MgdFeatureService::GetDataRows(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgdFeatureService::GetDataRows"); }
-bool MgdFeatureService::CloseDataReader(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgdFeatureService::CloseDataReader"); }
+MgBatchPropertyCollection* MgPortableFeatureService::GetDataRows(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::GetDataRows"); }
+bool MgPortableFeatureService::CloseDataReader(CREFSTRING dataReader) { NOT_IMPLEMENTED(L"MgPortableFeatureService::CloseDataReader"); }
 
-STRING MgdFeatureService::GetFdoCacheInfo() { NOT_IMPLEMENTED(L"MgdFeatureService::GetFdoCacheInfo"); }
+STRING MgPortableFeatureService::GetFdoCacheInfo() { NOT_IMPLEMENTED(L"MgPortableFeatureService::GetFdoCacheInfo"); }
 
 // Commit the transaction specified by the transaction id.
-bool MgdFeatureService::CommitTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgdFeatureService::CommitTransaction"); }
+bool MgPortableFeatureService::CommitTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgPortableFeatureService::CommitTransaction"); }
 
 // Rollback the transaction specified by the transaction id.
-bool MgdFeatureService::RollbackTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgdFeatureService::RollbackTransaction"); }
+bool MgPortableFeatureService::RollbackTransaction(CREFSTRING transactionId) { NOT_IMPLEMENTED(L"MgPortableFeatureService::RollbackTransaction"); }
 
 //Add save point
-STRING MgdFeatureService::AddSavePoint(CREFSTRING transactionId, CREFSTRING suggestName) { NOT_IMPLEMENTED(L"MgdFeatureService::AddSavePoint"); }
+STRING MgPortableFeatureService::AddSavePoint(CREFSTRING transactionId, CREFSTRING suggestName) { NOT_IMPLEMENTED(L"MgPortableFeatureService::AddSavePoint"); }
 
 //Roll back to a save point
-bool MgdFeatureService::RollbackSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgdFeatureService::RollbackSavePoint"); }
+bool MgPortableFeatureService::RollbackSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgPortableFeatureService::RollbackSavePoint"); }
 
 //Release a save point
-bool MgdFeatureService::ReleaseSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgdFeatureService::ReleaseSavePoint"); }
+bool MgPortableFeatureService::ReleaseSavePoint(CREFSTRING transactionId, CREFSTRING savePointName) { NOT_IMPLEMENTED(L"MgPortableFeatureService::ReleaseSavePoint"); }
 
-MgFeatureReader *MgdFeatureService::GetWfsReader(MgResourceIdentifier *, CREFSTRING, MgStringCollection *, CREFSTRING, CREFSTRING, CREFSTRING)
+MgFeatureReader *MgPortableFeatureService::GetWfsReader(MgResourceIdentifier *, CREFSTRING, MgStringCollection *, CREFSTRING, CREFSTRING, CREFSTRING)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureService::GetWfsReader");
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::GetWfsReader");
 }
 
-INT32 MgdFeatureService::GetWfsFeatureTotal(MgResourceIdentifier *, CREFSTRING, CREFSTRING, INT32)
+INT32 MgPortableFeatureService::GetWfsFeatureTotal(MgResourceIdentifier *, CREFSTRING, CREFSTRING, INT32)
 {
-    NOT_IMPLEMENTED(L"MgdFeatureService::GetWfsFeatureTotal");
+    NOT_IMPLEMENTED(L"MgPortableFeatureService::GetWfsFeatureTotal");
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/FeatureService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/FeatureService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/FeatureService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,7 +1,7 @@
 #ifndef DESKTOP_FEATURE_SERVICE_H
 #define DESKTOP_FEATURE_SERVICE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 
@@ -11,7 +11,7 @@
 class FdoFeatureSchemaCollection;
 class MgResourceIdentifier;
 class MgFeatureSchemaCollection;
-class MgdResourceService;
+class MgPortableResourceService;
 
 class FdoFilter;
 class FdoIBaseSelect;
@@ -30,15 +30,15 @@
 }
 /// \ingroup Desktop_Service_Module
 /// \{
-class MG_DESKTOP_API MgdFeatureService : public MgFeatureService
+class MG_DESKTOP_API MgPortableFeatureService : public MgFeatureService
 {
-    DECLARE_CLASSNAME(MgdFeatureService)
+    DECLARE_CLASSNAME(MgPortableFeatureService)
 
 INTERNAL_API:
-    MgdFeatureService();
+    MgPortableFeatureService();
 
 EXTERNAL_API:
-    virtual ~MgdFeatureService();
+    virtual ~MgPortableFeatureService();
 
 protected:
     virtual void Dispose() { delete this; }
@@ -188,7 +188,7 @@
     virtual INT32 UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans);
 
     //------- Desktop API additions --------//
-    MgdScrollableFeatureReader* SelectFeaturesExtended(MgResourceIdentifier* resource,
+    MgPortableScrollableFeatureReader* SelectFeaturesExtended(MgResourceIdentifier* resource,
                                                        CREFSTRING className,
                                                        MgFeatureQueryOptions* options);
 

Modified: trunk/MgDev/Portable/MgPortable/Services/ImageFormats.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ImageFormats.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ImageFormats.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,9 +23,9 @@
 /// The exact list of supported formats is not defined yet.
 /// At least PNG will be supported.
 ///
-const STRING MgdImageFormats::Gif    = L"GIF";
-const STRING MgdImageFormats::Jpeg   = L"JPG";
-const STRING MgdImageFormats::Png    = L"PNG";
-const STRING MgdImageFormats::Png8   = L"PNG8";
-const STRING MgdImageFormats::Tiff   = L"TIF";
-const STRING MgdImageFormats::Raw    = L"RAW";
+const STRING MgPortableImageFormats::Gif    = L"GIF";
+const STRING MgPortableImageFormats::Jpeg   = L"JPG";
+const STRING MgPortableImageFormats::Png    = L"PNG";
+const STRING MgPortableImageFormats::Png8   = L"PNG8";
+const STRING MgPortableImageFormats::Tiff   = L"TIF";
+const STRING MgPortableImageFormats::Raw    = L"RAW";

Modified: trunk/MgDev/Portable/MgPortable/Services/ImageFormats.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ImageFormats.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ImageFormats.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,10 +18,10 @@
 #ifndef DESKTOP_IMAGE_FORMATS_H
 #define DESKTOP_IMAGE_FORMATS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdImageFormats
+class MG_DESKTOP_API MgPortableImageFormats
 {
 PUBLISHED_API:
     /// \internal

Modified: trunk/MgDev/Portable/MgPortable/Services/MappingService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/MappingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/MappingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -75,7 +75,7 @@
     MG_SERVER_MAPPING_SERVICE_THROW()                                         \
 
 
-MgdMappingService::MgdMappingService() : MgService() 
+MgPortableMappingService::MgPortableMappingService() : MgService() 
 { 
     m_pCSFactory = new MgCoordinateSystemFactory();
 
@@ -83,7 +83,7 @@
     //MgServiceManager* serviceMan = MgServiceManager::GetInstance();
     //assert(NULL != serviceMan);
 
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
 
     m_svcResource = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     assert(m_svcResource != NULL);
@@ -91,42 +91,42 @@
     m_svcFeature = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
     assert(m_svcFeature != NULL);
 
-    m_svcDrawing = dynamic_cast<MgdDrawingService*>(fact->CreateService(MgServiceType::DrawingService));
+    m_svcDrawing = dynamic_cast<MgPortableDrawingService*>(fact->CreateService(MgServiceType::DrawingService));
     assert(m_svcDrawing != NULL);
 
     MgConfiguration* pConf = MgConfiguration::GetInstance();
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMaxRasterImageWidth,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageWidth,
                           m_maxRasterImageWidth,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMaxRasterImageHeight,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageHeight,
                           m_maxRasterImageHeight,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight);
 
     // Set Mapping Service related properties
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyRasterGridSizeForPlot,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeForPlot,
                           m_rasterGridSizeForPlot,
-                          MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeForPlot);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeForPlot);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot,
                           m_minRasterGridSizeForPlot,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMinRasterGridSizeForPlot);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMinRasterGridSizeForPlot);
 
-    pConf->GetDoubleValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot,
+    pConf->GetDoubleValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot,
                           m_rasterGridSizeOverrideRatioForPlot,
-                          MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatioForPlot);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatioForPlot);
 }
 
-MgdMappingService::~MgdMappingService() { }
+MgPortableMappingService::~MgPortableMappingService() { }
 
 // Returns true if the supplied feature type style is compatible with the
 // supplied geometry type: 1=Point, 2=Line, 3=Area, 4=Composite
-bool MgdMappingService::FeatureTypeStyleSupportsGeomType(MdfModel::FeatureTypeStyle* fts, INT32 geomType)
+bool MgPortableMappingService::FeatureTypeStyleSupportsGeomType(MdfModel::FeatureTypeStyle* fts, INT32 geomType)
 {
     if (fts == NULL)
         return false;
@@ -159,7 +159,7 @@
     return false;
 }
 
-MgByteReader* MgdMappingService::GenerateLegendImage(MgResourceIdentifier* resource,
+MgByteReader* MgPortableMappingService::GenerateLegendImage(MgResourceIdentifier* resource,
                                                       double     scale,
                                                       INT32      imgWidth,
                                                       INT32      imgHeight,
@@ -190,17 +190,17 @@
     MG_LOG_OPERATION_MESSAGE_ADD_INT32(themeCategory);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GenerateLegendImage()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GenerateLegendImage()");
 
     if (0 == resource)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdMappingService::GenerateLegendImage", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableMappingService::GenerateLegendImage", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     if (m_svcResource == NULL)
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         m_svcResource = static_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     }
 
@@ -267,7 +267,7 @@
             }
 
             if (fts)
-                byteReader = MgdMappingUtil::DrawFTS(m_svcResource, fts, imgWidth, imgHeight, themeCategory);
+                byteReader = MgPortableMappingUtil::DrawFTS(m_svcResource, fts, imgWidth, imgHeight, themeCategory);
             else
             {
                 //return the fixed array
@@ -295,7 +295,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingService::GenerateLegendImage")
+    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingService::GenerateLegendImage")
 
     if (mgException != NULL)
     {
@@ -312,10 +312,10 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdMappingService::GeneratePlot(MgdMap* map,
-                                               MgdPlotSpecification* plotSpec,
-                                               MgdLayout* layout,
-                                               MgdDwfVersion* dwfVersion)
+MgByteReader* MgPortableMappingService::GeneratePlot(MgPortableMap* map,
+                                               MgPortablePlotSpecification* plotSpec,
+                                               MgPortableLayout* layout,
+                                               MgPortableDwfVersion* dwfVersion)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -333,26 +333,26 @@
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgResourceIdentifier" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdPlotSpecification");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortablePlotSpecification");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == layoutId) ? L"MgResourceIdentifier" : layoutId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgdDwfVersion" : dwfVersion->GetLogString());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgPortableDwfVersion" : dwfVersion->GetLogString());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GeneratePlot()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GeneratePlot()");
 
     if (NULL == map  || NULL == dwfVersion || NULL == plotSpec )
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    // Create a MgdMapPlot which will be passed to GenerateMultiPlot
-    Ptr<MgdMapPlot> mapPlot = new MgdMapPlot(map, plotSpec, layout);
+    // Create a MgPortableMapPlot which will be passed to GenerateMultiPlot
+    Ptr<MgPortableMapPlot> mapPlot = new MgPortableMapPlot(map, plotSpec, layout);
 
-    // Add it to a MgdMapPlotCollecion
-    Ptr<MgdMapPlotCollection> mapPlots = new MgdMapPlotCollection();
+    // Add it to a MgPortableMapPlotCollecion
+    Ptr<MgPortableMapPlotCollection> mapPlots = new MgPortableMapPlotCollection();
     mapPlots->Add(mapPlot);
 
     // Create the plot
@@ -361,7 +361,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingService::GeneratePlot")
+    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingService::GeneratePlot")
 
     if (mgException != NULL)
     {
@@ -378,12 +378,12 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdMappingService::GeneratePlot(MgdMap* map,
+MgByteReader* MgPortableMappingService::GeneratePlot(MgPortableMap* map,
                                                MgCoordinate* center,
                                                double scale,
-                                               MgdPlotSpecification* plotSpec,
-                                               MgdLayout* layout,
-                                               MgdDwfVersion* dwfVersion)
+                                               MgPortablePlotSpecification* plotSpec,
+                                               MgPortableLayout* layout,
+                                               MgPortableDwfVersion* dwfVersion)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -405,26 +405,26 @@
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_DOUBLE(scale)
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdPlotSpecification");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortablePlotSpecification");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == layoutId) ? L"MgResourceIdentifier" : layoutId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgdDwfVersion" : dwfVersion->GetLogString());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgPortableDwfVersion" : dwfVersion->GetLogString());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GeneratePlot()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GeneratePlot()");
 
     if (NULL == map  || NULL == center || NULL == dwfVersion || NULL == plotSpec )
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    // Create a MgdMapPlot which will be passed to GenerateMultiPlot
-    Ptr<MgdMapPlot> mapPlot = new MgdMapPlot(map, center, scale, plotSpec, layout);
+    // Create a MgPortableMapPlot which will be passed to GenerateMultiPlot
+    Ptr<MgPortableMapPlot> mapPlot = new MgPortableMapPlot(map, center, scale, plotSpec, layout);
 
-    // Add it to a MgdMapPlotCollecion
-    Ptr<MgdMapPlotCollection> mapPlots = new MgdMapPlotCollection();
+    // Add it to a MgPortableMapPlotCollecion
+    Ptr<MgPortableMapPlotCollection> mapPlots = new MgPortableMapPlotCollection();
     mapPlots->Add(mapPlot);
 
     // Create the plot
@@ -433,7 +433,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingService::GeneratePlot")
+    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingService::GeneratePlot")
 
     if (mgException != NULL)
     {
@@ -450,12 +450,12 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdMappingService::GeneratePlot(MgdMap* map,
+MgByteReader* MgPortableMappingService::GeneratePlot(MgPortableMap* map,
                                                MgEnvelope* extents,
                                                bool expandToFit,
-                                               MgdPlotSpecification* plotSpec,
-                                               MgdLayout* layout,
-                                               MgdDwfVersion* dwfVersion)
+                                               MgPortablePlotSpecification* plotSpec,
+                                               MgPortableLayout* layout,
+                                               MgPortableDwfVersion* dwfVersion)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -477,19 +477,19 @@
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(expandToFit)
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdPlotSpecification");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortablePlotSpecification");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == layoutId) ? L"MgResourceIdentifier" : layoutId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgdDwfVersion" : dwfVersion->GetLogString());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgPortableDwfVersion" : dwfVersion->GetLogString());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GeneratePlot()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GeneratePlot()");
 
     if (NULL == map  || NULL == extents || NULL == plotSpec || NULL == dwfVersion )
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Make a copy of the extents
@@ -499,18 +499,18 @@
     Ptr<MgCoordinate> ur = new MgCoordinateXY(oldur->GetX(), oldur->GetY());
     if (ll == NULL || ur == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     Ptr<MgEnvelope> env = new MgEnvelope(ll, ur);
 
-    // Create a MgdMapPlot which will be passed to GenerateMultiPlot
-    Ptr<MgdMapPlot> mapPlot = new MgdMapPlot(map, env, expandToFit, plotSpec, layout);
+    // Create a MgPortableMapPlot which will be passed to GenerateMultiPlot
+    Ptr<MgPortableMapPlot> mapPlot = new MgPortableMapPlot(map, env, expandToFit, plotSpec, layout);
 
-    // Add it to a MgdMapPlotCollecion
-    Ptr<MgdMapPlotCollection> mapPlots = new MgdMapPlotCollection();
+    // Add it to a MgPortableMapPlotCollecion
+    Ptr<MgPortableMapPlotCollection> mapPlots = new MgPortableMapPlotCollection();
     if (mapPlot == NULL || mapPlots == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMappingService::GeneratePlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     mapPlots->Add(mapPlot);
 
@@ -520,7 +520,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingService::GeneratePlot")
+    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingService::GeneratePlot")
 
     if (mgException != NULL)
     {
@@ -537,7 +537,7 @@
     return byteReader.Detach();
 }
 
-MgByteReader* MgdMappingService::GenerateMultiPlot(MgdMapPlotCollection* mapPlots, MgdDwfVersion* dwfVersion)
+MgByteReader* MgPortableMappingService::GenerateMultiPlot(MgPortableMapPlotCollection* mapPlots, MgPortableDwfVersion* dwfVersion)
 {
     Ptr<MgByteReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"GenerateMultiPlot");
@@ -546,12 +546,12 @@
 
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 2);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdMapPlotCollection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableMapPlotCollection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgdDwfVersion" : dwfVersion->GetLogString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == dwfVersion) ? L"MgPortableDwfVersion" : dwfVersion->GetLogString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GenerateMultiPlot()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GenerateMultiPlot()");
 
     ret = GenerateMultiPlotInternal(mapPlots, dwfVersion);
 
@@ -558,7 +558,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingService::GenerateMultiPlot")
+    MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingService::GenerateMultiPlot")
 
     if (mgException != NULL)
     {
@@ -574,18 +574,18 @@
     return ret.Detach();
 }
 
-MgByteReader* MgdMappingService::GenerateMultiPlotInternal(MgdMapPlotCollection* mapPlots, MgdDwfVersion* dwfVersion)
+MgByteReader* MgPortableMappingService::GenerateMultiPlotInternal(MgPortableMapPlotCollection* mapPlots, MgPortableDwfVersion* dwfVersion)
 {
     Ptr<MgByteReader> byteReader;
 
     MG_SERVER_MAPPING_SERVICE_TRY()
 
-    MG_LOG_TRACE_ENTRY(L"MgdMappingService::GenerateMultiPlot()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableMappingService::GenerateMultiPlot()");
 
     if (0 == mapPlots || 0 == dwfVersion)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // get a temporary file to write out EPlot DWF to
@@ -600,31 +600,31 @@
     dr.SetMaxRasterImageWidth(m_maxRasterImageWidth);
     dr.SetMaxRasterImageHeight(m_maxRasterImageHeight);
 
-    RSMgdSymbolManager mgr(m_svcResource);
+    RSMgPortableSymbolManager mgr(m_svcResource);
     dr.SetSymbolManager(&mgr);
 
     // process the MapPlot collection
     for (int nMapPlotIndex = 0; nMapPlotIndex < mapPlots->GetCount(); nMapPlotIndex++)
     {
-        Ptr<MgdMapPlot> mapPlot = mapPlots->GetItem(nMapPlotIndex);
+        Ptr<MgPortableMapPlot> mapPlot = mapPlots->GetItem(nMapPlotIndex);
         if (NULL == mapPlot)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        Ptr<MgdMap> map = mapPlot->GetMap();
+        Ptr<MgPortableMap> map = mapPlot->GetMap();
         if (NULL == map)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        Ptr<MgdPlotSpecification> plotSpec = mapPlot->GetPlotSpecification();
+        Ptr<MgPortablePlotSpecification> plotSpec = mapPlot->GetPlotSpecification();
         if (NULL == plotSpec)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
-        Ptr<MgdLayout> layout = mapPlot->GetLayout();
+        Ptr<MgPortableLayout> layout = mapPlot->GetLayout();
 
         double width = plotSpec->GetPaperWidth();
         double height = plotSpec->GetPaperHeight();
@@ -644,7 +644,7 @@
         Ptr<MgEnvelope> env = map->GetDataExtent();
         if (env == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         Ptr<MgCoordinate> ll = env->GetLowerLeftCoordinate();
@@ -651,7 +651,7 @@
         Ptr<MgCoordinate> ur = env->GetUpperRightCoordinate();
         if (ll == NULL || ur == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         RS_Bounds b(ll->GetX(), ll->GetY(), ur->GetX(), ur->GetY());
 
@@ -662,7 +662,7 @@
             Ptr<MgEnvelope> env2 = map->GetMapExtent();
             if (env2 == NULL)
             {
-                throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
             Ptr<MgCoordinate> ll2 = env2->GetLowerLeftCoordinate();
@@ -669,7 +669,7 @@
             Ptr<MgCoordinate> ur2 = env2->GetUpperRightCoordinate();
             if (ll2 == NULL || ur2 == NULL)
             {
-                throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
             b.minx = ll2->GetX();
@@ -679,10 +679,10 @@
         }
 
         // Create a simple print layout containing only the map
-        Ptr<MgdPrintLayout> printLayout = new MgdPrintLayout();
+        Ptr<MgPortablePrintLayout> printLayout = new MgPortablePrintLayout();
         if (printLayout == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         if (NULL != layout)
@@ -693,7 +693,7 @@
             printLayout->SetScaleBarUnits(layout->GetUnitType());
             printLayout->SetPlotTitle(layout->GetTitle());
 
-            Ptr<MgdPlotSpecification> spec = printLayout->GetPlotSize();
+            Ptr<MgPortablePlotSpecification> spec = printLayout->GetPlotSize();
 
             width = spec->GetPaperWidth();
             height = spec->GetPaperHeight();
@@ -732,12 +732,12 @@
         Ptr<MgEnvelope> extents = map->GetMapExtent();
         if (center == NULL || extents == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         switch (mapPlot->GetMapPlotInstruction())
         {
-        case MgdMapPlotInstruction::UseMapCenterAndScale:
+        case MgPortableMapPlotInstruction::UseMapCenterAndScale:
             {
                 dMapScale = map->GetViewScale();
                 if (dMapScale <= 0)
@@ -745,7 +745,7 @@
                     Ptr<MgEnvelope> extents = map->GetDataExtent();
                     if (extents == NULL)
                     {
-                        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                     printLayout->ComputeMapOffsetAndSize(dMapScale, extents, metersPerUnit, dr.mapOffsetX(), dr.mapOffsetY(), dr.mapWidth(), dr.mapHeight());
                     double mapWidth = dr.mapWidth();
@@ -765,13 +765,13 @@
                 center = pt->GetCoordinate();
                 break;
             }
-        case MgdMapPlotInstruction::UseOverriddenCenterAndScale:
+        case MgPortableMapPlotInstruction::UseOverriddenCenterAndScale:
             {
                 dMapScale = mapPlot->GetScale();
                 center = mapPlot->GetCenter();
                 break;
             }
-        case MgdMapPlotInstruction::UseOverriddenExtent:
+        case MgPortableMapPlotInstruction::UseOverriddenExtent:
             {
                 // Compute the plotCenter and plotScale from the extents
                 extents = mapPlot->GetExtent();
@@ -780,7 +780,7 @@
                 Ptr<MgCoordinate> plotur = extents->GetUpperRightCoordinate();
                 if (plotll == NULL || plotur == NULL)
                 {
-                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
                 }
                 double minX = plotll->GetX();
                 double minY = plotll->GetY();
@@ -807,12 +807,12 @@
                 center = new MgCoordinateXY(centerX, centerY);
                 if (center == NULL)
                 {
-                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
                 }
                 Ptr<MgPoint> centerpt = new MgPoint(center);
                 if (centerpt == NULL)
                 {
-                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
                 }
                 map->SetViewCenter(centerpt);
                 break;
@@ -821,9 +821,9 @@
             {
                 MgStringCollection arguments;
                 arguments.Add(L"1");
-                arguments.Add(L"MgdMapPlotCollection");
+                arguments.Add(L"MgPortableMapPlotCollection");
 
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdMappingService::GenerateMultiPlot",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableMappingService::GenerateMultiPlot",
                     __LINE__, __WFILE__, &arguments, L"MgInvalidMapPlotCollectionMapPlotInstruction", NULL);
             }
             break;
@@ -856,7 +856,7 @@
 
         Ptr<MgCoordinate> newll;
         Ptr<MgCoordinate> newur;
-        if (mapPlot->GetMapPlotInstruction() != MgdMapPlotInstruction::UseOverriddenExtent || mapPlot->GetExpandToFit())
+        if (mapPlot->GetMapPlotInstruction() != MgPortableMapPlotInstruction::UseOverriddenExtent || mapPlot->GetExpandToFit())
         {
             double mapWidth = dr.mapWidth();
             double mapHeight = dr.mapHeight();
@@ -871,7 +871,7 @@
             newll = env->GetLowerLeftCoordinate();
             newur = env->GetUpperRightCoordinate();
         }
-        else if (mapPlot->GetMapPlotInstruction() == MgdMapPlotInstruction::UseOverriddenExtent && !mapPlot->GetExpandToFit())
+        else if (mapPlot->GetMapPlotInstruction() == MgPortableMapPlotInstruction::UseOverriddenExtent && !mapPlot->GetExpandToFit())
         {
             newll = extents->GetLowerLeftCoordinate();
             newur = extents->GetUpperRightCoordinate();
@@ -882,7 +882,7 @@
         b.maxx = newur->GetX();
         b.maxy = newur->GetY();
 
-        SEMgdSymbolManager semgr(m_svcResource);
+        SEMgPortableSymbolManager semgr(m_svcResource);
         DefaultStylizer ds(&semgr);
 
         double dpi = map->GetDisplayDpi();
@@ -891,7 +891,7 @@
         Ptr<MgLayerCollection> layers = map->GetLayers();
         if (layers == NULL)
         {
-            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableMappingService::GenerateMultiPlot", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         // Define a polygon to represent the map extents and fill it with the map background color
@@ -919,7 +919,7 @@
         }
 
         //stylize all the map layers
-        MgdMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
+        MgPortableMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
                                      rolc, NULL, &ds, &dr, dstCs, false, false, dMapScale);
 
         // Finish adding the map to the page
@@ -927,7 +927,7 @@
         dr.mapBoundsHeight() = b.height() * dr.mapWidth()/b.width();
 
         //construct one every time -- not really a bottleneck
-        MgdLegendPlotUtil lu(m_svcResource);
+        MgPortableLegendPlotUtil lu(m_svcResource);
 
         // Now add the rest of the layout element to the page
         lu.AddLayoutElements(printLayout, (STRING)mapInfo.name(), mapResId->ToString(), map, layers, b, dMapScale, metersPerUnit, dr);
@@ -943,7 +943,7 @@
     bs->SetMimeType(MgMimeType::Dwf);
     byteReader = bs->GetReader();
 
-    MG_SERVER_MAPPING_SERVICE_CATCH_AND_THROW(L"MgdMappingService::GenerateMultiPlot")
+    MG_SERVER_MAPPING_SERVICE_CATCH_AND_THROW(L"MgPortableMappingService::GenerateMultiPlot")
 
     return byteReader.Detach();
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/MappingService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/MappingService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/MappingService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,13 +1,13 @@
 #ifndef DESKTOP_MAPPING_SERVICE_H
 #define DESKTOP_MAPPING_SERVICE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MgdLayout;
-class MgdMapPlotCollection;
-class MgdPlotSpecification;
-class MgdDwfVersion;
-class MgdMap;
+class MgPortableLayout;
+class MgPortableMapPlotCollection;
+class MgPortablePlotSpecification;
+class MgPortableDwfVersion;
+class MgPortableMap;
 
 namespace MdfModel
 {
@@ -22,9 +22,9 @@
 /// Performs map related operations such as getting an eMap DWF
 /// representing a map or updates to a map, or querying features
 /// from maps or layers of a map.
-class MG_DESKTOP_API MgdMappingService : public MgService
+class MG_DESKTOP_API MgPortableMappingService : public MgService
 {
-    DECLARE_CLASSNAME(MgdMappingService)
+    DECLARE_CLASSNAME(MgPortableMappingService)
 
 public:
     //////////////////////////////////////////////////////////////////
@@ -31,13 +31,13 @@
     /// <summary>
     /// Destructor
     /// </summary>
-    virtual ~MgdMappingService();
+    virtual ~MgPortableMappingService();
 
     //////////////////////////////////////////////////////////////////
     /// <summary>
-    /// Construct an MgdDrawingService object
+    /// Construct an MgPortableDrawingService object
     /// </summary>
-    MgdMappingService();
+    MgPortableMappingService();
 
 PUBLISHED_API:
     ////////////////////////////////////////////////////////////////////////////////
@@ -93,13 +93,13 @@
     /// extents will be computed to fill the space within the page margins.  If the
     /// layout paramter is null, no adornments will be added to the page.
     ///
-    /// \param map (MgdMap)
+    /// \param map (MgPortableMap)
     /// Map object describing current state of map.
-    /// \param plotSpec (MgdPlotSpecification)
+    /// \param plotSpec (MgPortablePlotSpecification)
     /// Plotting specifications for the generated plot.
-    /// \param layout (MgdLayout)
+    /// \param layout (MgPortableLayout)
     /// Layout specifications to use for the generated plot.
-    /// \param dwfVersion (MgdDwfVersion)
+    /// \param dwfVersion (MgPortableDwfVersion)
     /// DWF version required by the client. This
     /// determines the schema and file versions used to
     /// generate the DWFs sent back to the client.
@@ -109,10 +109,10 @@
     ///
     /// \exception MgNullArgumentException
     ///
-    virtual MgByteReader* GeneratePlot(MgdMap* map,
-                                       MgdPlotSpecification* plotSpec,
-                                       MgdLayout* layout,
-                                       MgdDwfVersion* dwfVersion);
+    virtual MgByteReader* GeneratePlot(MgPortableMap* map,
+                                       MgPortablePlotSpecification* plotSpec,
+                                       MgPortableLayout* layout,
+                                       MgPortableDwfVersion* dwfVersion);
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -120,17 +120,17 @@
     /// will be computed to fill the space within the page margins.  If the layout
     /// paramter is null, no adornments will be added to the page.
     ///
-    /// \param map (MgdMap)
+    /// \param map (MgPortableMap)
     /// Map object describing current state of map.
     /// \param center (MgCoordinate)
     /// The coordinates of the center of the map for the plot.
     /// \param scale (double)
     /// The scale to use for the plot.
-    /// \param plotSpec (MgdPlotSpecification)
+    /// \param plotSpec (MgPortablePlotSpecification)
     /// Plotting specifications for the generated plot.
-    /// \param layout (MgdLayout)
+    /// \param layout (MgPortableLayout)
     /// Layout specifications to use for the generated plot.
-    /// \param dwfVersion (MgdDwfVersion)
+    /// \param dwfVersion (MgPortableDwfVersion)
     /// DWF version required by the client. This
     /// determines the schema and file versions used to
     /// generate the DWFs sent back to the client.
@@ -140,12 +140,12 @@
     ///
     /// \exception MgNullArgumentException
     ///
-    virtual MgByteReader* GeneratePlot(MgdMap* map,
+    virtual MgByteReader* GeneratePlot(MgPortableMap* map,
                                        MgCoordinate* center,
                                        double scale,
-                                       MgdPlotSpecification* plotSpec,
-                                       MgdLayout* layout,
-                                       MgdDwfVersion* dwfVersion);
+                                       MgPortablePlotSpecification* plotSpec,
+                                       MgPortableLayout* layout,
+                                       MgPortableDwfVersion* dwfVersion);
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -155,7 +155,7 @@
     /// in the X or Y direction to fill the space within the page margins.  If the
     /// layout paramter is null, no adornments will be added to the page.
     ///
-    /// \param map (MgdMap)
+    /// \param map (MgPortableMap)
     /// Map object describing current state of map.
     /// \param extents (MgEnvelope)
     /// The extents of the map to be plotted..
@@ -162,11 +162,11 @@
     /// \param expandToFit (boolean/bool)
     /// Flag indicating whether the extents should be expanded to
     /// fill the space withing the page margins.
-    /// \param plotSpec (MgdPlotSpecification)
+    /// \param plotSpec (MgPortablePlotSpecification)
     /// Plotting specifications for the generated plot.
-    /// \param layout (MgdLayout)
+    /// \param layout (MgPortableLayout)
     /// Layout specifications to use for the generated plot.
-    /// \param dwfVersion (MgdDwfVersion)
+    /// \param dwfVersion (MgPortableDwfVersion)
     /// DWF version required by the client. This
     /// determines the schema and file versions used to
     /// generate the DWFs sent back to the client.
@@ -176,12 +176,12 @@
     ///
     /// \exception MgNullArgumentException
     ///
-    virtual MgByteReader* GeneratePlot(MgdMap* map,
+    virtual MgByteReader* GeneratePlot(MgPortableMap* map,
                                        MgEnvelope* extents,
                                        bool expandToFit,
-                                       MgdPlotSpecification* plotSpec,
-                                       MgdLayout* layout,
-                                       MgdDwfVersion* dwfVersion);
+                                       MgPortablePlotSpecification* plotSpec,
+                                       MgPortableLayout* layout,
+                                       MgPortableDwfVersion* dwfVersion);
 
     ////////////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -188,9 +188,9 @@
     /// Generates an \link ePlot ePlot \endlink containing one sheet per
     /// specified map.
     ///
-    /// \param mapPlots (MgdMapPlotCollection)
+    /// \param mapPlots (MgPortableMapPlotCollection)
     /// A collection of MapPlot objects.
-    /// \param dwfVersion (MgdDwfVersion)
+    /// \param dwfVersion (MgPortableDwfVersion)
     /// DWF specification required by the client. This
     /// determines the schema and file versions used to
     /// generate the DWFs sent back to the client.
@@ -202,16 +202,16 @@
     ///
     /// \exception MgNullArgumentException
     ///
-    virtual MgByteReader* GenerateMultiPlot(MgdMapPlotCollection* mapPlots, MgdDwfVersion* dwfVersion);
+    virtual MgByteReader* GenerateMultiPlot(MgPortableMapPlotCollection* mapPlots, MgPortableDwfVersion* dwfVersion);
 
 private:
-    virtual MgByteReader* GenerateMultiPlotInternal(MgdMapPlotCollection* mapPlots, MgdDwfVersion* dwfVersion);
+    virtual MgByteReader* GenerateMultiPlotInternal(MgPortableMapPlotCollection* mapPlots, MgPortableDwfVersion* dwfVersion);
     bool FeatureTypeStyleSupportsGeomType(MdfModel::FeatureTypeStyle* fts, INT32 geomType);
 
     // member data
     Ptr<MgFeatureService> m_svcFeature;
     Ptr<MgResourceService> m_svcResource;
-    Ptr<MgdDrawingService> m_svcDrawing;
+    Ptr<MgPortableDrawingService> m_svcDrawing;
     Ptr<MgCoordinateSystemFactory> m_pCSFactory;
     
     // Mapping Service configuration properties

Modified: trunk/MgDev/Portable/MgPortable/Services/ProfilingService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ProfilingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ProfilingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,21 +20,21 @@
 #include "ProfileRenderMapResult.h"
 #include "SAX2Parser.h" 
 
-MgdProfilingService::MgdProfilingService()
+MgPortableProfilingService::MgPortableProfilingService()
 {
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    m_svcRendering = static_cast<MgdRenderingService*>(fact->CreateService(MgServiceType::RenderingService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    m_svcRendering = static_cast<MgPortableRenderingService*>(fact->CreateService(MgServiceType::RenderingService));
 }
 
-MgdProfilingService::~MgdProfilingService()
+MgPortableProfilingService::~MgPortableProfilingService()
 {
     SAFE_RELEASE(m_svcRendering);
 }
 
-MgByteReader* MgdProfilingService::ProfileRenderDynamicOverlay(
-        MgdMap* map,
-        MgdSelection* selection,
-        MgdRenderingOptions* options)
+MgByteReader* MgPortableProfilingService::ProfileRenderDynamicOverlay(
+        MgPortableMap* map,
+        MgPortableSelection* selection,
+        MgPortableRenderingOptions* options)
 {
     Ptr<MgByteReader> ret;
     
@@ -41,15 +41,15 @@
     MG_TRY()
 
     if (NULL == map)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdProfilingService::ProfileRenderDynamicOverlay", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableProfilingService::ProfileRenderDynamicOverlay", __LINE__, __WFILE__, NULL, L"", NULL);
 
     std::unique_ptr<ProfileRenderMapResult> pPRMResult; // a pointer points to Profile Render Map Result
     pPRMResult.reset(new ProfileRenderMapResult());
 
     // Start to profile the ProfileRenderDynamicOverlay process
-    double renderMapStart = MgdTimerUtil::GetTime(); 
+    double renderMapStart = MgPortableTimerUtil::GetTime(); 
     m_svcRendering->RenderDynamicOverlay(map, selection, options, pPRMResult.get());
-    double renderMapEnd = MgdTimerUtil::GetTime();
+    double renderMapEnd = MgPortableTimerUtil::GetTime();
 
     pPRMResult->SetRenderTime(renderMapEnd - renderMapStart);
     pPRMResult->SetProfileResultType(ProfileResult::ProfileRenderDynamicOverlay);
@@ -61,15 +61,15 @@
     string content = parser.SerializeToXML(pPRMResult.get(),version.get());
     ret = new MgByteReader(MgUtil::MultiByteToWideChar(content), MgMimeType::Xml);
 
-    MG_CATCH_AND_THROW(L"MgdProfilingService::ProfileRenderDynamicOverlay")
+    MG_CATCH_AND_THROW(L"MgPortableProfilingService::ProfileRenderDynamicOverlay")
 
     return ret.Detach();
 }
 
 
-MgByteReader* MgdProfilingService::ProfileRenderMap(
-        MgdMap* map,
-        MgdSelection* selection,
+MgByteReader* MgPortableProfilingService::ProfileRenderMap(
+        MgPortableMap* map,
+        MgPortableSelection* selection,
         MgCoordinate* center,
         double scale,
         INT32 width,
@@ -83,15 +83,15 @@
     MG_TRY()
 
     if (NULL == map)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdProfilingService::ProfileRenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableProfilingService::ProfileRenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
 
     std::unique_ptr<ProfileRenderMapResult> pPRMResult; // a pointer points to Profile Render Map Result
     pPRMResult.reset(new ProfileRenderMapResult());
 
     // Start to profile the ProfileRenderMap process
-    double renderMapStart = MgdTimerUtil::GetTime(); 
+    double renderMapStart = MgPortableTimerUtil::GetTime(); 
     m_svcRendering->RenderMap(map, selection, center, scale, width, height, backgroundColor, format, bKeepSelection, pPRMResult.get());
-    double renderMapEnd = MgdTimerUtil::GetTime();
+    double renderMapEnd = MgPortableTimerUtil::GetTime();
 
     pPRMResult->SetRenderTime(renderMapEnd - renderMapStart);
     pPRMResult->SetProfileResultType(ProfileResult::ProfileRenderMap);
@@ -103,7 +103,7 @@
     string content = parser.SerializeToXML(pPRMResult.get(),version.get());
     ret = new MgByteReader(MgUtil::MultiByteToWideChar(content), MgMimeType::Xml);
 
-    MG_CATCH_AND_THROW(L"MgdProfilingService::ProfileRenderMap")
+    MG_CATCH_AND_THROW(L"MgPortableProfilingService::ProfileRenderMap")
 
     return ret.Detach();
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/ProfilingService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ProfilingService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ProfilingService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,10 +1,10 @@
 #ifndef DESKTOP_PROFILING_SERVICE_H
 #define DESKTOP_PROFILING_SERVICE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MgdRenderingOptions;
-class MgdRenderingService;
+class MgPortableRenderingOptions;
+class MgPortableRenderingService;
 
 /// \ingroup Desktop_Service_Module
 /// \{
@@ -11,7 +11,7 @@
 
 /// \brief
 /// This class provides services to profile existing MapGuide APIs 
-class MG_DESKTOP_API MgdProfilingService : public MgService
+class MG_DESKTOP_API MgPortableProfilingService : public MgService
 {
 PUBLISHED_API:
 
@@ -34,9 +34,9 @@
     /// A byte reader containing the profile result
     ///
     virtual MgByteReader* ProfileRenderDynamicOverlay(
-        MgdMap* map,
-        MgdSelection* selection,
-        MgdRenderingOptions* options);
+        MgPortableMap* map,
+        MgPortableSelection* selection,
+        MgPortableRenderingOptions* options);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
@@ -75,8 +75,8 @@
     /// A byte reader containing the profile result
     ///
     virtual MgByteReader* ProfileRenderMap(
-        MgdMap* map,
-        MgdSelection* selection,
+        MgPortableMap* map,
+        MgPortableSelection* selection,
         MgCoordinate* center,
         double scale,
         INT32 width,
@@ -91,10 +91,10 @@
     /// \brief
     /// Construct an MgProfileService object.
     ///
-    MgdProfilingService();
+    MgPortableProfilingService();
 
 EXTERNAL_API:
-    virtual ~MgdProfilingService();
+    virtual ~MgPortableProfilingService();
 
 protected:
 
@@ -117,7 +117,7 @@
     virtual void Dispose() { delete this; }
 
 private:
-    MgdRenderingService* m_svcRendering;
+    MgPortableRenderingService* m_svcRendering;
 
 CLASS_ID:
     static const INT32 m_cls_id = MapGuide_Desktop_ProfilingService_ProfilingService;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/CustomLogoInfo.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "CustomLogoInfo.h"
 
 ///----------------------------------------------------------------------------
@@ -24,7 +24,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdCustomLogoInfo::MgdCustomLogoInfo() : m_dXPosition(0), m_dYPosition(0), m_positionUnits(L""),
+MgPortableCustomLogoInfo::MgPortableCustomLogoInfo() : m_dXPosition(0), m_dYPosition(0), m_positionUnits(L""),
     m_dSizeWidth(0), m_dSizeHeight(0), m_sizeUnits(L""),
     m_dRotation(0), m_resId(L""), m_name(L"")
 {
@@ -36,7 +36,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdCustomLogoInfo::~MgdCustomLogoInfo()
+MgPortableCustomLogoInfo::~MgPortableCustomLogoInfo()
 {
 }
 
@@ -50,7 +50,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetX(double xCoord)
+void MgPortableCustomLogoInfo::SetX(double xCoord)
 {
     m_dXPosition = xCoord;
 }
@@ -64,7 +64,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetY(double yCoord)
+void MgPortableCustomLogoInfo::SetY(double yCoord)
 {
     m_dYPosition = yCoord;
 }
@@ -78,7 +78,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetPositionUnits(STRING units)
+void MgPortableCustomLogoInfo::SetPositionUnits(STRING units)
 {
     m_positionUnits = units;
 }
@@ -92,7 +92,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetWidth(double width)
+void MgPortableCustomLogoInfo::SetWidth(double width)
 {
     m_dSizeWidth = width;
 }
@@ -106,7 +106,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetHeight(double height)
+void MgPortableCustomLogoInfo::SetHeight(double height)
 {
     m_dSizeHeight = height;
 }
@@ -120,7 +120,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetSizeUnits(STRING units)
+void MgPortableCustomLogoInfo::SetSizeUnits(STRING units)
 {
     m_sizeUnits = units;
 }
@@ -134,7 +134,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetRotation(double angle)
+void MgPortableCustomLogoInfo::SetRotation(double angle)
 {
     m_dRotation = angle;
 }
@@ -148,7 +148,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetResourceId(STRING resId)
+void MgPortableCustomLogoInfo::SetResourceId(STRING resId)
 {
     m_resId = resId;
 }
@@ -162,7 +162,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomLogoInfo::SetName(STRING name)
+void MgPortableCustomLogoInfo::SetName(STRING name)
 {
     m_name = name;
 }
@@ -176,7 +176,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomLogoInfo::GetX()
+double MgPortableCustomLogoInfo::GetX()
 {
     return m_dXPosition;
 }
@@ -190,7 +190,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomLogoInfo::GetY()
+double MgPortableCustomLogoInfo::GetY()
 {
     return m_dYPosition;
 }
@@ -204,7 +204,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomLogoInfo::GetPositionUnits()
+STRING MgPortableCustomLogoInfo::GetPositionUnits()
 {
     return m_positionUnits;
 }
@@ -218,7 +218,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomLogoInfo::GetWidth()
+double MgPortableCustomLogoInfo::GetWidth()
 {
     return m_dSizeWidth;
 }
@@ -232,7 +232,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomLogoInfo::GetHeight()
+double MgPortableCustomLogoInfo::GetHeight()
 {
     return m_dSizeHeight;
 }
@@ -246,7 +246,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomLogoInfo::GetSizeUnits()
+STRING MgPortableCustomLogoInfo::GetSizeUnits()
 {
     return m_sizeUnits;
 }
@@ -260,7 +260,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomLogoInfo::GetRotation()
+double MgPortableCustomLogoInfo::GetRotation()
 {
     return m_dRotation;
 }
@@ -274,7 +274,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomLogoInfo::GetResourceId()
+STRING MgPortableCustomLogoInfo::GetResourceId()
 {
     return m_resId;
 }
@@ -288,7 +288,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomLogoInfo::GetName()
+STRING MgPortableCustomLogoInfo::GetName()
 {
     return m_name;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/CustomLogoInfo.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,14 +19,14 @@
 #define DESKTOP_CUSTOM_LOGO_INFO_H
 
 /// \cond INTERNAL
-class MG_DESKTOP_API MgdCustomLogoInfo
+class MG_DESKTOP_API MgPortableCustomLogoInfo
 {
-    DECLARE_CLASSNAME(MgdCustomLogoInfo)
+    DECLARE_CLASSNAME(MgPortableCustomLogoInfo)
 
 public:
     /// Default Constructor
-    MgdCustomLogoInfo();
-    ~MgdCustomLogoInfo();
+    MgPortableCustomLogoInfo();
+    ~MgPortableCustomLogoInfo();
 
     /// Accessors
     void SetX(double xCoord);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/CustomTextInfo.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "CustomTextInfo.h"
 
 ///----------------------------------------------------------------------------
@@ -24,7 +24,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdCustomTextInfo::MgdCustomTextInfo()
+MgPortableCustomTextInfo::MgPortableCustomTextInfo()
 {
     m_dXPosition = 0.0;
     m_dYPosition = 0.0;
@@ -37,7 +37,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdCustomTextInfo::~MgdCustomTextInfo()
+MgPortableCustomTextInfo::~MgPortableCustomTextInfo()
 {
 }
 
@@ -50,7 +50,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetX(double xCoord)
+void MgPortableCustomTextInfo::SetX(double xCoord)
 {
     m_dXPosition = xCoord;
 }
@@ -64,7 +64,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetY(double yCoord)
+void MgPortableCustomTextInfo::SetY(double yCoord)
 {
     m_dYPosition = yCoord;
 }
@@ -78,7 +78,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetPositionUnits(STRING units)
+void MgPortableCustomTextInfo::SetPositionUnits(STRING units)
 {
     m_positionUnits = units;
 }
@@ -91,7 +91,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetValue(STRING value)
+void MgPortableCustomTextInfo::SetValue(STRING value)
 {
     m_value = value;
 }
@@ -105,7 +105,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetFontName(STRING fontName)
+void MgPortableCustomTextInfo::SetFontName(STRING fontName)
 {
     m_fontName = fontName;
 }
@@ -119,7 +119,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetFontHeight(double height)
+void MgPortableCustomTextInfo::SetFontHeight(double height)
 {
     m_fontHeight = height;
 }
@@ -133,7 +133,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-void MgdCustomTextInfo::SetSizeUnits(STRING units)
+void MgPortableCustomTextInfo::SetSizeUnits(STRING units)
 {
     m_sizeUnits = units;
 }
@@ -147,7 +147,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomTextInfo::GetX()
+double MgPortableCustomTextInfo::GetX()
 {
     return m_dXPosition;
 }
@@ -161,7 +161,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomTextInfo::GetY()
+double MgPortableCustomTextInfo::GetY()
 {
     return m_dYPosition;
 }
@@ -175,7 +175,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomTextInfo::GetPositionUnits()
+STRING MgPortableCustomTextInfo::GetPositionUnits()
 {
     return m_positionUnits;
 }
@@ -189,7 +189,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomTextInfo::GetValue()
+STRING MgPortableCustomTextInfo::GetValue()
 {
     return m_value;
 }
@@ -203,7 +203,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomTextInfo::GetFontName()
+STRING MgPortableCustomTextInfo::GetFontName()
 {
     return m_fontName;
 }
@@ -217,7 +217,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-double MgdCustomTextInfo::GetFontHeight()
+double MgPortableCustomTextInfo::GetFontHeight()
 {
     return m_fontHeight;
 }
@@ -231,7 +231,7 @@
 /// </return>
 ///----------------------------------------------------------------------------
 
-STRING MgdCustomTextInfo::GetSizeUnits()
+STRING MgPortableCustomTextInfo::GetSizeUnits()
 {
     return m_sizeUnits;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/CustomTextInfo.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/CustomTextInfo.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,14 +19,14 @@
 #define DESKTOP_CUSTOM_TEXT_INFO_H
 
 /// \cond INTERNAL
-class MG_DESKTOP_API MgdCustomTextInfo
+class MG_DESKTOP_API MgPortableCustomTextInfo
 {
-    DECLARE_CLASSNAME(MgdCustomTextInfo)
+    DECLARE_CLASSNAME(MgPortableCustomTextInfo)
 
 public:
     /// Default Constructor
-    MgdCustomTextInfo();
-    ~MgdCustomTextInfo();
+    MgPortableCustomTextInfo();
+    ~MgPortableCustomTextInfo();
 
     /// Accessors
     void SetX(double xCoord);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/DwfVersion.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,13 +15,13 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-MG_IMPL_DYNCREATE(MgdDwfVersion)
+MG_IMPL_DYNCREATE(MgPortableDwfVersion)
 
 // Create a DWF specification.  The DWF is specified by both schema and file version
 //
-MgdDwfVersion::MgdDwfVersion(CREFSTRING fileVersion, CREFSTRING schemaVersion)
+MgPortableDwfVersion::MgPortableDwfVersion(CREFSTRING fileVersion, CREFSTRING schemaVersion)
 {
     m_fileVersion = fileVersion;
     m_schemaVersion = schemaVersion;
@@ -29,7 +29,7 @@
 
 // Returns the specified DWF file version string
 //
-STRING MgdDwfVersion::GetFileVersion()
+STRING MgPortableDwfVersion::GetFileVersion()
 {
     return m_fileVersion;
 }
@@ -36,7 +36,7 @@
 
 // Sets the supported/required client-side file version for DWF.
 //
-void MgdDwfVersion::SetFileVersion(CREFSTRING fileVersion)
+void MgPortableDwfVersion::SetFileVersion(CREFSTRING fileVersion)
 {
     m_fileVersion = fileVersion;
 }
@@ -43,7 +43,7 @@
 
 // Returns the specified DWF schema version
 //
-STRING MgdDwfVersion::GetSchemaVersion()
+STRING MgPortableDwfVersion::GetSchemaVersion()
 {
     return m_schemaVersion;
 }
@@ -50,7 +50,7 @@
 
 // Sets the supported/required client-side schema version for DWF.
 //
-void MgdDwfVersion::SetSchemaVersion(CREFSTRING schemaVersion)
+void MgPortableDwfVersion::SetSchemaVersion(CREFSTRING schemaVersion)
 {
     m_schemaVersion = schemaVersion;
 }
@@ -57,7 +57,7 @@
 
 // Serialize data to a stream
 //
-void MgdDwfVersion::Serialize(MgStream* stream)
+void MgPortableDwfVersion::Serialize(MgStream* stream)
 {
     stream->WriteString(m_fileVersion);
     stream->WriteString(m_schemaVersion);
@@ -65,7 +65,7 @@
 
 // Deserialize data from a stream
 //
-void MgdDwfVersion::Deserialize(MgStream* stream)
+void MgPortableDwfVersion::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 
@@ -75,6 +75,6 @@
 
 // Default ctor
 //
-MgdDwfVersion::MgdDwfVersion()
+MgPortableDwfVersion::MgPortableDwfVersion()
 {
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/DwfVersion.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/DwfVersion.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -30,10 +30,10 @@
 /// These parameters should be set by the client so the MapGuide
 /// server generates client-side compatible DWFs.
 ///
-class MG_DESKTOP_API MgdDwfVersion : public MgSerializable
+class MG_DESKTOP_API MgPortableDwfVersion : public MgSerializable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdDwfVersion)
+    DECLARE_CLASSNAME(MgPortableDwfVersion)
 
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
@@ -42,13 +42,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdDwfVersion(string fileVersion, string schemaVersion);
+    /// MgPortableDwfVersion(string fileVersion, string schemaVersion);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdDwfVersion(String fileVersion, String schemaVersion);
+    /// MgPortableDwfVersion(String fileVersion, String schemaVersion);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdDwfVersion(string fileVersion, string schemaVersion);
+    /// MgPortableDwfVersion(string fileVersion, string schemaVersion);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param fileVersion (String/string)
@@ -64,11 +64,11 @@
     /// <!-- Example (PHP) -->
     /// \htmlinclude PHPExampleTop.html
     /// \code
-    /// $dwfVersion = new MgdDwfVersion('6.01','1.2');
+    /// $dwfVersion = new MgPortableDwfVersion('6.01','1.2');
     /// \endcode
     /// \htmlinclude ExampleBottom.html
     ///
-    MgdDwfVersion(CREFSTRING fileVersion, CREFSTRING schemaVersion);
+    MgPortableDwfVersion(CREFSTRING fileVersion, CREFSTRING schemaVersion);
 
     //////////////////////////////////////////////
     /// \brief
@@ -187,7 +187,7 @@
     /// \brief
     /// Default constructor to shut Ptr<> up.
     ///
-    MgdDwfVersion();
+    MgPortableDwfVersion();
 
     //////////////////////////////////////////////////////////////////
     /// \brief

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/FeatureInfoRenderer.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,7 +20,7 @@
 #include "RSMgFeatureReader.h"
 
 
-MgdFeatureInfoRenderer::MgdFeatureInfoRenderer(MgdSelection* selection, int maxFeatures, double mapScale, double* point, SE_Renderer* impRenderer)
+MgPortableFeatureInfoRenderer::MgPortableFeatureInfoRenderer(MgPortableSelection* selection, int maxFeatures, double mapScale, double* point, SE_Renderer* impRenderer)
 : m_extents(0.0, 0.0, 1.0, 1.0),
   m_numFeatures(0),
   m_url(L""),
@@ -49,7 +49,7 @@
 }
 
 
-MgdFeatureInfoRenderer::~MgdFeatureInfoRenderer()
+MgPortableFeatureInfoRenderer::~MgPortableFeatureInfoRenderer()
 {
     SAFE_RELEASE(m_props);
     SAFE_RELEASE(m_selection);
@@ -58,7 +58,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::StartFeature(RS_FeatureReader* feature,
+void MgPortableFeatureInfoRenderer::StartFeature(RS_FeatureReader* feature,
                                        bool initialPass,
                                        const RS_String* tooltip,
                                        const RS_String* url,
@@ -141,7 +141,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::StartMap(RS_MapUIInfo*    mapInfo,
+void MgPortableFeatureInfoRenderer::StartMap(RS_MapUIInfo*    mapInfo,
                                    RS_Bounds&       extents,
                                    double           /*mapScale*/,
                                    double           dpi,
@@ -165,7 +165,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::EndMap()
+void MgPortableFeatureInfoRenderer::EndMap()
 {
     if(m_impRenderer)
     {
@@ -178,7 +178,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::StartLayer(RS_LayerUIInfo*      layerInfo,
+void MgPortableFeatureInfoRenderer::StartLayer(RS_LayerUIInfo*      layerInfo,
                                      RS_FeatureClassInfo* classInfo)
 {
     // remember the layer/feature info
@@ -190,7 +190,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::EndLayer()
+void MgPortableFeatureInfoRenderer::EndLayer()
 {
     // clear the layer/feature info
     m_layerInfo = NULL;
@@ -198,7 +198,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::ProcessMarker(LineBuffer*   lb,
+void MgPortableFeatureInfoRenderer::ProcessMarker(LineBuffer*   lb,
                                         RS_MarkerDef& mdef,
                                         bool          allowOverpost,
                                         RS_Bounds*    bounds)
@@ -239,7 +239,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawScreenPolyline(LineBuffer* polyline, const SE_Matrix* xform, const SE_LineStroke& lineStroke)
+void MgPortableFeatureInfoRenderer::DrawScreenPolyline(LineBuffer* polyline, const SE_Matrix* xform, const SE_LineStroke& lineStroke)
 {
     if(m_pointTest && m_featurePending)
     {
@@ -258,7 +258,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawScreenPolygon(LineBuffer* polygon, const SE_Matrix* xform, unsigned int fill)
+void MgPortableFeatureInfoRenderer::DrawScreenPolygon(LineBuffer* polygon, const SE_Matrix* xform, unsigned int fill)
 {
     // treat polygons as polylines
     SE_LineStroke lineStroke(fill, 0.0, SE_LineCap_Round, SE_LineJoin_Round, 5.0);
@@ -266,7 +266,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawScreenRaster(unsigned char* data, int length,
+void MgPortableFeatureInfoRenderer::DrawScreenRaster(unsigned char* data, int length,
                                            RS_ImageFormat format, int native_width, int native_height,
                                            double x, double y, double w, double h, double angleDeg)
 {
@@ -285,7 +285,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawScreenRaster(unsigned char* data, int length,
+void MgPortableFeatureInfoRenderer::DrawScreenRaster(unsigned char* data, int length,
                                            RS_ImageFormat format, int native_width, int native_height,
                                            double x, double y, double w, double h, double angleDeg,
                                            double alpha)
@@ -294,7 +294,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawScreenText(const RS_TextMetrics& tm, RS_TextDef& tdef, double insx, double insy,
+void MgPortableFeatureInfoRenderer::DrawScreenText(const RS_TextMetrics& tm, RS_TextDef& tdef, double insx, double insy,
                                          RS_F_Point* path, int npts, double param_position)
 {
     if (m_pointTest && m_featurePending)
@@ -331,7 +331,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::SetSelected()
+void MgPortableFeatureInfoRenderer::SetSelected()
 {
     m_selection->Add(m_layerId, m_fcName, m_id);
     m_numFeatures++;
@@ -352,13 +352,13 @@
 }
 
 
-bool MgdFeatureInfoRenderer::YPointsUp()
+bool MgPortableFeatureInfoRenderer::YPointsUp()
 {
     return m_impRenderer? m_impRenderer->YPointsUp() : true;
 }
 
 
-void MgdFeatureInfoRenderer::GetWorldToScreenTransform(SE_Matrix& xform)
+void MgPortableFeatureInfoRenderer::GetWorldToScreenTransform(SE_Matrix& xform)
 {
     xform.x0 = m_scale;
     xform.x1 = 0.0;
@@ -369,7 +369,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::WorldToScreenPoint(double& inx, double& iny, double& ox, double& oy)
+void MgPortableFeatureInfoRenderer::WorldToScreenPoint(double& inx, double& iny, double& ox, double& oy)
 {
     ox = inx * m_scale;
     oy = (YPointsUp()? iny : -iny) * m_scale;
@@ -376,7 +376,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::ScreenToWorldPoint(double& inx, double& iny, double& ox, double& oy)
+void MgPortableFeatureInfoRenderer::ScreenToWorldPoint(double& inx, double& iny, double& ox, double& oy)
 {
     ox = inx / m_scale;
     oy = (YPointsUp()? iny : -iny) / m_scale;
@@ -384,7 +384,7 @@
 
 
 // returns number of pixels per millimeter device
-double MgdFeatureInfoRenderer::GetScreenUnitsPerMillimeterDevice()
+double MgPortableFeatureInfoRenderer::GetScreenUnitsPerMillimeterDevice()
 {
     return m_dpi / MILLIMETERS_PER_INCH;
 }
@@ -391,7 +391,7 @@
 
 
 // returns number of pixels per millimeter world
-double MgdFeatureInfoRenderer::GetScreenUnitsPerMillimeterWorld()
+double MgPortableFeatureInfoRenderer::GetScreenUnitsPerMillimeterWorld()
 {
     return m_dpi / MILLIMETERS_PER_INCH / m_mapScale;
 }
@@ -398,43 +398,43 @@
 
 
 // screen units are pixels
-double MgdFeatureInfoRenderer::GetScreenUnitsPerPixel()
+double MgPortableFeatureInfoRenderer::GetScreenUnitsPerPixel()
 {
     return 1.0;
 }
 
 
-RS_FontEngine* MgdFeatureInfoRenderer::GetRSFontEngine()
+RS_FontEngine* MgPortableFeatureInfoRenderer::GetRSFontEngine()
 {
     return this;
 }
 
 
-RS_MapUIInfo* MgdFeatureInfoRenderer::GetMapInfo()
+RS_MapUIInfo* MgPortableFeatureInfoRenderer::GetMapInfo()
 {
     return m_mapInfo;
 }
 
 
-RS_LayerUIInfo* MgdFeatureInfoRenderer::GetLayerInfo()
+RS_LayerUIInfo* MgPortableFeatureInfoRenderer::GetLayerInfo()
 {
     return m_layerInfo;
 }
 
 
-RS_FeatureClassInfo* MgdFeatureInfoRenderer::GetFeatureClassInfo()
+RS_FeatureClassInfo* MgPortableFeatureInfoRenderer::GetFeatureClassInfo()
 {
     return m_fcInfo;
 }
 
 
-double MgdFeatureInfoRenderer::GetMapScale()
+double MgPortableFeatureInfoRenderer::GetMapScale()
 {
     return m_mapScale;
 }
 
 
-double MgdFeatureInfoRenderer::GetDrawingScale()
+double MgPortableFeatureInfoRenderer::GetDrawingScale()
 {
     // compute drawing scale
     // drawing scale is map scale converted to [mapping units] / [pixels]
@@ -443,37 +443,37 @@
 }
 
 
-double MgdFeatureInfoRenderer::GetMetersPerUnit()
+double MgPortableFeatureInfoRenderer::GetMetersPerUnit()
 {
     return m_metersPerUnit;
 }
 
 
-double MgdFeatureInfoRenderer::GetDpi()
+double MgPortableFeatureInfoRenderer::GetDpi()
 {
     return m_dpi;
 }
 
 
-RS_Bounds& MgdFeatureInfoRenderer::GetBounds()
+RS_Bounds& MgPortableFeatureInfoRenderer::GetBounds()
 {
     return m_extents;
 }
 
 
-bool MgdFeatureInfoRenderer::RequiresClipping()
+bool MgPortableFeatureInfoRenderer::RequiresClipping()
 {
     return false;
 }
 
 
-bool MgdFeatureInfoRenderer::RequiresLabelClipping()
+bool MgPortableFeatureInfoRenderer::RequiresLabelClipping()
 {
     return false;
 }
 
 
-bool MgdFeatureInfoRenderer::SupportsZ()
+bool MgPortableFeatureInfoRenderer::SupportsZ()
 {
     // Z values in feature geometry are ignored
     return false;
@@ -480,13 +480,13 @@
 }
 
 
-bool MgdFeatureInfoRenderer::RequiresCompositeLineStyleSeparation()
+bool MgPortableFeatureInfoRenderer::RequiresCompositeLineStyleSeparation()
 {
     return false;
 }
 
 
-void MgdFeatureInfoRenderer::MeasureString(const RS_String& s,
+void MgPortableFeatureInfoRenderer::MeasureString(const RS_String& s,
                                         double           height,
                                         const RS_Font*   font,
                                         double           angleRad,
@@ -498,7 +498,7 @@
 }
 
 
-void MgdFeatureInfoRenderer::DrawString(const RS_String& s,
+void MgPortableFeatureInfoRenderer::DrawString(const RS_String& s,
                                      double           x,
                                      double           y,
                                      double           width,
@@ -510,7 +510,7 @@
 }
 
 
-const RS_Font* MgdFeatureInfoRenderer::FindFont(RS_FontDef& def)
+const RS_Font* MgPortableFeatureInfoRenderer::FindFont(RS_FontDef& def)
 {
     return m_impRenderer? m_impRenderer->GetRSFontEngine()->FindFont(def) : NULL;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/FeatureInfoRenderer.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -31,15 +31,15 @@
 //RenderingService API. Accumulates feature IDs and also attributes
 //for one feature (case where a tooltip or attribute info needs to
 //be displayed in the AJAX viewer)
-class MG_DESKTOP_API MgdFeatureInfoRenderer : public SE_Renderer, public RS_FontEngine
+class MG_DESKTOP_API MgPortableFeatureInfoRenderer : public SE_Renderer, public RS_FontEngine
 {
 public:
-    MgdFeatureInfoRenderer(MgdSelection* selection,
+    MgPortableFeatureInfoRenderer(MgPortableSelection* selection,
                         int maxFeatures,
                         double mapScale,
                         double* point = NULL,
                         SE_Renderer* impRenderer = NULL);
-    virtual ~MgdFeatureInfoRenderer();
+    virtual ~MgPortableFeatureInfoRenderer();
 
     ///////////////////////////////////
     // Renderer implementation
@@ -199,7 +199,7 @@
     virtual const RS_Font* FindFont(RS_FontDef& def);
 
     ///////////////////////////////////////////////////////////////////////
-    // MgdFeatureInfoRenderer functions
+    // MgPortableFeatureInfoRenderer functions
 
     int GetNumFeaturesProcessed()
     {
@@ -239,7 +239,7 @@
     void SetSelected();
 
 protected:
-    //common to FeaturePropRenderer and MgdFeatureInfoRenderer
+    //common to FeaturePropRenderer and MgPortableFeatureInfoRenderer
     RS_String m_layerId;
     RS_String m_fcName;
 
@@ -253,7 +253,7 @@
     RS_LayerUIInfo* m_layerInfo;
     RS_FeatureClassInfo* m_fcInfo;
 
-    MgdSelection* m_selection;
+    MgPortableSelection* m_selection;
 
     RS_Bounds m_extents;
     double m_mapScale;
@@ -262,7 +262,7 @@
     double m_scale;
 
 private:
-    //specific to MgdFeatureInfoRenderer
+    //specific to MgPortableFeatureInfoRenderer
     RS_String m_url;
     RS_String m_tooltip;
     MgPropertyCollection* m_props;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/FeatureInformation.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,22 +15,22 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-MG_IMPL_DYNCREATE(MgdFeatureInformation)
+MG_IMPL_DYNCREATE(MgPortableFeatureInformation)
 
 /////////////////////////////////////////
 // Get the selection set the described features are part of.
 //
-MgdSelection* MgdFeatureInformation::GetSelection()
+MgPortableSelection* MgPortableFeatureInformation::GetSelection()
 {
-    return SAFE_ADDREF((MgdSelection*)m_selection);
+    return SAFE_ADDREF((MgPortableSelection*)m_selection);
 }
 
 /////////////////////////////////////////
 // Get the tooltip text
 //
-STRING MgdFeatureInformation::GetTooltip()
+STRING MgPortableFeatureInformation::GetTooltip()
 {
     return m_tooltip;
 }
@@ -38,7 +38,7 @@
 /////////////////////////////////////////
 // Get the hyperlink URL text
 //
-STRING MgdFeatureInformation::GetHyperlink()
+STRING MgPortableFeatureInformation::GetHyperlink()
 {
     return m_hyperlink;
 }
@@ -46,7 +46,7 @@
 /////////////////////////////////////////
 // Get the collection of properties for the described feature.
 //
-MgPropertyCollection* MgdFeatureInformation::GetProperties()
+MgPropertyCollection* MgPortableFeatureInformation::GetProperties()
 {
     return SAFE_ADDREF((MgPropertyCollection*)m_properties);
 }
@@ -54,7 +54,7 @@
 /////////////////////////////////////////
 // Write feature information as XML document.
 //
-MgByteReader* MgdFeatureInformation::ToXml()
+MgByteReader* MgPortableFeatureInformation::ToXml()
 {
     STRING xml;
     STRING xmlSelection = m_selection? m_selection->ToXml(false): L"";
@@ -114,7 +114,7 @@
 /////////////////////////////////////////
 // Construct an empty MgFeatureInformation object
 //
-MgdFeatureInformation::MgdFeatureInformation()
+MgPortableFeatureInformation::MgPortableFeatureInformation()
 {
 }
 
@@ -121,15 +121,15 @@
 /////////////////////////////////////////
 // Set the selection
 //
-void MgdFeatureInformation::SetSelection(MgdSelection* selection)
+void MgPortableFeatureInformation::SetSelection(MgPortableSelection* selection)
 {
-    m_selection = SAFE_ADDREF((MgdSelection*)selection);
+    m_selection = SAFE_ADDREF((MgPortableSelection*)selection);
 }
 
 /////////////////////////////////////////
 // Set the properties
 //
-void MgdFeatureInformation::SetProperties(MgPropertyCollection* properties)
+void MgPortableFeatureInformation::SetProperties(MgPropertyCollection* properties)
 {
     m_properties = SAFE_ADDREF((MgPropertyCollection*)properties);
 }
@@ -137,7 +137,7 @@
 /////////////////////////////////////////
 // Set the tooltip text
 //
-void MgdFeatureInformation::SetTooltip(CREFSTRING tooltip)
+void MgPortableFeatureInformation::SetTooltip(CREFSTRING tooltip)
 {
     m_tooltip = tooltip;
 }
@@ -145,7 +145,7 @@
 /////////////////////////////////////////
 // Set the hyperlink URL
 //
-void MgdFeatureInformation::SetHyperlink(CREFSTRING hyperlink)
+void MgPortableFeatureInformation::SetHyperlink(CREFSTRING hyperlink)
 {
     m_hyperlink = hyperlink;
 }
@@ -153,7 +153,7 @@
 /////////////////////////////////////////
 // Serialize to a stream
 //
-void MgdFeatureInformation::Serialize(MgStream* stream)
+void MgPortableFeatureInformation::Serialize(MgStream* stream)
 {
     stream->WriteString(m_selection->ToXml());
     stream->WriteString(m_tooltip);
@@ -164,13 +164,13 @@
 /////////////////////////////////////////
 // Deserialize from a stream
 //
-void MgdFeatureInformation::Deserialize(MgStream* stream)
+void MgPortableFeatureInformation::Deserialize(MgStream* stream)
 {
     STRING xml;
     stream->GetString(xml);
     if(xml.length() > 0)
     {
-        m_selection = new MgdSelection();
+        m_selection = new MgPortableSelection();
         m_selection->FromXml(xml);
     }
     stream->GetString(m_tooltip);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/FeatureInformation.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/FeatureInformation.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,10 +18,10 @@
 #ifndef _MG_FEATUREINFORMATION_H_
 #define _MG_FEATUREINFORMATION_H_
 
-class MgdFeatureInformation;
-template class MG_DESKTOP_API Ptr<MgdFeatureInformation>;
+class MgPortableFeatureInformation;
+template class MG_DESKTOP_API Ptr<MgPortableFeatureInformation>;
 
-class MgdSelection;
+class MgPortableSelection;
 /// \ingroup Desktop_Misc_Module
 /// \{
 ///////////////////////////////////////////////////////////
@@ -28,10 +28,10 @@
 /// \brief
 /// Information about features.
 ///
-class MG_DESKTOP_API MgdFeatureInformation : public MgSerializable
+class MG_DESKTOP_API MgPortableFeatureInformation : public MgSerializable
 {
     MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgdFeatureInformation)
+    DECLARE_CLASSNAME(MgPortableFeatureInformation)
 
 PUBLISHED_API:
 
@@ -50,7 +50,7 @@
     /// MgSelection GetSelection();
     /// \htmlinclude SyntaxBottom.html
     ///
-    MgdSelection* GetSelection();
+    MgPortableSelection* GetSelection();
 
     /////////////////////////////////////////
     /// \brief
@@ -130,12 +130,12 @@
     /////////////////////////////////////////
     /// Construct an empty MgFeatureInformation object
     ///
-    MgdFeatureInformation();
+    MgPortableFeatureInformation();
 
     /////////////////////////////////////////
     /// Set the selection
     ///
-    void SetSelection(MgdSelection* selection);
+    void SetSelection(MgPortableSelection* selection);
 
     /////////////////////////////////////////
     /// Set the properties
@@ -181,7 +181,7 @@
     }
 
 private:
-    Ptr<MgdSelection>            m_selection;
+    Ptr<MgPortableSelection>            m_selection;
     Ptr<MgPropertyCollection>   m_properties;
     STRING                      m_tooltip;
     STRING                      m_hyperlink;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/Layout.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,26 +15,26 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-MG_IMPL_DYNCREATE(MgdLayout)
+MG_IMPL_DYNCREATE(MgPortableLayout)
 
-// Default Constructor for a MgdLayout object
+// Default Constructor for a MgPortableLayout object
 //
-MgdLayout::MgdLayout()
+MgPortableLayout::MgPortableLayout()
 {
 }
 
-// Construct a MgdLayout object
+// Construct a MgPortableLayout object
 //
-MgdLayout::MgdLayout(MgResourceIdentifier* layoutDefinition, CREFSTRING title, CREFSTRING unitType) :
+MgPortableLayout::MgPortableLayout(MgResourceIdentifier* layoutDefinition, CREFSTRING title, CREFSTRING unitType) :
     m_title(title), m_unitType(unitType)
 {
     m_layout = SAFE_ADDREF(layoutDefinition);
 }
 
-// Destructor for MgdLayout
-MgdLayout::~MgdLayout()
+// Destructor for MgPortableLayout
+MgPortableLayout::~MgPortableLayout()
 {
     if (m_layout)
     {
@@ -44,25 +44,25 @@
 
 // Get the layout to use when generating the EPlot DWF.  If not specified, then the plotted map
 // will fill the space within the page margins.
-MgResourceIdentifier* MgdLayout::GetLayout()
+MgResourceIdentifier* MgPortableLayout::GetLayout()
 {
     return SAFE_ADDREF(m_layout);
 }
 
 // Set the layout to use when generating the EPlot DWF.
-void MgdLayout::SetLayout(MgResourceIdentifier* plotLayout)
+void MgPortableLayout::SetLayout(MgResourceIdentifier* plotLayout)
 {
     m_layout = plotLayout;
 }
 
 // Get the title
-STRING MgdLayout::GetTitle()
+STRING MgPortableLayout::GetTitle()
 {
     return m_title;
 }
 
 // Set the title
-void MgdLayout::SetTitle(CREFSTRING title)
+void MgPortableLayout::SetTitle(CREFSTRING title)
 {
     m_title = title;
 }
@@ -70,13 +70,13 @@
 // Get the layout scale units.  This value determines the units used
 // in the scale bar definition.  This value is ignored if a layout is not
 // specified.
-STRING MgdLayout::GetUnitType()
+STRING MgPortableLayout::GetUnitType()
 {
     return m_unitType;
 }
 
 // Set the layout scale units.
-void MgdLayout::SetUnitType(CREFSTRING unitType)
+void MgPortableLayout::SetUnitType(CREFSTRING unitType)
 {
     m_unitType = unitType;
 }
@@ -83,7 +83,7 @@
 
 // Serialize data to a stream
 //
-void MgdLayout::Serialize(MgStream* stream)
+void MgPortableLayout::Serialize(MgStream* stream)
 {
     stream->WriteObject(m_layout);
     stream->WriteString(m_title);
@@ -92,7 +92,7 @@
 
 // Deserialize data from a stream
 //
-void MgdLayout::Deserialize(MgStream* stream)
+void MgPortableLayout::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/Layout.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/Layout.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -28,25 +28,25 @@
 /// \brief
 /// Specifies the ResourceId of the PrintLayout to use for a particular
 /// map, the title and the type of units to use in the layout.
-class MG_DESKTOP_API MgdLayout : public MgSerializable
+class MG_DESKTOP_API MgPortableLayout : public MgSerializable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdLayout)
+    DECLARE_CLASSNAME(MgPortableLayout)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Initializes a new MgdLayout object given a layout definition, title and unit type.
+    /// Initializes a new MgPortableLayout object given a layout definition, title and unit type.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdLayout(MgResourceIdentifier layoutDefinition, string title, string unitType);
+    /// MgPortableLayout(MgResourceIdentifier layoutDefinition, string title, string unitType);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdLayout(MgResourceIdentifier layoutDefinition, String title, String unitType);
+    /// MgPortableLayout(MgResourceIdentifier layoutDefinition, String title, String unitType);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdLayout(MgResourceIdentifier layoutDefinition, string title, string unitType);
+    /// MgPortableLayout(MgResourceIdentifier layoutDefinition, string title, string unitType);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param layoutDefinition (MgResourceIdentifier)
@@ -61,7 +61,7 @@
     /// \return
     /// Nothing
     ///
-    MgdLayout(MgResourceIdentifier* layoutDefinition, CREFSTRING title, CREFSTRING unitType);
+    MgPortableLayout(MgResourceIdentifier* layoutDefinition, CREFSTRING title, CREFSTRING unitType);
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -230,18 +230,18 @@
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Construct an MgdLayout object.
+    /// Construct an MgPortableLayout object.
     ///
     /// \return
     /// Nothing
     ///
-    MgdLayout();
+    MgPortableLayout();
 
     //////////////////////////////////////////////////////////////////
     /// \brief
-    /// Destroy a MgdLayout object
+    /// Destroy a MgPortableLayout object
     ///
-    ~MgdLayout();
+    ~MgPortableLayout();
 
     //////////////////////////////////////////////////////////////////
     /// \brief

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/LegendPlotUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -45,32 +45,32 @@
 }
 
 
-MgdLegendPlotUtil::MgdLegendPlotUtil(MgResourceService* svcResource)
+MgPortableLegendPlotUtil::MgPortableLegendPlotUtil(MgResourceService* svcResource)
 {
     m_svcResource = SAFE_ADDREF(svcResource);
 
     // get the name of the font to use with the legend
     MgConfiguration* pConf = MgConfiguration::GetInstance();
-    pConf->GetStringValue(MgdConfigProperties::MappingServicePropertiesSection,
-                          MgdConfigProperties::MappingServicePropertyLegendFont,
+    pConf->GetStringValue(MgPortableConfigProperties::MappingServicePropertiesSection,
+                          MgPortableConfigProperties::MappingServicePropertyLegendFont,
                           m_legendFontName,
-                          MgdConfigProperties::DefaultMappingServicePropertyLegendFont);
+                          MgPortableConfigProperties::DefaultMappingServicePropertyLegendFont);
     assert(m_legendFontName.length() > 0);
 }
 
 
-MgdLegendPlotUtil::~MgdLegendPlotUtil()
+MgPortableLegendPlotUtil::~MgPortableLegendPlotUtil()
 {
     SAFE_RELEASE(m_svcResource);
 }
 
 
-void MgdLegendPlotUtil::AddLegendElement(double dMapScale, Renderer& dr, MgdMap* map, MgdPlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY)
+void MgPortableLegendPlotUtil::AddLegendElement(double dMapScale, Renderer& dr, MgPortableMap* map, MgPortablePlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY)
 {
     if (NULL == map || NULL == legendSpec)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdLegendPlotUtil.AddLegendElement", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortableLegendPlotUtil.AddLegendElement", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     STRING pageUnits = legendSpec->GetPageSizeUnits();
@@ -105,7 +105,7 @@
 }
 
 
-void MgdLegendPlotUtil::BuildLegendContent(MgdMap* map, double scale, MgdPlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY, Renderer& dr, double convertUnits)
+void MgPortableLegendPlotUtil::BuildLegendContent(MgPortableMap* map, double scale, MgPortablePlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY, Renderer& dr, double convertUnits)
 {
     RS_TextDef textDef;
     RS_FontDef fontDef(m_legendFontName, legendFontHeightMeters, RS_FontStyle_Regular, RS_Units_Device);
@@ -134,7 +134,7 @@
     ProcessLayersForLegend(map, scale, NULL, x, y, textDef, dr, legendSpec, legendOffsetY, convertUnits, visibleLayers, groupChildren);
 }
 
-void MgdLegendPlotUtil::CompileInformation(MgdMap* map, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
+void MgPortableLegendPlotUtil::CompileInformation(MgPortableMap* map, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
 {
     Ptr<MgLayerCollection> layers = map->GetLayers();
     Ptr<MgLayerGroupCollection> groups = map->GetLayerGroups();
@@ -172,7 +172,7 @@
     }
 }
 
-void MgdLegendPlotUtil::ProcessLayersForLegend(MgdMap* map, double mapScale, MgLayerGroup* mggroup, double startX, double& startY, RS_TextDef textDef, Renderer& dr, MgdPlotSpecification* legendSpec, double legendOffsetY, double convertUnits, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
+void MgPortableLegendPlotUtil::ProcessLayersForLegend(MgPortableMap* map, double mapScale, MgLayerGroup* mggroup, double startX, double& startY, RS_TextDef textDef, Renderer& dr, MgPortablePlotSpecification* legendSpec, double legendOffsetY, double convertUnits, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
 {
     double x;
     double &y = startY;
@@ -369,7 +369,7 @@
                     theFTS = singleFTS;
 
                 //otherwise pick the icon from the only rule
-                Ptr<MgByteReader> layerIcon = MgdMappingUtil::DrawFTS(m_svcResource, theFTS, bitmapPixelWidth, bitmapPixelHeight, 0);
+                Ptr<MgByteReader> layerIcon = MgPortableMappingUtil::DrawFTS(m_svcResource, theFTS, bitmapPixelWidth, bitmapPixelHeight, 0);
 
                 if (layerIcon.p)
                 {
@@ -418,7 +418,7 @@
                             break;
 
                         //draw the icon for the current theming rule
-                        Ptr<MgByteReader> rdr = MgdMappingUtil::DrawFTS(m_svcResource, fts, bitmapPixelWidth, bitmapPixelHeight, k);
+                        Ptr<MgByteReader> rdr = MgPortableMappingUtil::DrawFTS(m_svcResource, fts, bitmapPixelWidth, bitmapPixelHeight, k);
 
                         if (rdr != NULL)
                         {
@@ -511,7 +511,7 @@
 
 
 
-void MgdLegendPlotUtil::ExtentFromMapCenter(MgdMap* map, double metersPerUnit, RS_Bounds& b)
+void MgPortableLegendPlotUtil::ExtentFromMapCenter(MgPortableMap* map, double metersPerUnit, RS_Bounds& b)
 {
     int pixW = map->GetDisplayWidth();
     int pixH = map->GetDisplayHeight();
@@ -544,7 +544,7 @@
     }
 }
 
-void MgdLegendPlotUtil::AddTitleElement(MgdPrintLayout* layout, STRING& mapName, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddTitleElement(MgPortablePrintLayout* layout, STRING& mapName, EPlotRenderer& dr)
 {
     double convertUnits = 1.0;
     STRING pageUnits = layout->Units();
@@ -561,7 +561,7 @@
     textDef.halign() = RS_HAlignment_Center;
 
     double x = layout->PageWidth() * 0.5;
-    double y = layout->PageHeight() - MgdPrintLayout::ScalebarHeight*convertUnits;
+    double y = layout->PageHeight() - MgPortablePrintLayout::ScalebarHeight*convertUnits;
 
     STRING title = layout->GetPlotTitle();
     if (title.empty())
@@ -572,7 +572,7 @@
 }
 
 
-void MgdLegendPlotUtil::AddScalebarElement(MgdPrintLayout* layout, RS_Bounds& mapBounds, double dMapScale, double dMetersPerMapUnit, EPlotRenderer& dr, RS_LineStroke& lineStroke)
+void MgPortableLegendPlotUtil::AddScalebarElement(MgPortablePrintLayout* layout, RS_Bounds& mapBounds, double dMapScale, double dMetersPerMapUnit, EPlotRenderer& dr, RS_LineStroke& lineStroke)
 {
     double convertUnits = 1.0;
     STRING pageUnits = layout->Units();
@@ -586,7 +586,7 @@
     double metersPerUnit = dr.GetMetersPerUnit();
 
     // position the scalebar just below the the map
-    double startY = dr.mapOffsetY() - MgdPrintLayout::ScalebarPadding*convertUnits;
+    double startY = dr.mapOffsetY() - MgPortablePrintLayout::ScalebarPadding*convertUnits;
 
     // Calculate distance units and divisions
     int nUnitsPerDivision = 5;
@@ -618,7 +618,7 @@
 
     // Determine the distance units
     STRING unitsText = L"";
-    if (layout->GetScaleBarUnits() == MgdUnitType::USEnglish)
+    if (layout->GetScaleBarUnits() == MgPortableUnitType::USEnglish)
     {
         if (distancePerDivision >= MI_TO_IN)
         {
@@ -681,9 +681,9 @@
     double inchesPerDivision = inchesPerUnit * nUnitsPerDivision;
 
     // Align scale bar horizontally with the map
-    double scalebarStartX = dr.mapOffsetX() - MgdPrintLayout::LegendPadding*convertUnits;  // legend padding
+    double scalebarStartX = dr.mapOffsetX() - MgPortablePrintLayout::LegendPadding*convertUnits;  // legend padding
 
-    Ptr<MgdPlotSpecification> spec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> spec = layout->GetPlotSize();
 
     if (scalebarStartX < spec->GetMarginLeft())
         scalebarStartX = spec->GetMarginLeft();
@@ -891,7 +891,7 @@
     dr.ProcessLabelGroup(&info, 1, scaleLabelText, RS_OverpostType_All, false, NULL, 0.0);
 }
 
-void MgdLegendPlotUtil::AddNorthArrowElement(MgdPrintLayout* layout, EPlotRenderer& dr, RS_LineStroke& lineStroke)
+void MgPortableLegendPlotUtil::AddNorthArrowElement(MgPortablePrintLayout* layout, EPlotRenderer& dr, RS_LineStroke& lineStroke)
 {
     LineBuffer lb(3);
     double x;
@@ -909,12 +909,12 @@
     double startX = dr.mapOffsetX() + dr.mapWidth();
     if (startX > layout->PageWidth())
     {
-        Ptr<MgdPlotSpecification> spec = layout->GetPlotSize();
+        Ptr<MgPortablePlotSpecification> spec = layout->GetPlotSize();
         startX = layout->PageWidth() - spec->GetMarginLeft();
     }
 
     // position the north arrow just below the the map
-    double startY = dr.mapOffsetY() - MgdPrintLayout::ScalebarHeight*convertUnits;
+    double startY = dr.mapOffsetY() - MgPortablePrintLayout::ScalebarHeight*convertUnits;
 
     // North arrow (left half)
     x = startX + northArrowMinVertexX*convertUnits;
@@ -975,7 +975,7 @@
 }
 
 
-void MgdLegendPlotUtil::AddUrlElement(MgdPrintLayout* layout, STRING& mapURL, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddUrlElement(MgPortablePrintLayout* layout, STRING& mapURL, EPlotRenderer& dr)
 {
     RS_TextDef textDef;
     RS_FontDef fontDef(m_legendFontName, 0.003, RS_FontStyle_Regular, RS_Units_Device);
@@ -983,7 +983,7 @@
     textDef.halign() = RS_HAlignment_Left;
     textDef.valign() = RS_VAlignment_Base;
 
-    Ptr<MgdPlotSpecification> spec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> spec = layout->GetPlotSize();
     double x = spec->GetMarginLeft();
     double y = spec->GetMarginBottom();
 
@@ -992,7 +992,7 @@
 }
 
 
-void MgdLegendPlotUtil::AddDateTimeElement(MgdPrintLayout* layout, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddDateTimeElement(MgPortablePrintLayout* layout, EPlotRenderer& dr)
 {
     RS_String dateAndTimeText = L"";
     struct tm *newtime;
@@ -1011,7 +1011,7 @@
     textDef.halign() = RS_HAlignment_Right;
     textDef.valign() = RS_VAlignment_Base;
 
-    Ptr<MgdPlotSpecification> spec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> spec = layout->GetPlotSize();
     double x = layout->PageWidth() - spec->GetMarginRight();
     double y = spec->GetMarginBottom();
 
@@ -1020,9 +1020,9 @@
 }
 
 
-void MgdLegendPlotUtil::AddCustomLogoElement(MgdPrintLayout* layout, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddCustomLogoElement(MgPortablePrintLayout* layout, EPlotRenderer& dr)
 {
-    Ptr<MgdPlotSpecification> plotSpec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> plotSpec = layout->GetPlotSize();
     STRING pageUnits = plotSpec->GetPageSizeUnits();
     if (!pageUnits.empty())
     {
@@ -1045,7 +1045,7 @@
             arguments.Add(L"1");
             arguments.Add(pageUnits);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLegendPlotUtil.AddCustomLogoElement",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLegendPlotUtil.AddCustomLogoElement",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidPrintLayoutPageSizeUnits", NULL);
         }
     }
@@ -1055,11 +1055,11 @@
         pageUnits = L"inches";  // NOXLATE
     }
 
-    for (MgdCustomLogoInfoVector::iterator iter = layout->CustomLogos().begin();
+    for (MgPortableCustomLogoInfoVector::iterator iter = layout->CustomLogos().begin();
         iter != layout->CustomLogos().end(); iter++)
     {
         LineBuffer lb(1);
-        MgdCustomLogoInfo logoInfo = (MgdCustomLogoInfo)(*iter);
+        MgPortableCustomLogoInfo logoInfo = (MgPortableCustomLogoInfo)(*iter);
 
         double xCoord = 0.0;
         double yCoord = 0.0;
@@ -1082,7 +1082,7 @@
         else
         {
             // invalid positionUnits specified
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement",
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -1121,7 +1121,7 @@
         else
         {
             // invalid positionUnits specified - should never get here
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement",
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -1145,7 +1145,7 @@
         else
         {
             // invalid positionUnits specified
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement",
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -1162,7 +1162,7 @@
         else
         {
             // invalid units specified - should never get here
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutSizeUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement",
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutSizeUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -1180,9 +1180,9 @@
 }
 
 
-void MgdLegendPlotUtil::AddCustomTextElement(MgdPrintLayout* layout, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddCustomTextElement(MgPortablePrintLayout* layout, EPlotRenderer& dr)
 {
-    Ptr<MgdPlotSpecification> plotSpec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> plotSpec = layout->GetPlotSize();
     STRING pageUnits = plotSpec->GetPageSizeUnits();
     if (!pageUnits.empty())
     {
@@ -1205,7 +1205,7 @@
             arguments.Add(L"1");
             arguments.Add(pageUnits);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdLegendPlotUtil.AddCustomTextElement",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableLegendPlotUtil.AddCustomTextElement",
                 __LINE__, __WFILE__, &arguments, L"MgInvalidPrintLayoutPageSizeUnits", NULL);
         }
     }
@@ -1222,10 +1222,10 @@
     textDef.halign() = RS_HAlignment_Left;
     textDef.valign() = RS_VAlignment_Base;
 
-    for (MgdCustomTextInfoVector::iterator iter = layout->CustomText().begin();
+    for (MgPortableCustomTextInfoVector::iterator iter = layout->CustomText().begin();
         iter != layout->CustomText().end(); iter++)
     {
-        MgdCustomTextInfo textInfo = (MgdCustomTextInfo)(*iter);
+        MgPortableCustomTextInfo textInfo = (MgPortableCustomTextInfo)(*iter);
 
         double xCoord = 0.0;
         double yCoord = 0.0;
@@ -1247,7 +1247,7 @@
         else
         {
             // invalid positionUnits specified
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         if (positionUnits == L"percent")  // NOXLATE
@@ -1285,7 +1285,7 @@
         else
         {
             // invalid positionUnits specified - should never get here
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdLegendPlotUtil.AddCustomLogoElement", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortableLegendPlotUtil.AddCustomLogoElement", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         double textSize = 0.0;
@@ -1309,7 +1309,7 @@
         else
         {
             // invalid positionUnits specified
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgdLegendPlotUtil.AddCustomTextElement", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgPortableLegendPlotUtil.AddCustomTextElement", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         if (sizeUnits == L"inches")  // NOXLATE
@@ -1327,7 +1327,7 @@
         else
         {
             // invalid units specified
-            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgdLegendPlotUtil.AddCustomTextElement", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgPortableLegendPlotUtil.AddCustomTextElement", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         fontName = textInfo.GetFontName();
         fontHeight = textSize;
@@ -1339,7 +1339,7 @@
 }
 
 
-void MgdLegendPlotUtil::AddLayoutElements(MgdPrintLayout* layout, STRING mapName, STRING mapURL, MgdMap* map, MgLayerCollection* layers, RS_Bounds& mapBounds, double& dMapScale, double& dMetersPerMapUnit, EPlotRenderer& dr)
+void MgPortableLegendPlotUtil::AddLayoutElements(MgPortablePrintLayout* layout, STRING mapName, STRING mapURL, MgPortableMap* map, MgLayerCollection* layers, RS_Bounds& mapBounds, double& dMapScale, double& dMetersPerMapUnit, EPlotRenderer& dr)
 {
     RS_LineStroke lineStroke;
 
@@ -1371,7 +1371,7 @@
         ComputeLegendOffsetAndSize(layout, dMapScale, dr, map, legendOffsetX, legendOffsetY, legendWidth, legendHeight);
 
         float legendMargin = (float)(defaultLegendMargin*convertUnits);
-        MgdPlotSpecification legendSpec((float)legendWidth, float(legendHeight), pageUnits, legendMargin, legendMargin, legendMargin, legendMargin);
+        MgPortablePlotSpecification legendSpec((float)legendWidth, float(legendHeight), pageUnits, legendMargin, legendMargin, legendMargin, legendMargin);
 
         // add the legend directly to the ePlot
         AddLegendElement(dMapScale, dr, map, &legendSpec, legendOffsetX, legendOffsetY);
@@ -1405,7 +1405,7 @@
     dr.EndLayout();
 }
 
-bool MgdLegendPlotUtil::HasVisibleLayers(CREFSTRING groupName, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
+bool MgPortableLegendPlotUtil::HasVisibleLayers(CREFSTRING groupName, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren)
 {
     INT32 total = 0;
     VisibleLayerCountMap::iterator vit = visibleLayers.find(groupName);
@@ -1430,7 +1430,7 @@
 //
 //  Compute the legend size and the offset position on the page
 //
-void MgdLegendPlotUtil::ComputeLegendOffsetAndSize(MgdPrintLayout* layout, double mapScale, EPlotRenderer& dr, MgdMap* map, double &legendOffsetX, double& legendOffsetY, double& legendWidth, double& legendHeight)
+void MgPortableLegendPlotUtil::ComputeLegendOffsetAndSize(MgPortablePrintLayout* layout, double mapScale, EPlotRenderer& dr, MgPortableMap* map, double &legendOffsetX, double& legendOffsetY, double& legendWidth, double& legendHeight)
 {
     double convertUnits = 1.0;
     STRING pageUnits = layout->Units();
@@ -1444,9 +1444,9 @@
     double verticalDelta = legendSpacing * convertUnits;
 
     //legend x offset = map offset - legend width - legend padding
-    double startX = dr.mapOffsetX() - (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
+    double startX = dr.mapOffsetX() - (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
 
-    Ptr<MgdPlotSpecification> spec = layout->GetPlotSize();
+    Ptr<MgPortablePlotSpecification> spec = layout->GetPlotSize();
     if (startX < spec->GetMarginLeft())
     {
         startX = spec->GetMarginLeft();
@@ -1457,7 +1457,7 @@
     if (layout->ShowTitle() &&
         !layout->ShowScalebar() && !layout->ShowNorthArrow() && !layout->ShowUrl() && !layout->ShowDateTime())
     {
-        startY -= MgdPrintLayout::HeaderHeight*convertUnits * 0.5;
+        startY -= MgPortablePrintLayout::HeaderHeight*convertUnits * 0.5;
     }
 
     double y = startY;
@@ -1541,6 +1541,6 @@
     legendOffsetY = y;
 
     // Calculate the top-right vertex for Legend
-    legendWidth = MgdPrintLayout::LegendWidth*convertUnits;
+    legendWidth = MgPortablePrintLayout::LegendWidth*convertUnits;
     legendHeight = startY - y;
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/LegendPlotUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,33 +24,33 @@
 typedef std::map<STRING, LayerGroupList> LayerGroupChildMap;
 typedef std::map<STRING, int> VisibleLayerCountMap;
 
-class MG_DESKTOP_API MgdLegendPlotUtil
+class MG_DESKTOP_API MgPortableLegendPlotUtil
 {
 public:
 
-    MgdLegendPlotUtil(MgResourceService* svcResource);
-    virtual ~MgdLegendPlotUtil();
+    MgPortableLegendPlotUtil(MgResourceService* svcResource);
+    virtual ~MgPortableLegendPlotUtil();
 
-    void AddTitleElement(MgdPrintLayout* layout, STRING& mapName, EPlotRenderer& dr);
-    void AddScalebarElement(MgdPrintLayout* layout, RS_Bounds& mapBounds, double dMapScale, double dMetersPerMapUnit, EPlotRenderer& dr, RS_LineStroke& lineStroke);
-    void AddNorthArrowElement(MgdPrintLayout* layout, EPlotRenderer& dr, RS_LineStroke& lineStroke);
-    void AddUrlElement(MgdPrintLayout* layout, STRING& mapURL, EPlotRenderer& dr);
-    void AddDateTimeElement(MgdPrintLayout* layout, EPlotRenderer& dr);
-    void AddCustomLogoElement(MgdPrintLayout* layout, EPlotRenderer& dr);
-    void AddCustomTextElement(MgdPrintLayout* layout, EPlotRenderer& dr);
+    void AddTitleElement(MgPortablePrintLayout* layout, STRING& mapName, EPlotRenderer& dr);
+    void AddScalebarElement(MgPortablePrintLayout* layout, RS_Bounds& mapBounds, double dMapScale, double dMetersPerMapUnit, EPlotRenderer& dr, RS_LineStroke& lineStroke);
+    void AddNorthArrowElement(MgPortablePrintLayout* layout, EPlotRenderer& dr, RS_LineStroke& lineStroke);
+    void AddUrlElement(MgPortablePrintLayout* layout, STRING& mapURL, EPlotRenderer& dr);
+    void AddDateTimeElement(MgPortablePrintLayout* layout, EPlotRenderer& dr);
+    void AddCustomLogoElement(MgPortablePrintLayout* layout, EPlotRenderer& dr);
+    void AddCustomTextElement(MgPortablePrintLayout* layout, EPlotRenderer& dr);
 
-    void AddLayoutElements(MgdPrintLayout* layout, STRING mapName, STRING mapURL, MgdMap* map, MgLayerCollection* layers, RS_Bounds& mapBounds, double& dMapScale, double& dMetersPerMapUnit, EPlotRenderer& dr);
-    void ComputeLegendOffsetAndSize(MgdPrintLayout* layout, double mapScale, EPlotRenderer& dr, MgdMap* map, double &legendOffsetX, double& legendOffsetY, double& legendWidth, double& legendHeight);
+    void AddLayoutElements(MgPortablePrintLayout* layout, STRING mapName, STRING mapURL, MgPortableMap* map, MgLayerCollection* layers, RS_Bounds& mapBounds, double& dMapScale, double& dMetersPerMapUnit, EPlotRenderer& dr);
+    void ComputeLegendOffsetAndSize(MgPortablePrintLayout* layout, double mapScale, EPlotRenderer& dr, MgPortableMap* map, double &legendOffsetX, double& legendOffsetY, double& legendWidth, double& legendHeight);
     
     //These have been cleaned up to work with a generic renderer, rather than just EPlot.
     //Eventually the scale bar and north arrow ones need to be cleaned up also in order
     //to use them in the AJAX viewer
-    void AddLegendElement(double dMapScale, Renderer& dr, MgdMap* map, MgdPlotSpecification* plotSpec, double legendOffsetX, double legendOffsetY);
-    void ProcessLayersForLegend(MgdMap* map, double mapScale, MgLayerGroup* mggroup, double startX, double& startY, RS_TextDef textDef, Renderer& dr, MgdPlotSpecification* plotSpec, double legendOffsetY, double convertUnits, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren);
-    void BuildLegendContent(MgdMap* map, double scale, MgdPlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY, Renderer& dr, double convertUnits);
+    void AddLegendElement(double dMapScale, Renderer& dr, MgPortableMap* map, MgPortablePlotSpecification* plotSpec, double legendOffsetX, double legendOffsetY);
+    void ProcessLayersForLegend(MgPortableMap* map, double mapScale, MgLayerGroup* mggroup, double startX, double& startY, RS_TextDef textDef, Renderer& dr, MgPortablePlotSpecification* plotSpec, double legendOffsetY, double convertUnits, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren);
+    void BuildLegendContent(MgPortableMap* map, double scale, MgPortablePlotSpecification* legendSpec, double legendOffsetX, double legendOffsetY, Renderer& dr, double convertUnits);
 
-    void ExtentFromMapCenter(MgdMap* map, double metersPerUnit, RS_Bounds& b);
-    void CompileInformation(MgdMap* map, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren);
+    void ExtentFromMapCenter(MgPortableMap* map, double metersPerUnit, RS_Bounds& b);
+    void CompileInformation(MgPortableMap* map, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren);
 
 private:
     static bool HasVisibleLayers(CREFSTRING groupName, VisibleLayerCountMap& visibleLayers, LayerGroupChildMap& groupChildren);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MapPlot.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,24 +15,24 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "MapPlotInstruction.h"
 
 
 //////////////////////////////////////////////////////////////
 // Default constructor
-MgdMapPlot::MgdMapPlot()
+MgPortableMapPlot::MgPortableMapPlot()
 {
 }
 
 
 //////////////////////////////////////////////////////////////
-// Create and initialize an MgdMapPlot instance.
-MgdMapPlot::MgdMapPlot(MgdMap* map, MgdPlotSpecification* plotSpec, MgdLayout* layout)
+// Create and initialize an MgPortableMapPlot instance.
+MgPortableMapPlot::MgPortableMapPlot(MgPortableMap* map, MgPortablePlotSpecification* plotSpec, MgPortableLayout* layout)
 {
     if (NULL == map || NULL == plotSpec)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMapPlot.MgdMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMapPlot.MgPortableMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     Initialize();
@@ -41,17 +41,17 @@
     m_plotSpec = SAFE_ADDREF(plotSpec);
     m_layout = SAFE_ADDREF(layout);
 
-    m_plotInstruction = MgdMapPlotInstruction::UseMapCenterAndScale;
+    m_plotInstruction = MgPortableMapPlotInstruction::UseMapCenterAndScale;
 }
 
 
 //////////////////////////////////////////////////////////////
-MgdMapPlot::MgdMapPlot(MgdMap* map, MgCoordinate* center, double scale,
-                     MgdPlotSpecification* plotSpec, MgdLayout* layout)
+MgPortableMapPlot::MgPortableMapPlot(MgPortableMap* map, MgCoordinate* center, double scale,
+                     MgPortablePlotSpecification* plotSpec, MgPortableLayout* layout)
 {
     if (NULL == map || NULL == center || NULL == plotSpec)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMapPlot.MgdMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMapPlot.MgPortableMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     Initialize();
@@ -63,17 +63,17 @@
     m_plotSpec = SAFE_ADDREF(plotSpec);
     m_layout = SAFE_ADDREF(layout);
 
-    m_plotInstruction = MgdMapPlotInstruction::UseOverriddenCenterAndScale;
+    m_plotInstruction = MgPortableMapPlotInstruction::UseOverriddenCenterAndScale;
 }
 
 
 //////////////////////////////////////////////////////////////
-MgdMapPlot::MgdMapPlot(MgdMap* map, MgEnvelope* extent, bool expandToFit,
-                     MgdPlotSpecification* plotSpec, MgdLayout* layout)
+MgPortableMapPlot::MgPortableMapPlot(MgPortableMap* map, MgEnvelope* extent, bool expandToFit,
+                     MgPortablePlotSpecification* plotSpec, MgPortableLayout* layout)
 {
     if (map == NULL || extent == NULL || plotSpec == NULL)
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdMapPlot.MgdMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableMapPlot.MgPortableMapPlot", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     Initialize();
@@ -85,13 +85,13 @@
     m_plotSpec = SAFE_ADDREF(plotSpec);
     m_layout = SAFE_ADDREF(layout);
 
-    m_plotInstruction = MgdMapPlotInstruction::UseOverriddenExtent;
+    m_plotInstruction = MgPortableMapPlotInstruction::UseOverriddenExtent;
 }
 
 
 //////////////////////////////////////////////////////////////
 // Initialize class members which may not be set by the constructors
-void MgdMapPlot::Initialize()
+void MgPortableMapPlot::Initialize()
 {
     Ptr<MgCoordinate> initCoord = new MgCoordinateXY(0, 0);
     m_center = initCoord;
@@ -105,7 +105,7 @@
 
 //////////////////////////////////////////////////////////////
 // Get and Set the MgMap to plot.
-MgdMap* MgdMapPlot::GetMap()
+MgPortableMap* MgPortableMapPlot::GetMap()
 {
     return SAFE_ADDREF(m_map);
 }
@@ -113,7 +113,7 @@
 
 //////////////////////////////////////////////////////////////
 // Set the MgMap to plot.
-void MgdMapPlot::SetMap(MgdMap* map)
+void MgPortableMapPlot::SetMap(MgPortableMap* map)
 {
     SAFE_RELEASE(m_map);
     m_map = SAFE_ADDREF(map);
@@ -123,7 +123,7 @@
 //////////////////////////////////////////////////////////////
 // Get the MapPlotInstruction, which defines how the view of the map
 // to be plotted is defined.
-INT32 MgdMapPlot::GetMapPlotInstruction()
+INT32 MgPortableMapPlot::GetMapPlotInstruction()
 {
     return m_plotInstruction;
 }
@@ -131,7 +131,7 @@
 
 //////////////////////////////////////////////////////////////
 // Set the MapPlotInstruction.
-void MgdMapPlot::SetMapPlotInstruction(INT32 plotInstruction)
+void MgPortableMapPlot::SetMapPlotInstruction(INT32 plotInstruction)
 {
     m_plotInstruction = plotInstruction;
 }
@@ -139,7 +139,7 @@
 
 //////////////////////////////////////////////////////////////
 // Get and the view center.
-MgCoordinate* MgdMapPlot::GetCenter()
+MgCoordinate* MgPortableMapPlot::GetCenter()
 {
     return SAFE_ADDREF(m_center);
 }
@@ -147,7 +147,7 @@
 
 //////////////////////////////////////////////////////////////
 // Get the view scale.
-double MgdMapPlot::GetScale()
+double MgPortableMapPlot::GetScale()
 {
     return m_scale;
 }
@@ -155,18 +155,18 @@
 
 //////////////////////////////////////////////////////////////
 // Set the view center and scale.
-void MgdMapPlot::SetCenterAndScale(MgCoordinate* center, double scale)
+void MgPortableMapPlot::SetCenterAndScale(MgCoordinate* center, double scale)
 {
     SAFE_RELEASE(m_center);
     m_center = SAFE_ADDREF(center);
     m_scale = scale;
-    m_plotInstruction = MgdMapPlotInstruction::UseOverriddenCenterAndScale;
+    m_plotInstruction = MgPortableMapPlotInstruction::UseOverriddenCenterAndScale;
 }
 
 
 //////////////////////////////////////////////////////////////
 // Get the extent.
-MgEnvelope* MgdMapPlot::GetExtent()
+MgEnvelope* MgPortableMapPlot::GetExtent()
 {
     return SAFE_ADDREF(m_extent);
 }
@@ -174,7 +174,7 @@
 
 //////////////////////////////////////////////////////////////
 // Get the expand to fit flag.
-bool MgdMapPlot::GetExpandToFit()
+bool MgPortableMapPlot::GetExpandToFit()
 {
     return m_bExpandToFit;
 }
@@ -182,18 +182,18 @@
 
 //////////////////////////////////////////////////////////////
 // Set the extent and expand to fit flag.
-void MgdMapPlot::SetExtent(MgEnvelope* extent, bool expandToFit)
+void MgPortableMapPlot::SetExtent(MgEnvelope* extent, bool expandToFit)
 {
     SAFE_RELEASE(m_extent);
     m_extent = SAFE_ADDREF(extent);
     m_bExpandToFit = expandToFit;
-    m_plotInstruction = MgdMapPlotInstruction::UseOverriddenExtent;
+    m_plotInstruction = MgPortableMapPlotInstruction::UseOverriddenExtent;
 }
 
 
 //////////////////////////////////////////////////////////////
 // Get the plot specification
-MgdPlotSpecification* MgdMapPlot::GetPlotSpecification()
+MgPortablePlotSpecification* MgPortableMapPlot::GetPlotSpecification()
 {
     return SAFE_ADDREF(m_plotSpec);
 }
@@ -201,7 +201,7 @@
 
 //////////////////////////////////////////////////////////////
 // Set the plot specification.
-void MgdMapPlot::SetPlotSpecification(MgdPlotSpecification* plotSpec)
+void MgPortableMapPlot::SetPlotSpecification(MgPortablePlotSpecification* plotSpec)
 {
     SAFE_RELEASE(m_plotSpec);
     m_plotSpec = SAFE_ADDREF(plotSpec);
@@ -211,7 +211,7 @@
 //////////////////////////////////////////////////////////////
 // Get the layout.  This value is optional; if null the map will fill
 // the entire page area within the margins.
-MgdLayout* MgdMapPlot::GetLayout()
+MgPortableLayout* MgPortableMapPlot::GetLayout()
 {
     return SAFE_ADDREF(m_layout);
 }
@@ -219,7 +219,7 @@
 
 //////////////////////////////////////////////////////////////
 // Set the layout.
-void MgdMapPlot::SetLayout(MgdLayout* layout)
+void MgPortableMapPlot::SetLayout(MgPortableLayout* layout)
 {
     SAFE_RELEASE(m_layout);
     m_layout = SAFE_ADDREF(layout);
@@ -228,7 +228,7 @@
 
 //////////////////////////////////////////////////////////////
 // Destructor
-MgdMapPlot::~MgdMapPlot()
+MgPortableMapPlot::~MgPortableMapPlot()
 {
     SAFE_RELEASE(m_map);
     SAFE_RELEASE(m_plotSpec);
@@ -240,23 +240,23 @@
 
 //////////////////////////////////////////////////////////////
 // Serialize data to TCP/IP stream
-void MgdMapPlot::Serialize(MgStream* stream)
+void MgPortableMapPlot::Serialize(MgStream* stream)
 {
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdMapPlot.Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableMapPlot.Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 
 //////////////////////////////////////////////////////////////
 // Deserialize data from TCP/IP stream
-void MgdMapPlot::Deserialize(MgStream* stream)
+void MgPortableMapPlot::Deserialize(MgStream* stream)
 {
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdMapPlot.Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableMapPlot.Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 
 //////////////////////////////////////////////////////////////
 // Get the name of object
-STRING MgdMapPlot::GetName()
+STRING MgPortableMapPlot::GetName()
 {
     return m_map->GetName();
 }
@@ -264,7 +264,7 @@
 
 //////////////////////////////////////////////////////////////
 // Does it allow to set the name
-bool MgdMapPlot::CanSetName()
+bool MgPortableMapPlot::CanSetName()
 {
     // indirectly via SetMap
     return true;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MapPlot.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlot.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,143 +18,143 @@
 #ifndef DESKTOP_MAP_PLOT_H_
 #define DESKTOP_MAP_PLOT_H_
 
-class MgdMap;
-class MgdLayer;
-class MgdPlotSpecification;
-class MgdLayout;
+class MgPortableMap;
+class MgPortableLayer;
+class MgPortablePlotSpecification;
+class MgPortableLayout;
 /// \ingroup Desktop_Misc_Module
 /// \{
 /////////////////////////////////////////////////////////////////
 /// \brief
-/// The MgdMapPlot class allows the developer to specify the map,
+/// The MgPortableMapPlot class allows the developer to specify the map,
 /// the view of the map, the plot specification, and the layout
 /// for one sheet within a call to GenerateMultiPlot.
-class MG_DESKTOP_API MgdMapPlot : public MgNamedSerializable
+class MG_DESKTOP_API MgPortableMapPlot : public MgNamedSerializable
 {
-    DECLARE_CLASSNAME(MgdMapPlot)
+    DECLARE_CLASSNAME(MgPortableMapPlot)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////
     /// \brief
-    /// Create and initialize an MgdMapPlot instance using
+    /// Create and initialize an MgPortableMapPlot instance using
     /// the map center and scale. Sets the MapPlotInstruction value
     /// appropriately.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
     /// Nothing.
     ///
-    MgdMapPlot(
-        MgdMap* map,
-        MgdPlotSpecification* plotSpec,
-        MgdLayout* layout);
+    MgPortableMapPlot(
+        MgPortableMap* map,
+        MgPortablePlotSpecification* plotSpec,
+        MgPortableLayout* layout);
 
     ///////////////////////////////////////////////
     /// \brief
-    /// Create and initialize an MgdMapPlot instance using
+    /// Create and initialize an MgPortableMapPlot instance using
     /// the specified center and scale.  Sets the MapPlotInstruction value
     /// appropriately.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgCoordinate center, double scale, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgCoordinate center, double scale, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgCoordinate center, double scale, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgCoordinate center, double scale, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgCoordinate center, double scale, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgCoordinate center, double scale, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
     /// Nothing.
     ///
-    MgdMapPlot(
-        MgdMap* map,
+    MgPortableMapPlot(
+        MgPortableMap* map,
         MgCoordinate* center,
         double scale,
-        MgdPlotSpecification* plotSpec,
-        MgdLayout* layout);
+        MgPortablePlotSpecification* plotSpec,
+        MgPortableLayout* layout);
 
     ///////////////////////////////////////////////
     /// \brief
-    /// Create and initialize an MgdMapPlot instance using
+    /// Create and initialize an MgPortableMapPlot instance using
     /// the specified extents  Sets the MapPlotInstruction value
     /// appropriately.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgEnvelope extent, bool expandToFit, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgEnvelope extent, bool expandToFit, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgEnvelope extent, boolean expandToFit, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgEnvelope extent, boolean expandToFit, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlot(MgdMap map, MgEnvelope extent, bool expandToFit, MgdPlotSpecification plotSpec, MgdLayout layout);
+    /// MgPortableMapPlot(MgPortableMap map, MgEnvelope extent, bool expandToFit, MgPortablePlotSpecification plotSpec, MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
     /// Nothing.
     ///
-    MgdMapPlot(
-        MgdMap* map,
+    MgPortableMapPlot(
+        MgPortableMap* map,
         MgEnvelope* extent,
         bool expandToFit,
-        MgdPlotSpecification* plotSpec,
-        MgdLayout* layout);
+        MgPortablePlotSpecification* plotSpec,
+        MgPortableLayout* layout);
 
     ///////////////////////////////////////////////
     /// \brief
-    /// Get the MgdMap object to plot.
+    /// Get the MgPortableMap object to plot.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMap GetMap();
+    /// MgPortableMap GetMap();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMap GetMap();
+    /// MgPortableMap GetMap();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMap GetMap();
+    /// MgPortableMap GetMap();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
-    /// The MgdMap object.
+    /// The MgPortableMap object.
     ///
-    MgdMap* GetMap();
+    MgPortableMap* GetMap();
 
     ///////////////////////////////////////////////
     /// \brief
-    /// Set the MgdMap object to plot.
+    /// Set the MgPortableMap object to plot.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetMap(MgdMap map);
+    /// void SetMap(MgPortableMap map);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void SetMap(MgdMap map);
+    /// void SetMap(MgPortableMap map);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void SetMap(MgdMap map);
+    /// void SetMap(MgPortableMap map);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param map (MgdMap)
-    /// The MgdMap object to plot.
+    /// \param map (MgPortableMap)
+    /// The MgPortableMap object to plot.
     ///
     /// \return
     /// Nothing
     ///
-    void SetMap(MgdMap* map);
+    void SetMap(MgPortableMap* map);
 
     ///////////////////////////////////////////////
     /// \brief
@@ -340,19 +340,19 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdPlotSpecification GetPlotSpecification();
+    /// MgPortablePlotSpecification GetPlotSpecification();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdPlotSpecification GetPlotSpecification();
+    /// MgPortablePlotSpecification GetPlotSpecification();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdPlotSpecification GetPlotSpecification();
+    /// MgPortablePlotSpecification GetPlotSpecification();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
-    /// The MgdPlotSpecification.
+    /// The MgPortablePlotSpecification.
     ///
-    MgdPlotSpecification* GetPlotSpecification();
+    MgPortablePlotSpecification* GetPlotSpecification();
 
     ///////////////////////////////////////////////
     /// \brief
@@ -360,22 +360,22 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetPlotSpecification(MgdPlotSpecification plotSpec);
+    /// void SetPlotSpecification(MgPortablePlotSpecification plotSpec);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void SetPlotSpecification(MgdPlotSpecification plotSpec);
+    /// void SetPlotSpecification(MgPortablePlotSpecification plotSpec);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void SetPlotSpecification(MgdPlotSpecification plotSpec);
+    /// void SetPlotSpecification(MgPortablePlotSpecification plotSpec);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param plotSpec (MgdPlotSpecification)
+    /// \param plotSpec (MgPortablePlotSpecification)
     /// The plot specification.
     ///
     /// \return
     /// Nothing
     ///
-    void SetPlotSpecification(MgdPlotSpecification* plotSpec);
+    void SetPlotSpecification(MgPortablePlotSpecification* plotSpec);
 
     ///////////////////////////////////////////////
     /// \brief
@@ -384,19 +384,19 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdLayout GetLayout();
+    /// MgPortableLayout GetLayout();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdLayout GetLayout();
+    /// MgPortableLayout GetLayout();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdLayout GetLayout();
+    /// MgPortableLayout GetLayout();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
-    /// The MgdLayout.
+    /// The MgPortableLayout.
     ///
-    MgdLayout* GetLayout();
+    MgPortableLayout* GetLayout();
 
     ///////////////////////////////////////////////
     /// \brief
@@ -404,22 +404,22 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetLayout(MgdLayout layout);
+    /// void SetLayout(MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void SetLayout(MgdLayout layout);
+    /// void SetLayout(MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void SetLayout(MgdLayout layout);
+    /// void SetLayout(MgPortableLayout layout);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param layout (MgdLayout)
+    /// \param layout (MgPortableLayout)
     /// The object defining the layout for the plot.
     ///
     /// \return
     /// Nothing
     ///
-    void SetLayout(MgdLayout* layout);
+    void SetLayout(MgPortableLayout* layout);
 
 INTERNAL_API:
     //////////////////////////////////////////////////////////
@@ -461,18 +461,18 @@
 
     //////////////////////////////////////////////////////////
     /// \brief
-    /// Construct and empty MgdMapPlot object
+    /// Construct and empty MgPortableMapPlot object
     ///
-    MgdMapPlot();
+    MgPortableMapPlot();
 
     //////////////////////////////////////////////////////////
     /// \brief
-    /// Destruct a MgdMapPlot object
+    /// Destruct a MgPortableMapPlot object
     ///
     /// \return
     /// Nothing
     ///
-    virtual ~MgdMapPlot();
+    virtual ~MgPortableMapPlot();
 
 protected:
 
@@ -507,9 +507,9 @@
     ///
     void Initialize();
 
-    MgdMap* m_map;
-    MgdPlotSpecification* m_plotSpec;
-    MgdLayout* m_layout;
+    MgPortableMap* m_map;
+    MgPortablePlotSpecification* m_plotSpec;
+    MgPortableLayout* m_layout;
 
     MgCoordinate* m_center;
     double m_scale;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MapPlotCollection.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,13 +15,13 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-MG_IMPL_DYNCREATE(MgdMapPlotCollection)
+MG_IMPL_DYNCREATE(MgPortableMapPlotCollection)
 
-// Constructs an empty MgdMapPlotCollection object.
+// Constructs an empty MgPortableMapPlotCollection object.
 //
-MgdMapPlotCollection::MgdMapPlotCollection()
+MgPortableMapPlotCollection::MgPortableMapPlotCollection()
 {
     m_mapPlots = new MgNamedCollection();
 }
@@ -28,7 +28,7 @@
 
 // Returns the number of items in the collection
 //
-INT32 MgdMapPlotCollection::GetCount()
+INT32 MgPortableMapPlotCollection::GetCount()
 {
     return m_mapPlots->GetCount();
 }
@@ -36,25 +36,25 @@
 // Returns the item at the specified index
 // Throws an out of range exception if the index is invalid
 //
-MgdMapPlot* MgdMapPlotCollection::GetItem(INT32 index)
+MgPortableMapPlot* MgPortableMapPlotCollection::GetItem(INT32 index)
 {
     //returned value is addref'd by m_maps base class
-    return (MgdMapPlot*)m_mapPlots->GetItem(index);
+    return (MgPortableMapPlot*)m_mapPlots->GetItem(index);
 }
 
 // Returns the item with the specified name
 // Throws an illegal argument exception if the name does not exist
 //
-MgdMapPlot* MgdMapPlotCollection::GetItem(CREFSTRING name)
+MgPortableMapPlot* MgPortableMapPlotCollection::GetItem(CREFSTRING name)
 {
     //returned value is addref'd by m_maps base class
-    return (MgdMapPlot*)m_mapPlots->GetItem(name);
+    return (MgPortableMapPlot*)m_mapPlots->GetItem(name);
 }
 
 // Sets the item in the collection at the specified index to the specified value
 // Throws an out of range exception if the index is out of range.
 //
-void MgdMapPlotCollection::SetItem(INT32 index, MgdMapPlot* value)
+void MgPortableMapPlotCollection::SetItem(INT32 index, MgPortableMapPlot* value)
 {
     //value is addref'd by m_maps base class
     m_mapPlots->SetItem(index, value);
@@ -62,7 +62,7 @@
 
 // Adds the specified item to the end of the collection.
 //
-void MgdMapPlotCollection::Add(MgdMapPlot* value)
+void MgPortableMapPlotCollection::Add(MgPortableMapPlot* value)
 {
     //value is addref'd by m_mapPlots base class
     m_mapPlots->Add(value);
@@ -72,7 +72,7 @@
 // Items following the insertion point are moved down to accommodate the new item.
 // Throws an out of range argument exception if the specified index is out of range
 //
-void MgdMapPlotCollection::Insert(INT32 index, MgdMapPlot* value)
+void MgPortableMapPlotCollection::Insert(INT32 index, MgPortableMapPlot* value)
 {
     //value is addref'd by m_mapPlots base class
     m_mapPlots->Insert(index, value);
@@ -81,7 +81,7 @@
 /// <summary>
 /// Removes all items from the collection
 /// </summary>
-void MgdMapPlotCollection::Clear()
+void MgPortableMapPlotCollection::Clear()
 {
     m_mapPlots->Clear();
 }
@@ -89,7 +89,7 @@
 // Removes an item from the collection
 // Throws an invalid argument exception if the item does not exist within the collection.
 //
-bool MgdMapPlotCollection::Remove(MgdMapPlot* value)
+bool MgPortableMapPlotCollection::Remove(MgPortableMapPlot* value)
 {
     bool removed = true;
     try
@@ -108,7 +108,7 @@
 // Removes an item from the collection at the specified index
 // Throws an out of range exception if the item does not exist within the collection.
 //
-void MgdMapPlotCollection::RemoveAt(INT32 index)
+void MgPortableMapPlotCollection::RemoveAt(INT32 index)
 {
     //value at index is released by m_maps base class
     m_mapPlots->RemoveAt(index);
@@ -116,7 +116,7 @@
 
 // Returns true if the collection contains the specified item, false otherwise
 //
-bool MgdMapPlotCollection::Contains(CREFSTRING name)
+bool MgPortableMapPlotCollection::Contains(CREFSTRING name)
 {
     return m_mapPlots->Contains(name);
 }
@@ -123,7 +123,7 @@
 
 // Returns true if the collection contains the specified item, false otherwise
 //
-bool MgdMapPlotCollection::Contains(MgdMapPlot* value)
+bool MgPortableMapPlotCollection::Contains(MgPortableMapPlot* value)
 {
     return m_mapPlots->Contains(value);
 }
@@ -130,7 +130,7 @@
 
 // Returns the index of the specified item in the collection or -1 if the item does not exist.
 //
-INT32 MgdMapPlotCollection::IndexOf(CREFSTRING name)
+INT32 MgPortableMapPlotCollection::IndexOf(CREFSTRING name)
 {
     return m_mapPlots->IndexOf(name);
 }
@@ -137,14 +137,14 @@
 
 // Returns the index of the specified item in the collection or -1 if the item does not exist.
 //
-INT32 MgdMapPlotCollection::IndexOf(MgdMapPlot* value)
+INT32 MgPortableMapPlotCollection::IndexOf(MgPortableMapPlot* value)
 {
     return m_mapPlots->IndexOf(value);
 }
 
-// Destruct a MgdMapPlotCollection object
+// Destruct a MgPortableMapPlotCollection object
 //
-MgdMapPlotCollection::~MgdMapPlotCollection()
+MgPortableMapPlotCollection::~MgPortableMapPlotCollection()
 {
     SAFE_RELEASE(m_mapPlots);
 }
@@ -152,16 +152,16 @@
 
 // Serialize data to a stream
 //
-void MgdMapPlotCollection::Serialize(MgStream* stream)
+void MgPortableMapPlotCollection::Serialize(MgStream* stream)
 {
     INT32 count = this->GetCount();
     stream->WriteInt32(count);
     for (INT32 i = 0; i < count; i++)
     {
-        Ptr<MgdMapPlot> mapPlot = this->GetItem(i);
-        Ptr<MgdMap> map = mapPlot->GetMap();
-        Ptr<MgdPlotSpecification> plotSpec = mapPlot->GetPlotSpecification();
-        Ptr<MgdLayout> layout = mapPlot->GetLayout();
+        Ptr<MgPortableMapPlot> mapPlot = this->GetItem(i);
+        Ptr<MgPortableMap> map = mapPlot->GetMap();
+        Ptr<MgPortablePlotSpecification> plotSpec = mapPlot->GetPlotSpecification();
+        Ptr<MgPortableLayout> layout = mapPlot->GetLayout();
         Ptr<MgCoordinate> center = mapPlot->GetCenter();
         Ptr<MgEnvelope> extent = mapPlot->GetExtent();
 
@@ -179,7 +179,7 @@
 
 // Deserialize data from a stream
 //
-void MgdMapPlotCollection::Deserialize(MgStream* stream)
+void MgPortableMapPlotCollection::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 
@@ -187,9 +187,9 @@
     streamReader->GetInt32(count);
     for (INT32 i = 0; i < count; i++)
     {
-        Ptr<MgdMap> map = (MgdMap*)streamReader->GetObject();
-        Ptr<MgdPlotSpecification> plotSpec = (MgdPlotSpecification*)streamReader->GetObject();
-        Ptr<MgdLayout> layout = (MgdLayout*)streamReader->GetObject();
+        Ptr<MgPortableMap> map = (MgPortableMap*)streamReader->GetObject();
+        Ptr<MgPortablePlotSpecification> plotSpec = (MgPortablePlotSpecification*)streamReader->GetObject();
+        Ptr<MgPortableLayout> layout = (MgPortableLayout*)streamReader->GetObject();
         double centerX = 0.0;
         streamReader->GetDouble(centerX);
         double centerY = 0.0;
@@ -203,17 +203,17 @@
         bool expandToFit = false;
         streamReader->GetBoolean(expandToFit);
 
-        Ptr<MgdMapPlot> mapPlot;
+        Ptr<MgPortableMapPlot> mapPlot;
         switch (plotInstruction)
         {
-        case MgdMapPlotInstruction::UseMapCenterAndScale:
-            mapPlot = new MgdMapPlot(map, plotSpec, layout);
+        case MgPortableMapPlotInstruction::UseMapCenterAndScale:
+            mapPlot = new MgPortableMapPlot(map, plotSpec, layout);
             break;
-        case MgdMapPlotInstruction::UseOverriddenCenterAndScale:
-            mapPlot = new MgdMapPlot(map, center, scale, plotSpec, layout);
+        case MgPortableMapPlotInstruction::UseOverriddenCenterAndScale:
+            mapPlot = new MgPortableMapPlot(map, center, scale, plotSpec, layout);
             break;
-        case MgdMapPlotInstruction::UseOverriddenExtent:
-            mapPlot = new MgdMapPlot(map, extent, expandToFit, plotSpec, layout);
+        case MgPortableMapPlotInstruction::UseOverriddenExtent:
+            mapPlot = new MgPortableMapPlot(map, extent, expandToFit, plotSpec, layout);
             break;
         default:
             break;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MapPlotCollection.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotCollection.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,19 +18,19 @@
 #ifndef DESKTOP_MAP_PLOT_COLLECTION_H_
 #define DESKTOP_MAP_PLOT_COLLECTION_H_
 
-class MgdMapPlotCollection;
-template class MG_DESKTOP_API Ptr<MgdMapPlotCollection>;
+class MgPortableMapPlotCollection;
+template class MG_DESKTOP_API Ptr<MgPortableMapPlotCollection>;
 
-class MgdMapPlot;
+class MgPortableMapPlot;
 /// \ingroup Desktop_Misc_Module
 /// \{
 /////////////////////////////////////////////////////////////////
 /// \brief
-/// Manipulates collections of MgdMapPlot objects.
-class MG_DESKTOP_API MgdMapPlotCollection : public MgSerializable
+/// Manipulates collections of MgPortableMapPlot objects.
+class MG_DESKTOP_API MgPortableMapPlotCollection : public MgSerializable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdMapPlotCollection)
+    DECLARE_CLASSNAME(MgPortableMapPlotCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////
@@ -59,13 +59,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlot GetItem(int index);
+    /// MgPortableMapPlot GetItem(int index);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlot GetItem(int index);
+    /// MgPortableMapPlot GetItem(int index);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlot GetItem(int index);
+    /// MgPortableMapPlot GetItem(int index);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param index (int)
@@ -72,11 +72,11 @@
     /// Index of the map to get.
     ///
     /// \return
-    /// Returns the specified MgdMapPlot object.
+    /// Returns the specified MgPortableMapPlot object.
     ///
     /// \exception MgOutOfRangeException if the index is invalid.
     ///
-    MgdMapPlot* GetItem(INT32 index);
+    MgPortableMapPlot* GetItem(INT32 index);
 
     //////////////////////////////////////////////////////////////
     /// \brief
@@ -84,13 +84,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlot GetItem(string name);
+    /// MgPortableMapPlot GetItem(string name);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlot GetItem(String name);
+    /// MgPortableMapPlot GetItem(String name);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlot GetItem(string name);
+    /// MgPortableMapPlot GetItem(string name);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param name (String/string)
@@ -97,12 +97,12 @@
     /// Name of the MapPlot to get.
     ///
     /// \return
-    /// Returns the specified MgdMapPlot object.
+    /// Returns the specified MgPortableMapPlot object.
     ///
     /// \exception MgInvalidArgumentException if the name does not exist in
     ///  the collection.
     ///
-    MgdMapPlot* GetItem(CREFSTRING name);
+    MgPortableMapPlot* GetItem(CREFSTRING name);
 
     //////////////////////////////////////////////////////////////////
     /// \brief
@@ -111,20 +111,20 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetItem(int index, MgdMapPlot value);
+    /// void SetItem(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void SetItem(int index, MgdMapPlot value);
+    /// void SetItem(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void SetItem(int index, MgdMapPlot value);
+    /// void SetItem(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param index (int)
     /// Position in the collection to set the
     /// MgMapPot.
-    /// \param value (MgdMapPlot)
-    /// MgdMapPlot to be set in the collection.
+    /// \param value (MgPortableMapPlot)
+    /// MgPortableMapPlot to be set in the collection.
     ///
     /// \return
     /// Returns nothing.
@@ -131,7 +131,7 @@
     ///
     /// \exception MgOutOfRangeException if the index is out of range.
     ///
-    void SetItem(INT32 index, MgdMapPlot* value);
+    void SetItem(INT32 index, MgPortableMapPlot* value);
 
     ////////////////////////////////////////////////////////////////////
     /// \brief
@@ -139,22 +139,22 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void Add(MgdMapPlot value);
+    /// void Add(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void Add(MgdMapPlot value);
+    /// void Add(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void Add(MgdMapPlot value);
+    /// void Add(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param value (MgdMapPlot)
-    /// MgdMapPlot to be added to the collection.
+    /// \param value (MgPortableMapPlot)
+    /// MgPortableMapPlot to be added to the collection.
     ///
     /// \return
     /// Returns nothing.
     ///
-    void Add(MgdMapPlot* value);
+    void Add(MgPortableMapPlot* value);
 
     ///////////////////////////////////////////////////////////////////////
     /// \brief
@@ -166,20 +166,20 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// void Insert(int index, MgdMapPlot value);
+    /// void Insert(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// void Insert(int index, MgdMapPlot value);
+    /// void Insert(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// void Insert(int index, MgdMapPlot value);
+    /// void Insert(int index, MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param index (int)
     /// Position in the collection to insert the
-    /// MgdMapPlot.
-    /// \param value (MgdMapPlot)
-    /// MgdMapPlot to be inserted in the collection.
+    /// MgPortableMapPlot.
+    /// \param value (MgPortableMapPlot)
+    /// MgPortableMapPlot to be inserted in the collection.
     ///
     /// \return
     /// Returns nothing.
@@ -187,7 +187,7 @@
     /// \exception MgOutOfRangeException if the specified index is out of
     ///  range.
     ///
-    void Insert(INT32 index, MgdMapPlot* value);
+    void Insert(INT32 index, MgPortableMapPlot* value);
 
     /////////////////////////////////////////
     /// \brief
@@ -215,23 +215,23 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// bool Remove(MgdMapPlot value);
+    /// bool Remove(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// bool Remove(MgdMapPlot value);
+    /// bool Remove(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// bool Remove(MgdMapPlot value);
+    /// bool Remove(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param value (MgdMapPlot)
-    /// MgdMapPlot to be removed
+    /// \param value (MgPortableMapPlot)
+    /// MgPortableMapPlot to be removed
     ///
     /// \return
     /// Returns true if removal was successful.
     ///
     ///
-    bool Remove(MgdMapPlot* value);
+    bool Remove(MgPortableMapPlot* value);
 
     ///////////////////////////////////////////////////////////////
     /// \brief
@@ -289,23 +289,23 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// bool Contains(MgdMapPlot value);
+    /// bool Contains(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// boolean Contains(MgdMapPlot value);
+    /// boolean Contains(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// bool Contains(MgdMapPlot value);
+    /// bool Contains(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param value (MgdMapPlot)
-    /// The MgdMapPlot to look for.
+    /// \param value (MgPortableMapPlot)
+    /// The MgPortableMapPlot to look for.
     ///
     /// \return
     /// Returns true if the collection contains the specified MapPlot,
     /// or false otherwise.
     ///
-    bool Contains(MgdMapPlot* value);
+    bool Contains(MgPortableMapPlot* value);
 
     ///////////////////////////////////////////////////////////////////
     /// \brief
@@ -337,16 +337,16 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// int IndexOf(MgdMapPlot value);
+    /// int IndexOf(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// int IndexOf(MgdMapPlot value);
+    /// int IndexOf(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// int IndexOf(MgdMapPlot value);
+    /// int IndexOf(MgPortableMapPlot value);
     /// \htmlinclude SyntaxBottom.html
     ///
-    /// \param value (MgdMapPlot)
+    /// \param value (MgPortableMapPlot)
     /// Value of the item to get the index of.
     ///
     /// \return
@@ -353,23 +353,23 @@
     /// Returns the MapPlot's index if the collection contains the
     /// specified MapPlot, or false (-1) otherwise.
     ///
-    INT32 IndexOf(MgdMapPlot* value);
+    INT32 IndexOf(MgPortableMapPlot* value);
 
     /// \brief
-    /// Constructs an empty MgdMapPlotCollection object.
+    /// Constructs an empty MgPortableMapPlotCollection object.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdMapPlotCollection();
+    /// MgPortableMapPlotCollection();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdMapPlotCollection();
+    /// MgPortableMapPlotCollection();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdMapPlotCollection();
+    /// MgPortableMapPlotCollection();
     /// \htmlinclude SyntaxBottom.html
     ///
-    MgdMapPlotCollection();
+    MgPortableMapPlotCollection();
 
 INTERNAL_API:
     //////////////////////////////////////////////////////////////////
@@ -392,12 +392,12 @@
 
 protected:
     /// \brief
-    /// Destruct a MgdMapPlotCollection object
+    /// Destruct a MgPortableMapPlotCollection object
     ///
     /// \return
     /// Nothing
     ///
-    virtual ~MgdMapPlotCollection();
+    virtual ~MgPortableMapPlotCollection();
 
     /// \brief
     /// Get the unique identifier for the class

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MapPlotInstruction.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,12 +22,12 @@
 /// \{
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// MgdMapPlotInstruction defines enumerated values used to indicate whether the plot
+/// MgPortableMapPlotInstruction defines enumerated values used to indicate whether the plot
 /// should be based on the center and scale of the map,
 /// an overridden center and scale, or an overridden extent.
-class MG_DESKTOP_API MgdMapPlotInstruction
+class MG_DESKTOP_API MgPortableMapPlotInstruction
 {
-    DECLARE_CLASSNAME(MgdMapPlotInstruction)
+    DECLARE_CLASSNAME(MgPortableMapPlotInstruction)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingDefs.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MappingDefs.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingDefs.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_MAPPING_DEFS_H
 #define DESKTOP_MAPPING_DEFS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include <assert.h>
 
 ///////////////////////////////////////////////////////////////////////////////

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MappingUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -50,7 +50,7 @@
 #endif
 
 ///////////////////////////////////////////////////////////////////////////////
-MdfModel::MapDefinition* MgdMappingUtil::GetMapDefinition(MgResourceService* svcResource, MgResourceIdentifier* resId)
+MdfModel::MapDefinition* MgPortableMappingUtil::GetMapDefinition(MgResourceService* svcResource, MgResourceIdentifier* resId)
 {
     //get and parse the mapdef
     Ptr<MgByteReader> mdfReader = svcResource->GetResourceContent(resId, L"");
@@ -66,7 +66,7 @@
         STRING errorMsg = parser.GetErrorMessage();
         MgStringCollection arguments;
         arguments.Add(errorMsg);
-        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgdMappingUtil::GetMapDefinition", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgPortableMappingUtil::GetMapDefinition", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     // detach the map definition from the parser - it's
@@ -79,13 +79,13 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-RSMgdFeatureReader* MgdMappingUtil::ExecuteFeatureQuery(MgFeatureService* svcFeature,
+RSMgPortableFeatureReader* MgPortableMappingUtil::ExecuteFeatureQuery(MgFeatureService* svcFeature,
                                                       RS_Bounds& extent,
                                                       MdfModel::VectorLayerDefinition* vl,
                                                       const wchar_t* overrideFilter,
                                                       MgCoordinateSystem* mapCs,
                                                       MgCoordinateSystem* layerCs,
-                                                      MgdTransformCache* cache)
+                                                      MgPortableTransformCache* cache)
 {
 #ifdef _DEBUG
     long dwStart = GetTickCount();
@@ -234,12 +234,12 @@
     ACE_DEBUG((LM_INFO, L"(%t)  ExecuteFeatureQuery() total time = %6.4f (s)\n", (GetTickCount()-dwStart)/1000.0));
 #endif
 
-    return new RSMgdFeatureReader(rdr.p, svcFeature, featResId.p, options, vl->GetGeometry());
+    return new RSMgPortableFeatureReader(rdr.p, svcFeature, featResId.p, options, vl->GetGeometry());
 }
 
 
 ///////////////////////////////////////////////////////////////////////////////
-RSMgdFeatureReader* MgdMappingUtil::ExecuteRasterQuery(MgFeatureService* svcFeature,
+RSMgPortableFeatureReader* MgPortableMappingUtil::ExecuteRasterQuery(MgFeatureService* svcFeature,
                                                      RS_Bounds& extent,
                                                      MdfModel::GridLayerDefinition* gl,
                                                      const wchar_t* overrideFilter,
@@ -346,7 +346,7 @@
     // TODO: could it be an extension name and not a FeatureClassName?
     rdr = svcFeature->SelectFeatures(featResId, gl->GetFeatureName(), options);
 
-    return new RSMgdFeatureReader(rdr.p, svcFeature, featResId.p, options, L"clipped_raster");
+    return new RSMgPortableFeatureReader(rdr.p, svcFeature, featResId.p, options, L"clipped_raster");
 }
 
 
@@ -353,11 +353,11 @@
 ///////////////////////////////////////////////////////////////////////////////
 // This is called by the MgServerRenderingService::RenderMapInternal to
 // render the layers.
-void MgdMappingUtil::StylizeLayers(MgResourceService* svcResource,
+void MgPortableMappingUtil::StylizeLayers(MgResourceService* svcResource,
                                   MgFeatureService* svcFeature,
-                                  MgdDrawingService* svcDrawing,
+                                  MgPortableDrawingService* svcDrawing,
                                   MgCoordinateSystemFactory* csFactory,
-                                  MgdMap* map,
+                                  MgPortableMap* map,
                                   MgReadOnlyLayerCollection* layers,
                                   MgStringCollection* overrideFilters,
                                   Stylizer* ds,
@@ -378,13 +378,13 @@
 
     // Cache coordinate system transforms for the life of the
     // stylization operation.
-    MgdTransformCacheMap transformCache;
+    MgPortableTransformCacheMap transformCache;
 
     // Get the layers' resource content in a single request by adding them to a collection
     for (int i = layers->GetCount()-1; i >= 0; i--)
     {
         std::unique_ptr<MdfModel::LayerDefinition> ldf;
-        RSMgdFeatureReader* rsReader = NULL;
+        RSMgPortableFeatureReader* rsReader = NULL;
 
         Ptr<MgLayerBase> mapLayer = layers->GetItem(i);
 
@@ -417,7 +417,7 @@
         MG_SERVER_MAPPING_SERVICE_TRY()
 
             // Just profile visible layers?
-            MgdTransformCache* TCForProfile = NULL;
+            MgPortableTransformCache* TCForProfile = NULL;
             double minScale_Profile = 0.0;
             double maxScale_Profile = MdfModel::VectorScaleRange::MAX_MAP_SCALE;
             if(NULL != pPRLsResult)
@@ -425,7 +425,7 @@
                 ProfileRenderLayerResult* pPRLResult = new ProfileRenderLayerResult(); // points points to Profile Render Layers Result
                
                 // Set the start time of stylizing layer
-                pPRLResult->SetRenderTime(MgdTimerUtil::GetTime());
+                pPRLResult->SetRenderTime(MgPortableTimerUtil::GetTime());
 
                 ProfileRenderLayerResultCollection* pPRLResultColl = pPRLsResult->GetProfileRenderLayerResults();
                 pPRLResultColl->Adopt(pPRLResult);
@@ -437,7 +437,7 @@
 
             Ptr<MgLayerGroup> group = mapLayer->GetGroup();
             
-            MgdLogDetail logDetail(MgServiceType::MappingService, MgdLogDetail::InternalTrace, L"MgdMappingUtil.StylizeLayers", mgStackParams);
+            MgPortableLogDetail logDetail(MgServiceType::MappingService, MgPortableLogDetail::InternalTrace, L"MgPortableMappingUtil.StylizeLayers", mgStackParams);
             logDetail.AddString(L"Map",map->GetName());
 
             logDetail.AddResourceIdentifier(L"LayerId",layerid);
@@ -531,10 +531,10 @@
                     #endif
 
                     //get a transform from layer coord sys to map coord sys
-                    MgdTransformCache* item = MgdTransformCache::GetLayerToMapTransform(transformCache, vl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
+                    MgPortableTransformCache* item = MgPortableTransformCache::GetLayerToMapTransform(transformCache, vl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
                     TCForProfile = item;
                     Ptr<MgCoordinateSystem> layerCs = item? item->GetCoordSys() : NULL;
-                    MgdCSTrans* xformer = item? item->GetTransform() : NULL;
+                    MgPortableCSTrans* xformer = item? item->GetTransform() : NULL;
 
                     //extract hyperlink and tooltip info
                     if (!vl->GetToolTip().empty()) layerInfo.hastooltips() = true;
@@ -609,7 +609,7 @@
             else if (gl) //############################################################################ grid layer
             {
                 // TODO: FDO RFP - Make FdoPtr's reference counter thread-safe.
-                static ACE_Recursive_Thread_Mutex sg_fdoRfpMgdMutex;
+                static ACE_Recursive_Thread_Mutex sg_fdoRfpMgPortableMutex;
 
                 // make sure we have a valid scale range
                 MdfModel::GridScaleRange* scaleRange = Stylizer::FindScaleRange(*gl->GetScaleRanges(), scale);
@@ -638,15 +638,15 @@
                     MdfModel::MdfString featureName = gl->GetFeatureName();
 
                     //get a transform from layer coord sys to map coord sys
-                    MgdTransformCache* item = NULL;
+                    MgPortableTransformCache* item = NULL;
                     {
-                        ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sg_fdoRfpMgdMutex));
-                        item = MgdTransformCache::GetLayerToMapTransform(transformCache, gl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
+                        ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sg_fdoRfpMgPortableMutex));
+                        item = MgPortableTransformCache::GetLayerToMapTransform(transformCache, gl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
                     }
                     TCForProfile = item;
 
                     Ptr<MgCoordinateSystem> layerCs = item? item->GetCoordSys() : NULL;
-                    MgdCSTrans* xformer = item? item->GetTransform() : NULL;
+                    MgPortableCSTrans* xformer = item? item->GetTransform() : NULL;
 
                     // Test if layer and map are using the same coordinate systems
                     if (NULL == layerCs.p || NULL == dstCs || layerCs->GetCsCode() == dstCs->GetCsCode())
@@ -734,7 +734,7 @@
                     //perform the raster query
                     FdoPtr<FdoIFeatureReader> fdoReader;
                     {
-                        ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sg_fdoRfpMgdMutex));
+                        ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sg_fdoRfpMgPortableMutex));
                         rsReader = ExecuteRasterQuery(svcFeature, extent, gl, overrideFilter.c_str(), dstCs, layerCs, width, height);
                         fdoReader = (NULL == rsReader) ? NULL : rsReader->GetInternalReader();
                     }
@@ -770,8 +770,8 @@
                     size_t i0 = st.find(L"<CoordinateSpace>");
                     size_t i1 = st.find(L"</CoordinateSpace>");
 
-                    MgdTransformCache* cached = NULL;
-                    MgdCSTrans* xformer = NULL;
+                    MgPortableTransformCache* cached = NULL;
+                    MgPortableCSTrans* xformer = NULL;
 
                     if (i0 != STRING::npos && i1 != STRING::npos)
                     {
@@ -781,7 +781,7 @@
                         if (!cs.empty() && cs != dstCs->ToString())
                         {
                             // Create coordinate system transformer
-                            MgdTransformCacheMap::const_iterator iter = transformCache.find(cs);
+                            MgPortableTransformCacheMap::const_iterator iter = transformCache.find(cs);
                             if (transformCache.end() != iter) cached = (*iter).second;
                             if (NULL != cached)
                             {
@@ -792,8 +792,8 @@
                                 Ptr<MgCoordinateSystem> srcCs = csFactory->Create(cs);
                                 if (srcCs.p)
                                 {
-                                    xformer = new MgdCSTrans(srcCs, dstCs);
-                                    cached = new MgdTransformCache(xformer, srcCs);
+                                    xformer = new MgPortableCSTrans(srcCs, dstCs);
+                                    cached = new MgPortableTransformCache(xformer, srcCs);
                                     transformCache[cs] = cached;
                                 }
                             }
@@ -804,7 +804,7 @@
                     //get DWF from drawing service
                     Ptr<MgByteReader> reader = svcDrawing->GetSection(resId, dl->GetSheet());
 
-                    RSMgdInputStream is(reader);
+                    RSMgPortableInputStream is(reader);
 
                     dr->StartLayer(&layerInfo, NULL);
                     ds->StylizeDrawingLayer(dl, dr, &is, xformer, scale);
@@ -824,7 +824,7 @@
                 ProfileRenderLayerResult* pPRLResult = pPRLResultColl->GetAt(pPRLResultColl->GetCount()-1); //TODO: check index
                 
                 // Calculate the time spent on stylizing layer
-                double stylizeLayerTime = MgdTimerUtil::GetTime() - pPRLResult->GetRenderTime();
+                double stylizeLayerTime = MgPortableTimerUtil::GetTime() - pPRLResult->GetRenderTime();
                 pPRLResult->SetRenderTime(stylizeLayerTime);
 
                 pPRLResult->SetResourceId(layerid->ToString());
@@ -870,7 +870,7 @@
                 pPRLResult->SetFilter(filter.empty()? mapLayer->GetFilter() : filter);
             }
 
-        MG_SERVER_MAPPING_SERVICE_CATCH(L"MgdMappingUtil.StylizeLayers");
+        MG_SERVER_MAPPING_SERVICE_CATCH(L"MgPortableMappingUtil.StylizeLayers");
 
         delete rsReader;
 
@@ -891,7 +891,7 @@
             argumentsWhy.Add(mgException->GetExceptionMessage(locale));
 
             Ptr<MgException> exception;
-            exception = new MgException(MgExceptionCodes::MgStylizeLayerFailedException, L"MgdMappingUtil.StylizeLayers", __LINE__, __WFILE__, &arguments, L"MgFormatInnerExceptionMessage", &argumentsWhy);
+            exception = new MgException(MgExceptionCodes::MgStylizeLayerFailedException, L"MgPortableMappingUtil.StylizeLayers", __LINE__, __WFILE__, &arguments, L"MgFormatInnerExceptionMessage", &argumentsWhy);
 
             STRING message = exception->GetExceptionMessage(locale);
             STRING stackTrace = exception->GetStackTrace(locale);
@@ -921,7 +921,7 @@
                 ProfileRenderLayerResult* pPRLResult = pPRLResultColl->GetAt(pPRLResultColl->GetCount()-1); //TODO: check index
                 
                 // Calculate the time spent on stylizing layer
-                double stylizeLayerTime = MgdTimerUtil::GetTime() - pPRLResult->GetRenderTime();
+                double stylizeLayerTime = MgPortableTimerUtil::GetTime() - pPRLResult->GetRenderTime();
                 pPRLResult->SetRenderTime(stylizeLayerTime);
 
                 Ptr<MgResourceIdentifier> layerid = mapLayer->GetLayerDefinition();
@@ -938,7 +938,7 @@
     ACE_DEBUG((LM_INFO, L"(%t)StylizeLayers() **MAPDONE** Layers:%d  Total Time:%6.4f (s)\n\n", layers->GetCount(), (GetTickCount()-dwStart)/1000.0));
     #endif
 
-    MgdTransformCache::Clear(transformCache);
+    MgPortableTransformCache::Clear(transformCache);
 }
 
 
@@ -950,7 +950,7 @@
 // most cases the additional "size" of a feature due to its stylization is
 // measured in device units.  The exception is a symbol whose size is defined
 // in mapping units.
-double MgdMappingUtil::ComputeStylizationOffset(MgdMap* map,
+double MgPortableMappingUtil::ComputeStylizationOffset(MgPortableMap* map,
                                                MdfModel::VectorScaleRange* scaleRange,
                                                double scale)
 {
@@ -1179,14 +1179,14 @@
     {
         double tileExtentOffset = 0.0;
         MgConfiguration* pConf = MgConfiguration::GetInstance();
-        pConf->GetDoubleValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                              MgdConfigProperties::RenderingServicePropertyTileExtentOffset,
+        pConf->GetDoubleValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                              MgPortableConfigProperties::RenderingServicePropertyTileExtentOffset,
                               tileExtentOffset,
-                              MgdConfigProperties::DefaultRenderingServicePropertyTileExtentOffset);
+                              MgPortableConfigProperties::DefaultRenderingServicePropertyTileExtentOffset);
         if (tileExtentOffset < 0.0)
-            tileExtentOffset = MgdConfigProperties::DefaultRenderingServicePropertyTileExtentOffset;
+            tileExtentOffset = MgPortableConfigProperties::DefaultRenderingServicePropertyTileExtentOffset;
 
-        INT32 maxTileDimension = rs_max(MgdTileParameters::tileWidth, MgdTileParameters::tileHeight);
+        INT32 maxTileDimension = rs_max(MgPortableTileParameters::tileWidth, MgPortableTileParameters::tileHeight);
         INT32 offsetPixels = (INT32)ceil(maxTileDimension * tileExtentOffset);
 
         double unitsPerPixel = metersPerPixel * scale / metersPerUnit;
@@ -1199,7 +1199,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // draws a given feature type style into an image
-MgByteReader* MgdMappingUtil::DrawFTS(MgResourceService* svcResource,
+MgByteReader* MgPortableMappingUtil::DrawFTS(MgResourceService* svcResource,
                                      MdfModel::FeatureTypeStyle* fts,
                                      INT32 imgWidth,
                                      INT32 imgHeight,
@@ -1214,8 +1214,8 @@
     AGGRenderer er(imgWidth, imgHeight, bgcolor, false, false, 0.0);
 
     // and also set up symbol managers for it
-    SEMgdSymbolManager se_sman(svcResource);
-    RSMgdSymbolManager rs_sman(svcResource);
+    SEMgPortableSymbolManager se_sman(svcResource);
+    RSMgPortableSymbolManager rs_sman(svcResource);
     er.SetSymbolManager(&rs_sman);
 
     // draw the preview
@@ -1242,7 +1242,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // transforms a given extent and returns the new extent in the new cs
-MgEnvelope* MgdMappingUtil::TransformExtent(MgEnvelope* extent, MgCoordinateSystemTransform* xform)
+MgEnvelope* MgPortableMappingUtil::TransformExtent(MgEnvelope* extent, MgCoordinateSystemTransform* xform)
 {
     Ptr<MgEnvelope> xformedExt = xform->Transform(extent);
     Ptr<MgPolygon> ccPoly = GetPolygonFromEnvelope(xformedExt);
@@ -1253,7 +1253,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // returns an MgPolygon from a given envelope
-MgPolygon* MgdMappingUtil::GetPolygonFromEnvelope(MgEnvelope* env)
+MgPolygon* MgPortableMappingUtil::GetPolygonFromEnvelope(MgEnvelope* env)
 {
     Ptr<MgCoordinate> ll = env->GetLowerLeftCoordinate();
     Ptr<MgCoordinate> ur = env->GetUpperRightCoordinate();
@@ -1273,7 +1273,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdMappingUtilExceptionTrap(FdoException* except, int line, wchar_t* file)
+void MgPortableMappingUtilExceptionTrap(FdoException* except, int line, wchar_t* file)
 {
     MG_TRY()
 
@@ -1303,9 +1303,9 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdMappingUtil::InitializeStylizerCallback()
+void MgPortableMappingUtil::InitializeStylizerCallback()
 {
-    SetStylizerExceptionCallback(&MgdMappingUtilExceptionTrap);
+    SetStylizerExceptionCallback(&MgPortableMappingUtilExceptionTrap);
 }
 
 
@@ -1315,7 +1315,7 @@
 // RETURNS: A pointer to the list of colors of the collected colors (maybe
 //          empty but not null)
 ///////////////////////////////////////////////////////////////////////////////
-void MgdMappingUtil::GetUsedColorsFromScaleRange(ColorStringList& usedColorList,
+void MgPortableMappingUtil::GetUsedColorsFromScaleRange(ColorStringList& usedColorList,
                                                 MdfModel::VectorScaleRange* scaleRange,
                                                 SE_SymbolManager* sman)
 {
@@ -1463,7 +1463,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Extract colors from the scalerange, lookup the referenceIds, and store
 // them with the map.
-void MgdMappingUtil::ExtractColors(MgdMap* map, MdfModel::VectorScaleRange* scaleRange, Stylizer* stylizer)
+void MgPortableMappingUtil::ExtractColors(MgPortableMap* map, MdfModel::VectorScaleRange* scaleRange, Stylizer* stylizer)
 {
     // add the colors from this scaleRange and vectorlayer to the map colors
     try
@@ -1486,7 +1486,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // overloaded helper for SimpleSymbolDefinition
-inline void MgdMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::SimpleSymbolDefinition* symdef)
+inline void MgPortableMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::SimpleSymbolDefinition* symdef)
 {
     // the visitor for the graphics
     class GraphicElementVisitorImpl : public MdfModel::IGraphicElementVisitor
@@ -1533,7 +1533,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // overloaded helper for CompoundSymbolDefinition
-inline void MgdMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::CompoundSymbolDefinition* symdef)
+inline void MgPortableMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::CompoundSymbolDefinition* symdef)
 {
     if (symdef)
     {
@@ -1559,7 +1559,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // overloaded helper for SymbolDefinition
-inline void MgdMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::SymbolDefinition* symdef)
+inline void MgPortableMappingUtil::FindColorInSymDefHelper(ColorStringList& colorList, MdfModel::SymbolDefinition* symdef)
 {
     FindColorInSymDefHelper(colorList, dynamic_cast<MdfModel::SimpleSymbolDefinition*>(symdef));
     FindColorInSymDefHelper(colorList, dynamic_cast<MdfModel::CompoundSymbolDefinition*>(symdef));
@@ -1575,7 +1575,7 @@
 // has a list from all color entries found in the most recent layer stylization.
 // TODO - currently they are interpreted as ffffffff 32 bit RGBA string values.
 // Adding expressions and other interpretations could be done here.
-void MgdMappingUtil::ParseColorStrings (RS_ColorVector* tileColorPalette, MgdMap* map)
+void MgPortableMappingUtil::ParseColorStrings (RS_ColorVector* tileColorPalette, MgPortableMap* map)
 {
     assert(tileColorPalette);
     assert(map);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/MappingUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/MappingUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_MAPPING_UTIL_H
 #define DESKTOP_MAPPING_UTIL_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "MapLayer/Layer.h"
 #include "MapLayer/Map.h"
 #include "RendererStyles.h"
@@ -30,7 +30,7 @@
 class MgResourceService;
 class MgFeatureService;
 class MgFeatureReader;
-class MgdDrawingService;
+class MgPortableDrawingService;
 class MgCoordinateSystemFactory;
 class MgResourceIdentifier;
 class MgReadOnlyLayerCollection;
@@ -37,8 +37,8 @@
 class MgStringCollection;
 class MgMapBase;
 class MgCoordinateSystem;
-class RSMgdFeatureReader;
-class MgdTransformCache;
+class RSMgPortableFeatureReader;
+class MgPortableTransformCache;
 class SE_SymbolManager;
 class Stylizer;
 class Renderer;
@@ -57,14 +57,14 @@
 }
 
 //Common stylization utility code -- used by both the mapping and rendering services
-class MgdMappingUtil
+class MgPortableMappingUtil
 {
 public:
     static void StylizeLayers(MgResourceService* svcResource,
                               MgFeatureService* svcFeature,
-                              MgdDrawingService* svcDrawing,
+                              MgPortableDrawingService* svcDrawing,
                               MgCoordinateSystemFactory* csFactory,
-                              MgdMap* map,
+                              MgPortableMap* map,
                               MgReadOnlyLayerCollection* layers,
                               MgStringCollection* overrideFilters,
                               Stylizer* ds,
@@ -78,15 +78,15 @@
                               ProfileRenderLayersResultBase* = NULL,
                               CancelStylization cancel = NULL);
 
-    static RSMgdFeatureReader* ExecuteFeatureQuery(MgFeatureService* svcFeature,
+    static RSMgPortableFeatureReader* ExecuteFeatureQuery(MgFeatureService* svcFeature,
                                                  RS_Bounds& extent,
                                                  MdfModel::VectorLayerDefinition* vl,
                                                  const wchar_t* overrideFilter,
                                                  MgCoordinateSystem* mapCs,
                                                  MgCoordinateSystem* layerCs,
-                                                 MgdTransformCache* cache);
+                                                 MgPortableTransformCache* cache);
 
-    static RSMgdFeatureReader* ExecuteRasterQuery(MgFeatureService* svcFeature,
+    static RSMgPortableFeatureReader* ExecuteRasterQuery(MgFeatureService* svcFeature,
                                                 RS_Bounds& extent,
                                                 MdfModel::GridLayerDefinition* gl,
                                                 const wchar_t* overrideFilter,
@@ -98,7 +98,7 @@
     static MdfModel::MapDefinition* GetMapDefinition(MgResourceService* svcResource, MgResourceIdentifier* resId);
 
     static MgByteReader* DrawFTS(MgResourceService* svcResource, MdfModel::FeatureTypeStyle* fts, INT32 imgWidth, INT32 imgHeight, INT32 themeCategory);
-    static double ComputeStylizationOffset(MgdMap* map, MdfModel::VectorScaleRange* scaleRange, double scale);
+    static double ComputeStylizationOffset(MgPortableMap* map, MdfModel::VectorScaleRange* scaleRange, double scale);
 
     static MgEnvelope* TransformExtent(MgEnvelope* extent, MgCoordinateSystemTransform* xform);
 
@@ -106,7 +106,7 @@
     static MgPolygon* GetPolygonFromEnvelope(MgEnvelope* extent);
 
     // RFC60 addition
-    static void ExtractColors(MgdMap* map, MdfModel::VectorScaleRange* scaleRange, Stylizer* stylizer);
+    static void ExtractColors(MgPortableMap* map, MdfModel::VectorScaleRange* scaleRange, Stylizer* stylizer);
     static void GetUsedColorsFromScaleRange(ColorStringList& usedColorList, MdfModel::VectorScaleRange* scaleRange, SE_SymbolManager* sman);
 
     // helpers
@@ -118,7 +118,7 @@
     // object has a list from all color entries found in the most recent layer stylization.
     // TODO: currently they are interpreted as ffffffff 32 bit RGBA string values.
     // The color palette passed to the renderer is a std::vector<RS_Color>
-    static void ParseColorStrings(RS_ColorVector* tileColorPalette, MgdMap* map);
+    static void ParseColorStrings(RS_ColorVector* tileColorPalette, MgPortableMap* map);
 };
 
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/PlotSpecification.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,11 +17,11 @@
 
 #include "PlotSpecification.h"
 
-MG_IMPL_DYNCREATE(MgdPlotSpecification)
+MG_IMPL_DYNCREATE(MgPortablePlotSpecification)
 
-// Construct a MgdPlotSpecification object
+// Construct a MgPortablePlotSpecification object
 //
-MgdPlotSpecification::MgdPlotSpecification(float paperWidth, float paperHeight, CREFSTRING pageUnits,
+MgPortablePlotSpecification::MgPortablePlotSpecification(float paperWidth, float paperHeight, CREFSTRING pageUnits,
                                          float left, float top, float right, float bottom) :
     m_marginLeft(left), m_marginTop(top), m_marginRight(right), m_marginBottom(bottom)
 {
@@ -30,7 +30,7 @@
     m_pageUnits = pageUnits;
 }
 
-MgdPlotSpecification::MgdPlotSpecification() : m_marginLeft(0), m_marginTop(0), m_marginRight(0), m_marginBottom(0)
+MgPortablePlotSpecification::MgPortablePlotSpecification() : m_marginLeft(0), m_marginTop(0), m_marginRight(0), m_marginBottom(0)
 {
     m_paperWidth = 0.;
     m_paperHeight = 0.;
@@ -38,7 +38,7 @@
 
 // Returns the paper width in page units
 //
-float MgdPlotSpecification::GetPaperWidth()
+float MgPortablePlotSpecification::GetPaperWidth()
 {
     return m_paperWidth;
 }
@@ -45,7 +45,7 @@
 
 // Sets the paper width in page units
 //
-void MgdPlotSpecification::SetPaperWidth(float width)
+void MgPortablePlotSpecification::SetPaperWidth(float width)
 {
     m_paperWidth = width;
 }
@@ -52,7 +52,7 @@
 
 // Returns the paper height in page units
 //
-float MgdPlotSpecification::GetPaperHeight()
+float MgPortablePlotSpecification::GetPaperHeight()
 {
     return m_paperHeight;
 }
@@ -59,46 +59,46 @@
 
 // Sets the paper height in page units
 //
-void MgdPlotSpecification::SetPaperHeight(float height)
+void MgPortablePlotSpecification::SetPaperHeight(float height)
 {
     m_paperHeight = height;
 }
 
-// Returns the units of measure for the page.  See MgdPageUnitsType for valid units.
+// Returns the units of measure for the page.  See MgPortablePageUnitsType for valid units.
 //
-STRING MgdPlotSpecification::GetPageSizeUnits()
+STRING MgPortablePlotSpecification::GetPageSizeUnits()
 {
     return m_pageUnits;
 }
 
-// Set the units of measure for the page.  See MgdPageUnitsType for valid units.
+// Set the units of measure for the page.  See MgPortablePageUnitsType for valid units.
 //
-void MgdPlotSpecification::SetPageSizeUnits(CREFSTRING pageUnits)
+void MgPortablePlotSpecification::SetPageSizeUnits(CREFSTRING pageUnits)
 {
     m_pageUnits = pageUnits;
 }
 
-float MgdPlotSpecification::GetMarginLeft()
+float MgPortablePlotSpecification::GetMarginLeft()
 {
     return m_marginLeft;
 }
 
-float MgdPlotSpecification::GetMarginTop()
+float MgPortablePlotSpecification::GetMarginTop()
 {
     return m_marginTop;
 }
 
-float MgdPlotSpecification::GetMarginRight()
+float MgPortablePlotSpecification::GetMarginRight()
 {
     return m_marginRight;
 }
 
-float MgdPlotSpecification::GetMarginBottom()
+float MgPortablePlotSpecification::GetMarginBottom()
 {
     return m_marginBottom;
 }
 
-void MgdPlotSpecification::SetMargins(float left, float top, float right, float bottom)
+void MgPortablePlotSpecification::SetMargins(float left, float top, float right, float bottom)
 {
     m_marginLeft   = left;
     m_marginTop    = top;
@@ -108,7 +108,7 @@
 
 // Serialize data to a stream
 //
-void MgdPlotSpecification::Serialize(MgStream* stream)
+void MgPortablePlotSpecification::Serialize(MgStream* stream)
 {
     stream->WriteSingle(m_paperWidth);
     stream->WriteSingle(m_paperHeight);
@@ -122,7 +122,7 @@
 
 // Deserialize data from a stream
 //
-void MgdPlotSpecification::Deserialize(MgStream* stream)
+void MgPortablePlotSpecification::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/PlotSpecification.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/PlotSpecification.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_PLOT_SPECIFICATION_H
 #define DESKTOP_PLOT_SPECIFICATION_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 /// \ingroup Desktop_Misc_Module
 /// \{
@@ -26,10 +26,10 @@
 /// \brief
 /// Specifies the size and format of the \link ePlot ePlot \endlink
 /// sheet to be created by the Mapping Service operations.
-class MG_DESKTOP_API MgdPlotSpecification : public MgSerializable
+class MG_DESKTOP_API MgPortablePlotSpecification : public MgSerializable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdPlotSpecification)
+    DECLARE_CLASSNAME(MgPortablePlotSpecification)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////////////
@@ -38,13 +38,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// MgdPlotSpecification(float paperWidth, float paperHeight, string pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
+    /// MgPortablePlotSpecification(float paperWidth, float paperHeight, string pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// MgdPlotSpecification(float paperWidth, float paperHeight, String pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
+    /// MgPortablePlotSpecification(float paperWidth, float paperHeight, String pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// MgdPlotSpecification(float paperWidth, float paperHeight, string pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
+    /// MgPortablePlotSpecification(float paperWidth, float paperHeight, string pageUnits, float left = 0, float top = 0, float right = 0, float bottom = 0);
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \param paperWidth (float)
@@ -55,7 +55,7 @@
     /// paper height in page units
     /// \param pageUnits (String/string)
     /// Input
-    /// units for page size.  See MgdPageUnitsType for valid units of measure
+    /// units for page size.  See MgPortablePageUnitsType for valid units of measure
     /// \param left (float)
     /// Input
     /// The left margin between the plot and the page edge.
@@ -72,7 +72,7 @@
     /// \return
     /// Nothing
     ///
-    MgdPlotSpecification(float paperWidth, float paperHeight, CREFSTRING pageUnits,
+    MgPortablePlotSpecification(float paperWidth, float paperHeight, CREFSTRING pageUnits,
         float left = 0, float top = 0, float right = 0, float bottom = 0);
 
     ///////////////////////////////////////////////////////
@@ -203,7 +203,7 @@
     ///
     /// \param pageUnits (String/string)
     /// Units of measure for page. See
-    /// MgdPageUnitsType for valid units.
+    /// MgPortablePageUnitsType for valid units.
     ///
     /// \return
     /// Returns nothing.
@@ -304,7 +304,7 @@
     /// \brief
     /// Default constructor to shut Ptr<> up.
     ///
-    MgdPlotSpecification();
+    MgPortablePlotSpecification();
 
     //////////////////////////////////////////////////////////////////
     /// \brief

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/PrintLayout.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,30 +15,30 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #include "System/XmlDefs.h"
 #include "System/XmlUtil.h"
 
 // Layout element constants
-const double MgdPrintLayout::LegendWidth     = 2.0;
-const double MgdPrintLayout::LegendPadding   = 0.1;
-const double MgdPrintLayout::HeaderHeight    = 1.0;
-const double MgdPrintLayout::ScalebarHeight  = 0.75;
-const double MgdPrintLayout::ScalebarPadding = 0.5;
-const double MgdPrintLayout::FooterHeight    = 0.5;
-const double MgdPrintLayout::GroupIndent     = 0.3;
+const double MgPortablePrintLayout::LegendWidth     = 2.0;
+const double MgPortablePrintLayout::LegendPadding   = 0.1;
+const double MgPortablePrintLayout::HeaderHeight    = 1.0;
+const double MgPortablePrintLayout::ScalebarHeight  = 0.75;
+const double MgPortablePrintLayout::ScalebarPadding = 0.5;
+const double MgPortablePrintLayout::FooterHeight    = 0.5;
+const double MgPortablePrintLayout::GroupIndent     = 0.3;
 
 //const double METERS_PER_INCH      = 0.0254; // meters to inches conversion
 //const double MILLIMETERS_PER_INCH = 25.4;   // millimeters to inches conversion
 
 
-MG_IMPL_DYNCREATE(MgdPrintLayout)
+MG_IMPL_DYNCREATE(MgPortablePrintLayout)
 
-// Construct a MgdPrintLayout object
+// Construct a MgPortablePrintLayout object
 //
-MgdPrintLayout::MgdPrintLayout() :
-    m_scaleBarUnits(MgdUnitType::Metric),
+MgPortablePrintLayout::MgPortablePrintLayout() :
+    m_scaleBarUnits(MgPortableUnitType::Metric),
     m_dPlotScale(0),
     m_dPageWidth(0),
     m_dPageHeight(0),
@@ -51,22 +51,22 @@
     m_bShowCustomLogos(false),
     m_bShowCustomText(false)
 {
-    m_plotSpec = new MgdPlotSpecification(8.5f, 11.f, L"inches");  // NOXLATE
+    m_plotSpec = new MgPortablePlotSpecification(8.5f, 11.f, L"inches");  // NOXLATE
     m_plotCenter = new MgCoordinateXY(0.0, 0.0);
     m_bgColor = new MgColor(255, 255, 255, 0);
 }
 
 
-// Destructor for MgdPrintLayout
-MgdPrintLayout::~MgdPrintLayout()
+// Destructor for MgPortablePrintLayout
+MgPortablePrintLayout::~MgPortablePrintLayout()
 {
 }
 
 
-// Initialize a new MgdPrintLayout object given a resource service
+// Initialize a new MgPortablePrintLayout object given a resource service
 // and print layout defintion.
 //
-void MgdPrintLayout::Create(MgResourceService* resourceService, MgResourceIdentifier* layoutDefinition)
+void MgPortablePrintLayout::Create(MgResourceService* resourceService, MgResourceIdentifier* layoutDefinition)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -75,7 +75,7 @@
     if (0 == resourceService || 0 == layoutDefinition)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdPrintLayout.Create", __LINE__, __WFILE__, NULL, L"", NULL);
+            L"MgPortablePrintLayout.Create", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     // Get the PrintLayout contents
@@ -91,13 +91,13 @@
     // Get the PrintLayout properties
     GetLayoutPropertiesFromXml(&xmlUtil);
 
-    MG_CATCH_AND_THROW(L"MgdPrintLayout.Create")
+    MG_CATCH_AND_THROW(L"MgPortablePrintLayout.Create")
 }
 
 
 // Get the plot title
 //
-STRING MgdPrintLayout::GetPlotTitle()
+STRING MgPortablePrintLayout::GetPlotTitle()
 {
     return m_plotTitle;
 }
@@ -106,7 +106,7 @@
 // Set the plot title.  This overrides the default plot title
 // with a user specified title.
 //
-void MgdPrintLayout::SetPlotTitle(CREFSTRING plotTitle)
+void MgPortablePrintLayout::SetPlotTitle(CREFSTRING plotTitle)
 {
     m_plotTitle = plotTitle;
 }
@@ -114,7 +114,7 @@
 
 //  Get the scale to use for generating the plot with layout.
 //
-double MgdPrintLayout::GetPlotScale()
+double MgPortablePrintLayout::GetPlotScale()
 {
     return m_dPlotScale;
 }
@@ -123,7 +123,7 @@
 // Sets the map scale for the plot.  This will override the
 // current map scale with the specified scale.
 //
-void MgdPrintLayout::SetPlotScale(double dMapScale)
+void MgPortablePrintLayout::SetPlotScale(double dMapScale)
 {
     m_dPlotScale = dMapScale;
 }
@@ -131,7 +131,7 @@
 
 // Get the map center for generating the plot.
 //
-MgCoordinate* MgdPrintLayout::GetPlotCenter()
+MgCoordinate* MgPortablePrintLayout::GetPlotCenter()
 {
     return SAFE_ADDREF((MgCoordinate*)m_plotCenter);
 }
@@ -139,7 +139,7 @@
 
 // Sets the map center for generating the plot.  This will override the
 // current map center with the specified map center.
-void MgdPrintLayout::SetPlotCenter(MgCoordinate* center)
+void MgPortablePrintLayout::SetPlotCenter(MgCoordinate* center)
 {
     m_plotCenter = SAFE_ADDREF(center);
 }
@@ -147,7 +147,7 @@
 
 // Get the plot size.
 //
-MgdPlotSpecification* MgdPrintLayout::GetPlotSize()
+MgPortablePlotSpecification* MgPortablePrintLayout::GetPlotSize()
 {
     return SAFE_ADDREF(m_plotSpec.p);
 }
@@ -156,7 +156,7 @@
 // Set the plot size.  This will override the page size specified
 // in the PrintLayout resource.
 //
-void MgdPrintLayout::SetPlotSize(MgdPlotSpecification* plotSpec)
+void MgPortablePrintLayout::SetPlotSize(MgPortablePlotSpecification* plotSpec)
 {
     m_plotSpec = SAFE_ADDREF(plotSpec);
 }
@@ -164,7 +164,7 @@
 
 // Gets the system of measurement for the scale bar.
 //
-STRING MgdPrintLayout::GetScaleBarUnits()
+STRING MgPortablePrintLayout::GetScaleBarUnits()
 {
     return m_scaleBarUnits;
 }
@@ -172,7 +172,7 @@
 
 // Sets the system of measurement for the scale bar.
 //
-void MgdPrintLayout::SetScaleBarUnits(CREFSTRING units)
+void MgPortablePrintLayout::SetScaleBarUnits(CREFSTRING units)
 {
     m_scaleBarUnits = units;
 }
@@ -180,7 +180,7 @@
 
 // Gets the background color for the layout.
 //
-MgColor* MgdPrintLayout::GetBackgroundColor()
+MgColor* MgPortablePrintLayout::GetBackgroundColor()
 {
     return SAFE_ADDREF((MgColor*)m_bgColor);
 }
@@ -187,15 +187,15 @@
 
 
 // Helper method to get the layout properties from the PrintLayout xml resource.
-void MgdPrintLayout::GetLayoutPropertiesFromXml(MgXmlUtil* pXmlUtil)
+void MgPortablePrintLayout::GetLayoutPropertiesFromXml(MgXmlUtil* pXmlUtil)
 {
-    CHECKNULL(pXmlUtil, L"MgdPrintLayout.GetLayoutPropertiesFromXml()");
+    CHECKNULL(pXmlUtil, L"MgPortablePrintLayout.GetLayoutPropertiesFromXml()");
 
     MG_TRY()
 
     // Retrieve values from the xml document
     DOMElement* root = pXmlUtil->GetRootNode();
-    CHECKNULL(root, L"MgdPrintLayout.GetLayoutProperitesFromXml()");
+    CHECKNULL(root, L"MgPortablePrintLayout.GetLayoutProperitesFromXml()");
 
 //  DOMElement* pageProperties = pXmlUtil->GetElementNode(root, "PageProperties");
 
@@ -244,7 +244,7 @@
         {
             for (XMLSize_t i = 0; i < customLogosNodeList->getLength(); ++i)
             {
-                MgdCustomLogoInfo logoInfo;
+                MgPortableCustomLogoInfo logoInfo;
                 wstring positionX;
                 wstring positionY;
                 wstring positionUnits;
@@ -266,7 +266,7 @@
                         && positionUnits != L"meters" && positionUnits != L"inches" && positionUnits != L"percent")
                     {
                         // invalid print layout position units
-                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdPrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortablePrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
                 pXmlUtil->GetElementValue(logoNode, "ResourceId", resId, false);
@@ -281,7 +281,7 @@
                         && sizeUnits != L"inches" && sizeUnits != L"meters")
                     {
                         // invalid print layout size units
-                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutSizeUnitsException, L"MgdPrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutSizeUnitsException, L"MgPortablePrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
                 pXmlUtil->GetElementValue(logoNode, "Rotation", rotation, false);
@@ -308,7 +308,7 @@
         {
             for (XMLSize_t i = 0; i < customTextNodeList->getLength(); ++i)
             {
-                MgdCustomTextInfo textInfo;
+                MgPortableCustomTextInfo textInfo;
                 wstring positionX;
                 wstring positionY;
                 wstring positionUnits;
@@ -328,7 +328,7 @@
                         && positionUnits != L"percent" && positionUnits != L"meters" && positionUnits != L"inches")
                     {
                         // invalid print layout position units
-                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgdPrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException, L"MgPortablePrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
                 DOMNode* fontNode = pXmlUtil->GetElementNode(textNode, "Font", false);
@@ -341,7 +341,7 @@
                         && fontSizeUnits != L"points" && fontSizeUnits != L"meters" && fontSizeUnits != L"inches")
                     {
                         // invalid print layout font size units
-                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgdPrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException, L"MgPortablePrintLayout.GetLayoutPropertiesFromXml", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
                 pXmlUtil->GetElementValue(textNode, "Value", value, false);
@@ -358,7 +358,7 @@
         }
     }
 
-    // Set MgdPrintLayout values
+    // Set MgPortablePrintLayout values
     INT32 nRed = MgUtil::StringToInt32( szRed );
     INT32 nGreen = MgUtil::StringToInt32( szGreen );
     INT32 nBlue = MgUtil::StringToInt32( szBlue );
@@ -380,13 +380,13 @@
 
     ShowCustomText() = MgUtil::StringToBoolean( szShowCustomText );
 
-    MG_CATCH_AND_THROW(L"MgdPrintLayout.GetLayoutPropertiesFromXml")
+    MG_CATCH_AND_THROW(L"MgPortablePrintLayout.GetLayoutPropertiesFromXml")
 }
 
 
 // Serialize data to a stream
 //
-void MgdPrintLayout::Serialize(MgStream* stream)
+void MgPortablePrintLayout::Serialize(MgStream* stream)
 {
     stream->WriteString(m_plotTitle);
     stream->WriteObject(m_plotSpec);
@@ -408,10 +408,10 @@
     stream->WriteInt32(customLogosCount);
     if (customLogosCount > 0)
     {
-        for (MgdCustomLogoInfoVector::iterator iter = m_logos.begin();
+        for (MgPortableCustomLogoInfoVector::iterator iter = m_logos.begin();
             iter != m_logos.end(); ++iter)
         {
-            MgdCustomLogoInfo logoInfo = (MgdCustomLogoInfo)(*iter);
+            MgPortableCustomLogoInfo logoInfo = (MgPortableCustomLogoInfo)(*iter);
 
             stream->WriteDouble(logoInfo.GetX());
             stream->WriteDouble(logoInfo.GetY());
@@ -429,10 +429,10 @@
     stream->WriteInt32(customTextCount);
     if (customTextCount > 0)
     {
-        for (MgdCustomTextInfoVector::iterator iter = m_text.begin();
+        for (MgPortableCustomTextInfoVector::iterator iter = m_text.begin();
             iter != m_text.end(); ++iter)
         {
-            MgdCustomTextInfo textInfo = (MgdCustomTextInfo)(*iter);
+            MgPortableCustomTextInfo textInfo = (MgPortableCustomTextInfo)(*iter);
 
             stream->WriteDouble(textInfo.GetX());
             stream->WriteDouble(textInfo.GetY());
@@ -448,13 +448,13 @@
 
 // Deserialize data from a stream
 //
-void MgdPrintLayout::Deserialize(MgStream* stream)
+void MgPortablePrintLayout::Deserialize(MgStream* stream)
 {
     MgStreamReader* streamReader = (MgStreamReader*)stream;
 
     streamReader->GetString(m_plotTitle);
 
-    m_plotSpec = (MgdPlotSpecification*)streamReader->GetObject();
+    m_plotSpec = (MgPortablePlotSpecification*)streamReader->GetObject();
 
     streamReader->GetString(m_scaleBarUnits);
 
@@ -494,7 +494,7 @@
         STRING name;
         streamReader->GetString(name);
 
-        MgdCustomLogoInfo customLogo;
+        MgPortableCustomLogoInfo customLogo;
         customLogo.SetX(xCoord);
         customLogo.SetY(yCoord);
         customLogo.SetPositionUnits(positionUnits);
@@ -527,7 +527,7 @@
         STRING value;
         streamReader->GetString(value);
 
-        MgdCustomTextInfo customText;
+        MgPortableCustomTextInfo customText;
         customText.SetX(xCoord);
         customText.SetY(yCoord);
         customText.SetPositionUnits(positionUnits);
@@ -543,7 +543,7 @@
 
 // Compute the offset and size for the available map area on the page
 //
-void MgdPrintLayout::ComputeMapOffsetAndSize(double mapScale, MgEnvelope* mapBounds, double metersPerUnit,
+void MgPortablePrintLayout::ComputeMapOffsetAndSize(double mapScale, MgEnvelope* mapBounds, double metersPerUnit,
                                             double& mapOffsetX, double& mapOffsetY, double& mapWidth, double& mapHeight, bool expandToFit)
 {
     double convertUnits = 1.0;
@@ -565,20 +565,20 @@
 
         if (m_bShowLegend)
         {
-            mapWidth -= (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
-            mapOffsetX += (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
+            mapWidth -= (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
+            mapOffsetX += (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
         }
         if (m_bShowTitle)
         {
-            mapHeight -= MgdPrintLayout::HeaderHeight*convertUnits;
+            mapHeight -= MgPortablePrintLayout::HeaderHeight*convertUnits;
         }
         if (m_bShowScalebar || m_bShowNorthArrow)
         {
-            mapHeight -= (MgdPrintLayout::ScalebarHeight + MgdPrintLayout::ScalebarPadding)*convertUnits;
+            mapHeight -= (MgPortablePrintLayout::ScalebarHeight + MgPortablePrintLayout::ScalebarPadding)*convertUnits;
         }
         if (m_bShowUrl || m_bShowDateTime)
         {
-            mapHeight -= MgdPrintLayout::FooterHeight*convertUnits;
+            mapHeight -= MgPortablePrintLayout::FooterHeight*convertUnits;
         }
     }
 
@@ -594,20 +594,20 @@
 
             if (m_bShowLegend)
             {
-                mapWidth -= (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
-                mapOffsetX += (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
+                mapWidth -= (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
+                mapOffsetX += (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
             }
             if (m_bShowTitle)
             {
-                mapHeight -= MgdPrintLayout::HeaderHeight;
+                mapHeight -= MgPortablePrintLayout::HeaderHeight;
             }
             if (m_bShowScalebar || m_bShowNorthArrow)
             {
-                mapHeight -= MgdPrintLayout::ScalebarHeight;
+                mapHeight -= MgPortablePrintLayout::ScalebarHeight;
             }
             if (m_bShowUrl || m_bShowDateTime)
             {
-                mapHeight -= MgdPrintLayout::FooterHeight;
+                mapHeight -= MgPortablePrintLayout::FooterHeight;
             }
         }
         else
@@ -630,15 +630,15 @@
             // Determine the offset in X direction such that the map is centered horizontally
             if (m_bShowLegend)
             {
-                if (mapWidth > (m_dPageWidth - mapOffsetX - m_plotSpec->GetMarginRight() - (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits))
+                if (mapWidth > (m_dPageWidth - mapOffsetX - m_plotSpec->GetMarginRight() - (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits))
                 {
-                    mapWidth = m_dPageWidth - mapOffsetX - m_plotSpec->GetMarginRight() - (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
-                    mapOffsetX += (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits;
+                    mapWidth = m_dPageWidth - mapOffsetX - m_plotSpec->GetMarginRight() - (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
+                    mapOffsetX += (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits;
                 }
                 else
                 {
                     mapOffsetX += (m_dPageWidth - m_plotSpec->GetMarginLeft() - m_plotSpec->GetMarginRight()
-                        - mapWidth + (MgdPrintLayout::LegendWidth + MgdPrintLayout::LegendPadding)*convertUnits) * 0.5;
+                        - mapWidth + (MgPortablePrintLayout::LegendWidth + MgPortablePrintLayout::LegendPadding)*convertUnits) * 0.5;
                 }
             }
             else
@@ -657,15 +657,15 @@
             double dMapHeightAdjustment = -(m_plotSpec->GetMarginTop() + m_plotSpec->GetMarginBottom());
             if (m_bShowTitle)
             {
-                dMapHeightAdjustment -= MgdPrintLayout::HeaderHeight*convertUnits;
+                dMapHeightAdjustment -= MgPortablePrintLayout::HeaderHeight*convertUnits;
             }
             if (m_bShowScalebar || m_bShowNorthArrow)
             {
-                dMapHeightAdjustment -= MgdPrintLayout::ScalebarHeight*convertUnits;
+                dMapHeightAdjustment -= MgPortablePrintLayout::ScalebarHeight*convertUnits;
             }
             if (m_bShowUrl || m_bShowDateTime)
             {
-                dMapHeightAdjustment -= MgdPrintLayout::FooterHeight*convertUnits;
+                dMapHeightAdjustment -= MgPortablePrintLayout::FooterHeight*convertUnits;
             }
 
             if (mapHeight > m_dPageHeight + dMapHeightAdjustment)
@@ -678,7 +678,7 @@
     //finally center map vertically using updated map height
     if (m_bShowTitle)
     {
-        mapOffsetY = (m_dPageHeight - MgdPrintLayout::HeaderHeight*convertUnits - mapHeight) * 0.5;
+        mapOffsetY = (m_dPageHeight - MgPortablePrintLayout::HeaderHeight*convertUnits - mapHeight) * 0.5;
     }
     if (m_bShowScalebar || m_bShowNorthArrow || m_bShowUrl || m_bShowDateTime)
     {
@@ -690,7 +690,7 @@
 // Determine the map extents which will make maximum use of available page space.
 // The extents will be based on the map center and scale, and the size of available map area.
 //
-MgEnvelope* MgdPrintLayout::DetermineLayoutMapExtents(MgdMap* map, double metersPerUnit, double mapWidth, double mapHeight)
+MgEnvelope* MgPortablePrintLayout::DetermineLayoutMapExtents(MgPortableMap* map, double metersPerUnit, double mapWidth, double mapHeight)
 {
     // Compute the aspect ratio of the available map area
     double pageAR = mapWidth / mapHeight;

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/PrintLayout.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/PrintLayout.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -27,8 +27,8 @@
 class MgResourceIdentifier;
 class MgXmlUtil;
 
-typedef std::vector<MgdCustomLogoInfo> MgdCustomLogoInfoVector;
-typedef std::vector<MgdCustomTextInfo> MgdCustomTextInfoVector;
+typedef std::vector<MgPortableCustomLogoInfo> MgPortableCustomLogoInfoVector;
+typedef std::vector<MgPortableCustomTextInfo> MgPortableCustomTextInfoVector;
 
 ////////////////////////////////////////////////////////////
 /// \brief
@@ -41,25 +41,25 @@
 /// Future directions for this class (time permitting) are to
 /// remove and/or rewrite the functionality of this class
 /// in more appropriate utility class.
-class MG_DESKTOP_API MgdPrintLayout : public MgSerializable
+class MG_DESKTOP_API MgPortablePrintLayout : public MgSerializable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdPrintLayout)
+    DECLARE_CLASSNAME(MgPortablePrintLayout)
 
 INTERNAL_API:
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Construct an MgdPrintLayout object.
+    /// Construct an MgPortablePrintLayout object.
     ///
     /// \return
     /// Nothing
     ///
-    MgdPrintLayout();
+    MgPortablePrintLayout();
 
     ///////////////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Initializes a new MgdPrintLayout object given a resource service,
+    /// Initializes a new MgPortablePrintLayout object given a resource service,
     /// and print layout definition.
     ///
     /// \param resourceService
@@ -146,9 +146,9 @@
     /// Gets the plot size.
     ///
     /// \return
-    /// Returns the size of the plot as MgdPlotSpecification
+    /// Returns the size of the plot as MgPortablePlotSpecification
     ///
-    MgdPlotSpecification* GetPlotSize();
+    MgPortablePlotSpecification* GetPlotSize();
 
     ////////////////////////////////////////////////////////////////////
     /// \brief
@@ -156,12 +156,12 @@
     /// in the PrintLayout resource.
     ///
     /// \param plotSpec
-    /// The plot size as a MgdPlotSpecification
+    /// The plot size as a MgPortablePlotSpecification
     ///
     /// \return
     /// Returns nothing.
     ///
-    void SetPlotSize(MgdPlotSpecification* plotSpec);
+    void SetPlotSize(MgPortablePlotSpecification* plotSpec);
 
     ////////////////////////////////////////////////////////////////
     /// \brief
@@ -223,9 +223,9 @@
 
     //////////////////////////////////////////////////////////////////
     /// \brief
-    /// Destroy a MgdPrintLayout object
+    /// Destroy a MgPortablePrintLayout object
     ///
-    ~MgdPrintLayout();
+    ~MgPortablePrintLayout();
 
     //////////////////////////////////////////////////////////////////
     /// \brief
@@ -259,19 +259,19 @@
     inline bool& ShowCustomLogos() {return m_bShowCustomLogos;}
     inline bool& ShowCustomText() {return m_bShowCustomText;}
 
-    inline MgdCustomLogoInfoVector& CustomLogos() {return m_logos;}
-    inline MgdCustomTextInfoVector& CustomText() {return m_text;}
+    inline MgPortableCustomLogoInfoVector& CustomLogos() {return m_logos;}
+    inline MgPortableCustomTextInfoVector& CustomText() {return m_text;}
 
     MgColor* GetBackgroundColor();
 
     void ComputeMapOffsetAndSize(double mapScale, MgEnvelope* mapBounds, double metersPerUnit,
                                  double& mapOffsetX, double& mapOffsetY, double& mapWidth, double& mapHeight, bool expandToFit = true);
-    MgEnvelope* DetermineLayoutMapExtents(MgdMap* map, double metersPerUnit, double mapWidth, double mapHeight);
+    MgEnvelope* DetermineLayoutMapExtents(MgPortableMap* map, double metersPerUnit, double mapWidth, double mapHeight);
 
 private:
 
     STRING m_plotTitle;
-    Ptr<MgdPlotSpecification> m_plotSpec;
+    Ptr<MgPortablePlotSpecification> m_plotSpec;
     STRING m_scaleBarUnits;
     double m_dPlotScale;
     Ptr<MgCoordinate> m_plotCenter;
@@ -291,8 +291,8 @@
     bool m_bShowCustomLogos;
     bool m_bShowCustomText;
 
-    MgdCustomLogoInfoVector m_logos;
-    MgdCustomTextInfoVector m_text;
+    MgPortableCustomLogoInfoVector m_logos;
+    MgPortableCustomTextInfoVector m_text;
 
     void GetLayoutPropertiesFromXml(MgXmlUtil* pXmlUtil);
 };

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -37,7 +37,7 @@
                        }
 
 
-RSMgdFeatureReader::RSMgdFeatureReader(MgFeatureReader* reader, MgFeatureService* svcFeature, MgResourceIdentifier* featResId, MgFeatureQueryOptions* options, const STRING& geomPropName)
+RSMgPortableFeatureReader::RSMgPortableFeatureReader(MgFeatureReader* reader, MgFeatureService* svcFeature, MgResourceIdentifier* featResId, MgFeatureQueryOptions* options, const STRING& geomPropName)
 {
     _ASSERT(NULL != reader);
     m_reader = SAFE_ADDREF(reader);
@@ -136,7 +136,7 @@
 }
 
 
-RSMgdFeatureReader::~RSMgdFeatureReader()
+RSMgPortableFeatureReader::~RSMgPortableFeatureReader()
 {
     // Reader may be null if an Fdo exception is thrown
     // during a call to Reset()
@@ -157,7 +157,7 @@
 }
 
 
-bool RSMgdFeatureReader::ReadNext()
+bool RSMgPortableFeatureReader::ReadNext()
 {
     RSFR_TRY()
     return m_reader->ReadNext();
@@ -165,7 +165,7 @@
 }
 
 
-void RSMgdFeatureReader::Close()
+void RSMgPortableFeatureReader::Close()
 {
     RSFR_TRY()
     m_reader->Close();
@@ -173,7 +173,7 @@
 }
 
 
-void RSMgdFeatureReader::Reset()
+void RSMgPortableFeatureReader::Reset()
 {
     RSFR_TRY()
 
@@ -186,7 +186,7 @@
 }
 
 
-bool RSMgdFeatureReader::IsNull(const wchar_t* propertyName)
+bool RSMgPortableFeatureReader::IsNull(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->IsNull(propertyName);
@@ -194,7 +194,7 @@
 }
 
 
-bool RSMgdFeatureReader::GetBoolean(const wchar_t* propertyName)
+bool RSMgPortableFeatureReader::GetBoolean(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetBoolean(propertyName);
@@ -202,7 +202,7 @@
 }
 
 
-FdoInt8 RSMgdFeatureReader::GetByte(const wchar_t* propertyName)
+FdoInt8 RSMgPortableFeatureReader::GetByte(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetByte(propertyName);
@@ -210,7 +210,7 @@
 }
 
 
-FdoDateTime RSMgdFeatureReader::GetDateTime(const wchar_t* propertyName)
+FdoDateTime RSMgPortableFeatureReader::GetDateTime(const wchar_t* propertyName)
 {
     RSFR_TRY()
 
@@ -230,7 +230,7 @@
 }
 
 
-float RSMgdFeatureReader::GetSingle(const wchar_t* propertyName)
+float RSMgPortableFeatureReader::GetSingle(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetSingle(propertyName);
@@ -238,7 +238,7 @@
 }
 
 
-double RSMgdFeatureReader::GetDouble(const wchar_t* propertyName)
+double RSMgPortableFeatureReader::GetDouble(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetDouble(propertyName);
@@ -246,7 +246,7 @@
 }
 
 
-FdoInt16 RSMgdFeatureReader::GetInt16(const wchar_t* propertyName)
+FdoInt16 RSMgPortableFeatureReader::GetInt16(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetInt16(propertyName);
@@ -254,7 +254,7 @@
 }
 
 
-FdoInt32 RSMgdFeatureReader::GetInt32(const wchar_t* propertyName)
+FdoInt32 RSMgPortableFeatureReader::GetInt32(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetInt32(propertyName);
@@ -262,7 +262,7 @@
 }
 
 
-FdoInt64 RSMgdFeatureReader::GetInt64(const wchar_t* propertyName)
+FdoInt64 RSMgPortableFeatureReader::GetInt64(const wchar_t* propertyName)
 {
     RSFR_TRY()
     return m_reader->GetInt64(propertyName);
@@ -270,7 +270,7 @@
 }
 
 
-const wchar_t* RSMgdFeatureReader::GetString(const wchar_t* propertyName)
+const wchar_t* RSMgPortableFeatureReader::GetString(const wchar_t* propertyName)
 {
     try
     {
@@ -295,7 +295,7 @@
 }
 
 
-LineBuffer* RSMgdFeatureReader::GetGeometry(const wchar_t*   propertyName,
+LineBuffer* RSMgPortableFeatureReader::GetGeometry(const wchar_t*   propertyName,
                                             LineBuffer*      lb,
                                             CSysTransformer* xformer,
                                             RS_DesiredPolygonOrientation polygonOrientation)
@@ -378,34 +378,34 @@
 }
 
 
-RS_Raster* RSMgdFeatureReader::GetRaster(const wchar_t* propertyName)
+RS_Raster* RSMgPortableFeatureReader::GetRaster(const wchar_t* propertyName)
 {
     RSFR_TRY()
     Ptr<MgRaster> raster = m_reader->GetRaster(propertyName);
-    return new RSMgdRaster(raster);
+    return new RSMgPortableRaster(raster);
     RSFR_CATCH()
 }
 
 
-RS_InputStream* RSMgdFeatureReader::GetBLOB(const wchar_t* propertyName)
+RS_InputStream* RSMgPortableFeatureReader::GetBLOB(const wchar_t* propertyName)
 {
     RSFR_TRY()
     Ptr<MgByteReader> rdr = m_reader->GetBLOB(propertyName);
-    return new RSMgdInputStream(rdr);
+    return new RSMgPortableInputStream(rdr);
     RSFR_CATCH()
 }
 
 
-RS_InputStream* RSMgdFeatureReader::GetCLOB(const wchar_t* propertyName)
+RS_InputStream* RSMgPortableFeatureReader::GetCLOB(const wchar_t* propertyName)
 {
     RSFR_TRY()
     Ptr<MgByteReader> rdr = m_reader->GetCLOB(propertyName);
-    return new RSMgdInputStream(rdr);
+    return new RSMgPortableInputStream(rdr);
     RSFR_CATCH()
 }
 
 
-int RSMgdFeatureReader::GetPropertyType(const wchar_t* propertyName)
+int RSMgPortableFeatureReader::GetPropertyType(const wchar_t* propertyName)
 {
     PropertyStub* ps;
 
@@ -462,7 +462,7 @@
 }
 
 
-const wchar_t* RSMgdFeatureReader::GetAsString(const wchar_t* propertyName)
+const wchar_t* RSMgPortableFeatureReader::GetAsString(const wchar_t* propertyName)
 {
     static const size_t MAX_STRING = 64;
 
@@ -560,7 +560,7 @@
 }
 
 
-const wchar_t* RSMgdFeatureReader::GetGeomPropName()
+const wchar_t* RSMgPortableFeatureReader::GetGeomPropName()
 {
     if (m_geomPropName.empty())
         return NULL;
@@ -569,7 +569,7 @@
 }
 
 
-const wchar_t* RSMgdFeatureReader::GetRasterPropName()
+const wchar_t* RSMgPortableFeatureReader::GetRasterPropName()
 {
     //The Mapping service will add this computed property
     //to the query
@@ -581,7 +581,7 @@
 }
 
 
-const wchar_t*const* RSMgdFeatureReader::GetIdentPropNames(int& count)
+const wchar_t*const* RSMgPortableFeatureReader::GetIdentPropNames(int& count)
 {
     count = m_numIdProps;
     return m_idpropNames;
@@ -588,7 +588,7 @@
 }
 
 
-const wchar_t*const* RSMgdFeatureReader::GetPropNames(int& count)
+const wchar_t*const* RSMgPortableFeatureReader::GetPropNames(int& count)
 {
     count = m_numProps;
     return m_propNames;
@@ -595,9 +595,9 @@
 }
 
 
-FdoIFeatureReader* RSMgdFeatureReader::GetInternalReader()
+FdoIFeatureReader* RSMgPortableFeatureReader::GetInternalReader()
 {
-    MgdFeatureReader *fr = dynamic_cast<MgdFeatureReader*>(m_reader);
+    MgPortableFeatureReader *fr = dynamic_cast<MgPortableFeatureReader*>(m_reader);
     if (fr)
         return fr->GetInternalReader();
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_RS_FEATURE_READER_H
 #define DESKTOP_RS_FEATURE_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "RS_FeatureReader.h"
 
 struct PropertyStub
@@ -35,11 +35,11 @@
 class RS_InputStream;
 
 //RS_FeatureReader implementation based on an MgFeatureReader
-class MG_DESKTOP_API RSMgdFeatureReader : public RS_FeatureReader
+class MG_DESKTOP_API RSMgPortableFeatureReader : public RS_FeatureReader
 {
 public:
-    RSMgdFeatureReader(MgFeatureReader* reader, MgFeatureService* svcFeature, MgResourceIdentifier* featResId, MgFeatureQueryOptions* options, const STRING& geomPropName);
-    virtual ~RSMgdFeatureReader();
+    RSMgPortableFeatureReader(MgFeatureReader* reader, MgFeatureService* svcFeature, MgResourceIdentifier* featResId, MgFeatureQueryOptions* options, const STRING& geomPropName);
+    virtual ~RSMgPortableFeatureReader();
 
     //--------------------------------------------
     // RS_FeatureReader implementation

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgInputStream.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgInputStream.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgInputStream.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,11 +23,11 @@
 //simple stylization input stream wrapper around MgByteReader
 //TODO: for now MgByteReader cannot seek, so we read it fully
 //and then use the underlying byte array
-class RSMgdInputStream : public RS_InputStream
+class RSMgPortableInputStream : public RS_InputStream
 {
 public:
 
-    RSMgdInputStream(MgByteReader* reader)
+    RSMgPortableInputStream(MgByteReader* reader)
     {
         MgByteSink sink(reader);
         m_bytes = sink.ToBuffer();
@@ -34,13 +34,13 @@
         m_pos = 0;
     }
 
-    RSMgdInputStream(MgByte* bytes)
+    RSMgPortableInputStream(MgByte* bytes)
     {
         m_bytes = SAFE_ADDREF(bytes);
         m_pos = 0;
     }
 
-    virtual ~RSMgdInputStream()
+    virtual ~RSMgPortableInputStream()
     {
         SAFE_RELEASE(m_bytes);
     }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgRaster.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #include "RSMgRaster.h"
 #include "RSMgInputStream.h"
 
-RSMgdRaster::RSMgdRaster(MgRaster* raster)
+RSMgPortableRaster::RSMgPortableRaster(MgRaster* raster)
 {
     assert(raster);
     m_raster = raster;
@@ -28,12 +28,12 @@
     m_height = m_raster->GetImageYSize();
 }
 
-RSMgdRaster::~RSMgdRaster()
+RSMgPortableRaster::~RSMgPortableRaster()
 {
     SAFE_RELEASE(m_raster);
 }
 
-RS_Bounds RSMgdRaster::GetExtent()
+RS_Bounds RSMgPortableRaster::GetExtent()
 {
     Ptr<MgEnvelope> env = m_raster->GetBounds();
 
@@ -43,22 +43,22 @@
     return RS_Bounds(ll->GetX(), ll->GetY(), ur->GetX(), ur->GetY());
 }
 
-int RSMgdRaster::GetOriginalWidth()
+int RSMgPortableRaster::GetOriginalWidth()
 {
     return m_width;
 }
 
-int RSMgdRaster::GetOriginalHeight()
+int RSMgPortableRaster::GetOriginalHeight()
 {
     return m_height;
 }
 
-int RSMgdRaster::GetBitsPerPixel()
+int RSMgPortableRaster::GetBitsPerPixel()
 {
     return m_raster->GetBitsPerPixel();
 }
 
-int RSMgdRaster::GetDataModelType()
+int RSMgPortableRaster::GetDataModelType()
 {
     return m_raster->GetDataModelType();
 }
@@ -65,7 +65,7 @@
 
 
 //caller frees returned stream
-RS_InputStream* RSMgdRaster::GetStream(RS_ImageFormat format, int width, int height)
+RS_InputStream* RSMgPortableRaster::GetStream(RS_ImageFormat format, int width, int height)
 {
     if (width > 0 && height > 0)
     {
@@ -96,7 +96,7 @@
     Ptr<MgByteReader> rdr = m_raster->GetStream();
     if(rdr)
     {
-        return new RSMgdInputStream(rdr.p);
+        return new RSMgPortableInputStream(rdr.p);
     }
     else
     {
@@ -104,32 +104,32 @@
     }
 }
 
-RS_InputStream* RSMgdRaster::GetPalette()
+RS_InputStream* RSMgPortableRaster::GetPalette()
 {
     Ptr<MgByte> pal = m_raster->GetPalette();
 
     if (pal.p)
-        return new RSMgdInputStream(pal.p);
+        return new RSMgPortableInputStream(pal.p);
     else
         return NULL;
 }
 
-int RSMgdRaster::GetDataType()
+int RSMgPortableRaster::GetDataType()
 {
     return m_raster->GetDataType();
 }
 
-RS_String RSMgdRaster::GetVerticalUnits()
+RS_String RSMgPortableRaster::GetVerticalUnits()
 {
     return m_raster->GetVerticalUnits();
 }
 
-int RSMgdRaster::GetNullValueType()
+int RSMgPortableRaster::GetNullValueType()
 {
     return m_raster->GetNullValueType();
 }
 
-INT64 RSMgdRaster::GetNullValueData()
+INT64 RSMgPortableRaster::GetNullValueData()
 {
     return m_raster->GetNullValue();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgRaster.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgRaster.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef DESKTOP_RS_RASTER_H
 #define DESKTOP_RS_RASTER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "RS_Raster.h"
 #include "RendererStyles.h"
 
-class RSMgdRaster : public RS_Raster
+class RSMgPortableRaster : public RS_Raster
 {
 public:
 
-    RSMgdRaster(MgRaster* raster);
-    virtual ~RSMgdRaster();
+    RSMgPortableRaster(MgRaster* raster);
+    virtual ~RSMgPortableRaster();
 
     virtual RS_Bounds       GetExtent();
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgSymbolManager.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,13 +21,13 @@
 #define ERROR_VAL (RS_InputStream*)1
 
 
-RSMgdSymbolManager::RSMgdSymbolManager(MgResourceService* svc)
+RSMgPortableSymbolManager::RSMgPortableSymbolManager(MgResourceService* svc)
 {
     m_svcResource = SAFE_ADDREF(svc);
 }
 
 
-RSMgdSymbolManager::~RSMgdSymbolManager()
+RSMgPortableSymbolManager::~RSMgPortableSymbolManager()
 {
     SAFE_RELEASE(m_svcResource);
 
@@ -41,7 +41,7 @@
 }
 
 
-const RS_InputStream* RSMgdSymbolManager::GetSymbolData(const wchar_t* libraryName,
+const RS_InputStream* RSMgPortableSymbolManager::GetSymbolData(const wchar_t* libraryName,
                                                        const wchar_t* symbolName)
 {
     // see if the named symbol already exists in the cache
@@ -59,7 +59,7 @@
         {
             MgResourceIdentifier resId(libraryName);
             Ptr<MgByteReader> rdr = m_svcResource->GetResourceData(&resId, symbolName);
-            ret = new RSMgdInputStream(rdr.p);
+            ret = new RSMgPortableInputStream(rdr.p);
             m_mSymbolCache[uniqueName] = ret;
         }
         catch (MgException* e)

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RSMgSymbolManager.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,17 +18,17 @@
 #ifndef DESKTOP_RS_SYMBOL_MANAGER_H
 #define DESKTOP_RS_SYMBOL_MANAGER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "RS_SymbolManager.h"
 
 // MappingService specific implementation of the RS_SymbolManager interface.
 // It retrieves DWF symbol data from the resource service and caches it
 // for reuse by stylization.
-class MG_DESKTOP_API RSMgdSymbolManager : public RS_SymbolManager
+class MG_DESKTOP_API RSMgPortableSymbolManager : public RS_SymbolManager
 {
 public:
-    RSMgdSymbolManager(MgResourceService* svc);
-    virtual ~RSMgdSymbolManager();
+    RSMgPortableSymbolManager(MgResourceService* svc);
+    virtual ~RSMgPortableSymbolManager();
 
     virtual const RS_InputStream* GetSymbolData(const wchar_t* libraryName,
                                                 const wchar_t* symbolName);

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RenderingOptions.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,12 +17,12 @@
 
 #include "RenderingOptions.h"
 
-MG_IMPL_DYNCREATE(MgdRenderingOptions)
+MG_IMPL_DYNCREATE(MgPortableRenderingOptions)
 
 
 //////////////////////////////////////////////////////////////////
 /// <summary>
-/// Construct an MgdRenderingOptions object
+/// Construct an MgPortableRenderingOptions object
 /// </summary>
 /// <param name="format">Input
 /// Image format. Defines the format of the resulting image
@@ -33,7 +33,7 @@
 /// <param name="selectionColor">Input
 /// Selection color, including filling color and boundary color
 /// </param>
-MgdRenderingOptions::MgdRenderingOptions(CREFSTRING format, INT32 behavior, MgColor* selectionColor)
+MgPortableRenderingOptions::MgPortableRenderingOptions(CREFSTRING format, INT32 behavior, MgColor* selectionColor)
 : m_format(MgUtil::ToUpper(format)),
   m_behavior(behavior)
 {
@@ -48,7 +48,7 @@
 /// <returns>
 /// The string value (is in upper case from CTOR)
 /// </returns>
-STRING MgdRenderingOptions::GetImageFormat()
+STRING MgPortableRenderingOptions::GetImageFormat()
 {
     return m_format;
 }
@@ -61,7 +61,7 @@
 /// <returns>
 /// The integer value
 /// </returns>
-INT32 MgdRenderingOptions::GetBehavior()
+INT32 MgPortableRenderingOptions::GetBehavior()
 {
     return m_behavior;
 }
@@ -74,7 +74,7 @@
 /// <returns>
 /// The MgColor object
 /// </returns>
-MgColor* MgdRenderingOptions::GetSelectionColor()
+MgColor* MgPortableRenderingOptions::GetSelectionColor()
 {
     return SAFE_ADDREF((MgColor*)m_selectionColor);
 }
@@ -87,7 +87,7 @@
 /// <param name="stream">Input
 /// Stream
 /// </param>
-void MgdRenderingOptions::Serialize(MgStream* stream)
+void MgPortableRenderingOptions::Serialize(MgStream* stream)
 {
     stream->WriteString(m_format);
     stream->WriteInt32(m_behavior);
@@ -102,7 +102,7 @@
 /// <param name="stream">Input
 /// Stream
 /// </param>
-void MgdRenderingOptions::Deserialize(MgStream* stream)
+void MgPortableRenderingOptions::Deserialize(MgStream* stream)
 {
     stream->GetString(m_format);
     stream->GetInt32(m_behavior);
@@ -114,7 +114,7 @@
 /// <summary>
 /// Default constructor
 /// </summary>
-MgdRenderingOptions::MgdRenderingOptions()
+MgPortableRenderingOptions::MgPortableRenderingOptions()
 : m_behavior(0),
   m_selectionColor(NULL)
 {
@@ -125,7 +125,7 @@
 /// <summary>
 /// Virtual destructor
 /// </summary>
-MgdRenderingOptions::~MgdRenderingOptions()
+MgPortableRenderingOptions::~MgPortableRenderingOptions()
 {
 }
 
@@ -137,7 +137,7 @@
 /// <returns>
 /// The integer value
 /// </returns>
-INT32 MgdRenderingOptions::GetClassId()
+INT32 MgPortableRenderingOptions::GetClassId()
 {
     return m_cls_id;
 }
@@ -150,7 +150,7 @@
 /// <returns>
 /// Nothing
 /// </returns>
-void MgdRenderingOptions::Dispose()
+void MgPortableRenderingOptions::Dispose()
 {
     delete this;
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/RenderingOptions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/RenderingOptions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_RENDERING_OPTIONS_H
 #define DESKTOP_RENDERING_OPTIONS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 /// \ingroup Desktop_Misc_Module
 /// \{
@@ -27,10 +27,10 @@
 /// \brief
 /// Options for Rendering Service.
 ///
-class MG_DESKTOP_API MgdRenderingOptions: public MgSerializable
+class MG_DESKTOP_API MgPortableRenderingOptions: public MgSerializable
 {
     MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgdRenderingOptions)
+    DECLARE_CLASSNAME(MgPortableRenderingOptions)
 
 PUBLISHED_API:
 
@@ -55,7 +55,7 @@
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Construct an MgdRenderingOptions object
+    /// Construct an MgPortableRenderingOptions object
     ///
     /// \param format
     /// Input
@@ -67,7 +67,7 @@
     /// Input
     /// Selection color, including filling color and boundary color
     ///
-    MgdRenderingOptions(CREFSTRING format, INT32 behavior, MgColor* selectionColor);
+    MgPortableRenderingOptions(CREFSTRING format, INT32 behavior, MgColor* selectionColor);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
@@ -120,13 +120,13 @@
     /// \brief
     /// Default constructor
     ///
-    MgdRenderingOptions();
+    MgPortableRenderingOptions();
 
     /////////////////////////////////////////////////////////////////
     /// \brief
     /// Virtual destructor
     ///
-    virtual ~MgdRenderingOptions();
+    virtual ~MgPortableRenderingOptions();
 
 protected:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/UnitType.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,26 +15,26 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "UnitType.h"
 
 ///////////////////////////////////////////////////////////////////////////////
-/// MgdUnitType defines enumerated values used to determine the type
+/// MgPortableUnitType defines enumerated values used to determine the type
 /// of units for plot decorations (scale bar).
 ///
-const STRING MgdUnitType::USEnglish       = L"US-English";
-const STRING MgdUnitType::Metric          = L"Metric";
+const STRING MgPortableUnitType::USEnglish       = L"US-English";
+const STRING MgPortableUnitType::Metric          = L"Metric";
 
 
 ///////////////////////////////////////////////////////////////////////////////
 /// Page size units for Mapping Service.
 ///
-const STRING MgdPageUnitsType::Inches        = L"in";
-const STRING MgdPageUnitsType::Millimeters   = L"mm";
+const STRING MgPortablePageUnitsType::Inches        = L"in";
+const STRING MgPortablePageUnitsType::Millimeters   = L"mm";
 
 ///////////////////////////////////////////////////////////////////////////////
 /// Coordinate space for geometry returned from QueryFeatureProperties.
 ///
-const STRING MgdCoordinateSpace::None        = L"None";
-const STRING MgdCoordinateSpace::Map         = L"Map";
-const STRING MgdCoordinateSpace::Display     = L"Display";
\ No newline at end of file
+const STRING MgPortableCoordinateSpace::None        = L"None";
+const STRING MgPortableCoordinateSpace::Map         = L"Map";
+const STRING MgPortableCoordinateSpace::Display     = L"Display";
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Rendering/UnitType.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Rendering/UnitType.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,9 +23,9 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// MgdUnitType defines enumerated values used to determine the type
+/// MgPortableUnitType defines enumerated values used to determine the type
 /// of units for plot decorations (scale bar).
-class MG_DESKTOP_API MgdUnitType
+class MG_DESKTOP_API MgPortableUnitType
 {
 PUBLISHED_API:
     /// \if INTERNAL
@@ -47,7 +47,7 @@
 ///   * [[TO DO: I should change my examples to use this
 ///     instead of hardcoding the string.]]
 ///
-class MG_DESKTOP_API MgdPageUnitsType
+class MG_DESKTOP_API MgPortablePageUnitsType
 {
 PUBLISHED_API:
     /// \if INTERNAL
@@ -70,7 +70,7 @@
 /// Specifies the coordinate space for feature geometry returned from QueryFeatures.
 /// Can also specify that only non-geometric data should be returned by QueryFeature.
 ///
-class MG_DESKTOP_API MgdCoordinateSpace
+class MG_DESKTOP_API MgPortableCoordinateSpace
 {
 PUBLISHED_API:
     /// \if INTERNAL

Modified: trunk/MgDev/Portable/MgPortable/Services/RenderingService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/RenderingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/RenderingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -45,7 +45,7 @@
 // used when we want to process a given number of features
 bool StylizeThatMany(void* data)
 {
-    MgdFeatureInfoRenderer* fir = (MgdFeatureInfoRenderer*)data;
+    MgPortableFeatureInfoRenderer* fir = (MgPortableFeatureInfoRenderer*)data;
     if ( fir->GetNumFeaturesProcessed() >= fir->GetNumMaxFeatures())
         return true;
 
@@ -54,11 +54,11 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-MgdRenderingService::MgdRenderingService() : MgService()
+MgPortableRenderingService::MgPortableRenderingService() : MgService()
 {
     m_pCSFactory = new MgCoordinateSystemFactory();
 
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
 
     m_svcResource = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     assert(m_svcResource != NULL);
@@ -66,61 +66,61 @@
     m_svcFeature = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
     assert(m_svcFeature != NULL);
 
-    m_svcDrawing = dynamic_cast<MgdDrawingService*>(fact->CreateService(MgServiceType::DrawingService));
+    m_svcDrawing = dynamic_cast<MgPortableDrawingService*>(fact->CreateService(MgServiceType::DrawingService));
     assert(m_svcDrawing != NULL);
 
     MgConfiguration* pConf = MgConfiguration::GetInstance();
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyRasterGridSize,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyRasterGridSize,
                           m_rasterGridSize,
-                          MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSize);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSize);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMinRasterGridSize,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSize,
                           m_minRasterGridSize,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMinRasterGridSize);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMinRasterGridSize);
 
-    pConf->GetDoubleValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio,
+    pConf->GetDoubleValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio,
                           m_rasterGridSizeOverrideRatio,
-                          MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatio);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatio);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyRenderSelectionBatchSize,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyRenderSelectionBatchSize,
                           m_renderSelectionBatchSize,
-                          MgdConfigProperties::DefaultRenderingServicePropertyRenderSelectionBatchSize);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyRenderSelectionBatchSize);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMaxRasterImageWidth,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageWidth,
                           m_maxRasterImageWidth,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth);
 
-    pConf->GetIntValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyMaxRasterImageHeight,
+    pConf->GetIntValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageHeight,
                           m_maxRasterImageHeight,
-                          MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight);
 
     // there should only be one instance of this class, so it's safe to
     // directly set these static variables
     bool bClampPoints;
-    pConf->GetBoolValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyClampPoints,
+    pConf->GetBoolValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyClampPoints,
                           bClampPoints,
-                          MgdConfigProperties::DefaultRenderingServicePropertyClampPoints);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyClampPoints);
     AGGRenderer::s_bClampPoints = bClampPoints;
 
     bool bGeneralizeData;
-    pConf->GetBoolValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyGeneralizeData,
+    pConf->GetBoolValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyGeneralizeData,
                           bGeneralizeData,
-                          MgdConfigProperties::DefaultRenderingServicePropertyGeneralizeData);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyGeneralizeData);
     AGGRenderer::s_bGeneralizeData = bGeneralizeData;
 }
 
 
 ///////////////////////////////////////////////////////////////////////////////
-MgdRenderingService::~MgdRenderingService()
+MgPortableRenderingService::~MgPortableRenderingService()
 {
 }
 
@@ -127,7 +127,7 @@
 // ---------------------------------- BEGIN Rendering Service APIs ----------------------------------------------- //
 
 ///////////////////////////////////////////////////////////////////////////////
-MgByteReader* MgdRenderingService::RenderTile(MgdMap* map, CREFSTRING baseMapLayerGroupName, INT32 tileColumn, INT32 tileRow)
+MgByteReader* MgPortableRenderingService::RenderTile(MgPortableMap* map, CREFSTRING baseMapLayerGroupName, INT32 tileColumn, INT32 tileRow)
 {
     Ptr<MgByteReader> ret;
 
@@ -147,10 +147,10 @@
     MG_LOG_OPERATION_MESSAGE_ADD_INT32(tileRow);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderTile()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderTile()");
 
     if (NULL == map || baseMapLayerGroupName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // find the finite display scale closest to the requested map scale
     double scale = map->GetViewScale();
@@ -158,7 +158,7 @@
 
     // if we don't find a nearest scale then something is wrong with the map
     if (scaleIndex < 0)
-        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgdRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgPortableRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // get the layer group associated with the name
     Ptr<MgLayerGroupCollection> layerGroups = map->GetLayerGroups();
@@ -169,8 +169,8 @@
         arguments.Add(L"2");
         arguments.Add(baseMapLayerGroupName);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderTile",
-            __LINE__, __WFILE__, &arguments, L"MgdMapLayerGroupNameNotFound", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderTile",
+            __LINE__, __WFILE__, &arguments, L"MgPortableMapLayerGroupNameNotFound", NULL);
     }
 
     // get the scale at which to render the tile
@@ -177,7 +177,7 @@
     scale = map->GetFiniteDisplayScaleAt(scaleIndex);
 
     // ensure the tile DPI is set on the map
-    map->SetDisplayDpi(MgdTileParameters::tileDPI);
+    map->SetDisplayDpi(MgPortableTileParameters::tileDPI);
 
     // ------------------------------------------------------
     // the upper left corner of tile (0,0) corresponds to the
@@ -193,9 +193,9 @@
     double mapMaxY = rs_max(pt00->GetY(), pt11->GetY());
 
     double metersPerUnit  = map->GetMetersPerUnit();
-    double metersPerPixel = METERS_PER_INCH / MgdTileParameters::tileDPI;
-    double tileWidthMCS   = (double)MgdTileParameters::tileWidth  * metersPerPixel * scale / metersPerUnit;
-    double tileHeightMCS  = (double)MgdTileParameters::tileHeight * metersPerPixel * scale / metersPerUnit;
+    double metersPerPixel = METERS_PER_INCH / MgPortableTileParameters::tileDPI;
+    double tileWidthMCS   = (double)MgPortableTileParameters::tileWidth  * metersPerPixel * scale / metersPerUnit;
+    double tileHeightMCS  = (double)MgPortableTileParameters::tileHeight * metersPerPixel * scale / metersPerUnit;
 
     double tileMinX = mapMinX + (double)(tileColumn  ) * tileWidthMCS;  // left edge
     double tileMaxX = mapMinX + (double)(tileColumn+1) * tileWidthMCS;  // right edge
@@ -203,13 +203,13 @@
     double tileMaxY = mapMaxY - (double)(tileRow     ) * tileHeightMCS; // top edge
 
     // make the call to render the tile
-    ret = RenderTile(map, baseGroup, scaleIndex, MgdTileParameters::tileWidth, MgdTileParameters::tileHeight, scale,
-                     tileMinX, tileMaxX, tileMinY, tileMaxY, MgdTileParameters::tileFormat);
+    ret = RenderTile(map, baseGroup, scaleIndex, MgPortableTileParameters::tileWidth, MgPortableTileParameters::tileHeight, scale,
+                     tileMinX, tileMaxX, tileMinY, tileMaxY, MgPortableTileParameters::tileFormat);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderTile")
+    MG_CATCH(L"MgPortableRenderingService::RenderTile")
 
     if (mgException != NULL)
     {
@@ -229,7 +229,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// render a map using all layers from the baseGroup
-MgByteReader* MgdRenderingService::RenderTile(MgdMap* map,
+MgByteReader* MgPortableRenderingService::RenderTile(MgPortableMap* map,
                                               MgLayerGroup* baseGroup,
                                               INT32 scaleIndex,
                                               INT32 width,
@@ -246,7 +246,7 @@
     MG_TRY()
 
     if (NULL == map || NULL == baseGroup)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderTile", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // get map extent that corresponds to tile extent
     RS_Bounds extent(mcsMinX, mcsMinY, mcsMaxX, mcsMaxY);
@@ -259,12 +259,12 @@
     // the label renderer needs to know the tile extent offset parameter
     double tileExtentOffset = 0.0;
     MgConfiguration* pConf = MgConfiguration::GetInstance();
-    pConf->GetDoubleValue(MgdConfigProperties::RenderingServicePropertiesSection,
-                          MgdConfigProperties::RenderingServicePropertyTileExtentOffset,
+    pConf->GetDoubleValue(MgPortableConfigProperties::RenderingServicePropertiesSection,
+                          MgPortableConfigProperties::RenderingServicePropertyTileExtentOffset,
                           tileExtentOffset,
-                          MgdConfigProperties::DefaultRenderingServicePropertyTileExtentOffset);
+                          MgPortableConfigProperties::DefaultRenderingServicePropertyTileExtentOffset);
     if (tileExtentOffset < 0.0)
-        tileExtentOffset = MgdConfigProperties::DefaultRenderingServicePropertyTileExtentOffset;
+        tileExtentOffset = MgPortableConfigProperties::DefaultRenderingServicePropertyTileExtentOffset;
 
     // initialize the renderer (set clipping to false so that we label
     // the unclipped geometry)
@@ -291,7 +291,7 @@
     // restore the base group's visibility
     baseGroup->SetVisible(groupVisible);
 
-    MG_CATCH_AND_THROW(L"MgdRenderingService.RenderTile")
+    MG_CATCH_AND_THROW(L"MgPortableRenderingService.RenderTile")
 
     return ret.Detach();
 }
@@ -299,7 +299,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arg bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderDynamicOverlay(MgdMap* map, MgdSelection* selection, CREFSTRING format)
+MgByteReader* MgPortableRenderingService::RenderDynamicOverlay(MgPortableMap* map, MgPortableSelection* selection, CREFSTRING format)
 {
     Ptr<MgByteReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"RenderDynamicOverlay");
@@ -309,27 +309,27 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderDynamicOverlay()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderDynamicOverlay()");
 
     // Call updated RenderDynamicOverlay API
     //ret = RenderDynamicOverlay(map, selection, format, true);
 
     // Call updated RenderDynamicOverlay API
-    MgdRenderingOptions options(format, MgdRenderingOptions::RenderSelection |
-        MgdRenderingOptions::RenderLayers | MgdRenderingOptions::KeepSelection, NULL);
+    MgPortableRenderingOptions options(format, MgPortableRenderingOptions::RenderSelection |
+        MgPortableRenderingOptions::RenderLayers | MgPortableRenderingOptions::KeepSelection, NULL);
     ret = RenderDynamicOverlayInternal(map, selection, &options, NULL);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderDynamicOverlay")
+    MG_CATCH(L"MgPortableRenderingService::RenderDynamicOverlay")
 
     if (mgException != NULL)
     {
@@ -349,7 +349,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arg bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderDynamicOverlay(MgdMap* map, MgdSelection* selection, CREFSTRING format, bool bKeepSelection)
+MgByteReader* MgPortableRenderingService::RenderDynamicOverlay(MgPortableMap* map, MgPortableSelection* selection, CREFSTRING format, bool bKeepSelection)
 {
     Ptr<MgByteReader> ret;
 
@@ -360,9 +360,9 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -369,17 +369,17 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(bKeepSelection);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderDynamicOverlay()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderDynamicOverlay()");
 
     // Call updated RenderDynamicOverlay API
-    MgdRenderingOptions options(format, MgdRenderingOptions::RenderSelection |
-        MgdRenderingOptions::RenderLayers | (bKeepSelection? MgdRenderingOptions::KeepSelection : 0), NULL);
+    MgPortableRenderingOptions options(format, MgPortableRenderingOptions::RenderSelection |
+        MgPortableRenderingOptions::RenderLayers | (bKeepSelection? MgPortableRenderingOptions::KeepSelection : 0), NULL);
     ret = RenderDynamicOverlayInternal(map, selection, &options, NULL);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderDynamicOverlay")
+    MG_CATCH(L"MgPortableRenderingService::RenderDynamicOverlay")
 
     if (mgException != NULL)
     {
@@ -400,7 +400,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 // called from API (first call of AjaxPgPViewerSampleApplication)
 // default arg pPRMResult = NULL
-MgByteReader* MgdRenderingService::RenderDynamicOverlay(MgdMap* map, MgdSelection* selection, MgdRenderingOptions* options)
+MgByteReader* MgPortableRenderingService::RenderDynamicOverlay(MgPortableMap* map, MgPortableSelection* selection, MgPortableRenderingOptions* options)
 {
     Ptr<MgByteReader> ret;
 
@@ -411,14 +411,14 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdRenderingOptions");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableRenderingOptions");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderDynamicOverlay()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderDynamicOverlay()");
 
     // Call updated RenderDynamicOverlay API 
     ret = RenderDynamicOverlayInternal(map, selection, options, NULL);
@@ -426,7 +426,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderDynamicOverlay")
+    MG_CATCH(L"MgPortableRenderingService::RenderDynamicOverlay")
 
     if (mgException != NULL)
     {
@@ -447,9 +447,9 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Non-published RenderDynamicOverlay API with profile result parameter
 // pPRMResult - a pointer points to Profile Render Map Result.
-MgByteReader* MgdRenderingService::RenderDynamicOverlay(MgdMap* map,
-                                                        MgdSelection* selection,
-                                                        MgdRenderingOptions* options,
+MgByteReader* MgPortableRenderingService::RenderDynamicOverlay(MgPortableMap* map,
+                                                        MgPortableSelection* selection,
+                                                        MgPortableRenderingOptions* options,
                                                         ProfileRenderMapResult* pPRMResult)
 {
     Ptr<MgByteReader> ret;
@@ -461,16 +461,16 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdRenderingOptions");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableRenderingOptions");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"ProfileRenderMapResult");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderDynamicOverlay()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderDynamicOverlay()");
 
     ret = RenderDynamicOverlayInternal(map, selection, options, pPRMResult);
 
@@ -477,7 +477,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderDynamicOverlay")
+    MG_CATCH(L"MgPortableRenderingService::RenderDynamicOverlay")
 
     if (mgException != NULL)
     {
@@ -494,13 +494,13 @@
     return ret.Detach();
 }
 
-MgdFeatureInformation* MgdRenderingService::QueryFeatures(MgdMap* map,
+MgPortableFeatureInformation* MgPortableRenderingService::QueryFeatures(MgPortableMap* map,
                                                           MgStringCollection* layerNames,
                                                           MgGeometry* filterGeometry,
                                                           INT32 selectionVariant,
                                                           INT32 maxFeatures)
 {
-    Ptr<MgdFeatureInformation> ret;
+    Ptr<MgPortableFeatureInformation> ret;
     MG_LOG_OPERATION_MESSAGE(L"QueryFeatures");
 
     MG_TRY()
@@ -508,7 +508,7 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 5);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((layerNames == NULL) ? L"MgStringCollection" : layerNames->GetLogString());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -519,11 +519,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_INT32(maxFeatures);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::QueryFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::QueryFeatures()");
 
     ret = QueryFeaturesInternal(map, layerNames, filterGeometry, selectionVariant, L"", maxFeatures, 3 /*visible and selectable*/);
 
-    MG_CATCH(L"MgdRenderingService::QueryFeatures")
+    MG_CATCH(L"MgPortableRenderingService::QueryFeatures")
 
     if (mgException != NULL)
     {
@@ -539,7 +539,7 @@
     return ret.Detach();
 }
 
-MgdFeatureInformation* MgdRenderingService::QueryFeatures(MgdMap* map,
+MgPortableFeatureInformation* MgPortableRenderingService::QueryFeatures(MgPortableMap* map,
                                                           MgStringCollection* layerNames,
                                                           MgGeometry* filterGeometry,
                                                           INT32 selectionVariant,
@@ -547,7 +547,7 @@
                                                           INT32 maxFeatures,
                                                           INT32 layerAttributeFilter)
 {
-    Ptr<MgdFeatureInformation> ret;
+    Ptr<MgPortableFeatureInformation> ret;
     MG_LOG_OPERATION_MESSAGE(L"QueryFeatures");
 
     MG_TRY()
@@ -555,7 +555,7 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 7);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((layerNames == NULL) ? L"MgStringCollection" : layerNames->GetLogString());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -570,11 +570,11 @@
     MG_LOG_OPERATION_MESSAGE_ADD_INT32(layerAttributeFilter);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::QueryFeatures()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::QueryFeatures()");
 
     ret = QueryFeaturesInternal(map, layerNames, filterGeometry, selectionVariant, featureFilter, maxFeatures, layerAttributeFilter);
 
-    MG_CATCH(L"MgdRenderingService::QueryFeatures")
+    MG_CATCH(L"MgPortableRenderingService::QueryFeatures")
 
     if (mgException != NULL)
     {
@@ -590,7 +590,7 @@
     return ret.Detach();
 }
 
-MgdFeatureInformation* MgdRenderingService::QueryFeaturesInternal(MgdMap* map,
+MgPortableFeatureInformation* MgPortableRenderingService::QueryFeaturesInternal(MgPortableMap* map,
                                                                   MgStringCollection* layerNames,
                                                                   MgGeometry* geometry,
                                                                   INT32 selectionVariant,
@@ -598,7 +598,7 @@
                                                                   INT32 maxFeatures,
                                                                   INT32 layerAttributeFilter)
 {
-    Ptr<MgdFeatureInformation> ret;
+    Ptr<MgPortableFeatureInformation> ret;
 
     MG_TRY()
 
@@ -607,8 +607,8 @@
         maxFeatures = INT_MAX;
 
     //create return structure and selection set to fill out
-    ret = new MgdFeatureInformation();
-    Ptr<MgdSelection> sel = new MgdSelection(map);
+    ret = new MgPortableFeatureInformation();
+    Ptr<MgPortableSelection> sel = new MgPortableSelection(map);
 
     double point_buf[2];
     double* point = NULL;
@@ -651,12 +651,12 @@
         }
     }
 
-    MgdFeatureInfoRenderer fir(sel, maxFeatures, map->GetViewScale(), point, impRenderer.get());
+    MgPortableFeatureInfoRenderer fir(sel, maxFeatures, map->GetViewScale(), point, impRenderer.get());
 
     RenderForSelection(map, layerNames, geometry, selectionVariant, featureFilter, maxFeatures, layerAttributeFilter, &fir);
 
     //fill out the output object with the info we collected
-    //in the MgdFeatureInfoRenderer for the first feature we hit
+    //in the MgPortableFeatureInfoRenderer for the first feature we hit
     if (fir.GetNumFeaturesProcessed() > 0)
     {
         Ptr<MgPropertyCollection> props = fir.GetProperties();
@@ -672,14 +672,14 @@
     ACE_DEBUG((LM_INFO, ACE_TEXT("(%t) MgServerRenderingService::QueryFeatures() Selection Size:%d\n"), selLayers.p? selLayers->GetCount() : 0));
     #endif
 
-    MG_CATCH_AND_THROW(L"MgdRenderingService::QueryFeaturesInternal")
+    MG_CATCH_AND_THROW(L"MgPortableRenderingService::QueryFeaturesInternal")
 
     return ret.Detach();
 }
 
-MgByteReader* MgdRenderingService::RenderDynamicOverlayInternal(MgdMap* map,
-                                                                MgdSelection* selection,
-                                                                MgdRenderingOptions* options,
+MgByteReader* MgPortableRenderingService::RenderDynamicOverlayInternal(MgPortableMap* map,
+                                                                MgPortableSelection* selection,
+                                                                MgPortableRenderingOptions* options,
                                                                 ProfileRenderMapResult* pPRMResult)
 {
     Ptr<MgByteReader> ret;
@@ -687,7 +687,7 @@
     MG_TRY()
 
     if (NULL == map)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // validate map view parameters
     int width            = map->GetDisplayWidth();
@@ -697,23 +697,23 @@
     double metersPerUnit = map->GetMetersPerUnit();
 
     if (width <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgdMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
 
     if (height <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgdMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
 
     if (dpi <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgdMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
 
     if (scale <= 0.0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgdMapViewScaleCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgPortableMapViewScaleCannotBeLessThanOrEqualToZero", NULL);
 
     if (metersPerUnit <= 0.0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgdMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgPortableMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
 
     // sanity check - number of image pixels cannot exceed MAX_PIXELS
     if (width * height > MAX_PIXELS)
-        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgdRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgPortableRenderingService.RenderDynamicOverlayInternal", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
 
     // compute map extent that corresponds to pixel extent
     Ptr<MgPoint> pt          = map->GetViewCenter();
@@ -735,8 +735,8 @@
     // initialize the renderer
     std::unique_ptr<AGGRenderer> dr(CreateRenderer(width, height, bgColor, true));
 
-    bool bIncludeDynamicLayers = ((options->GetBehavior() & MgdRenderingOptions::RenderLayers) == MgdRenderingOptions::RenderLayers);
-    bool bIncludeBaseLayers = ((options->GetBehavior() & MgdRenderingOptions::RenderBaseLayers) == MgdRenderingOptions::RenderBaseLayers);
+    bool bIncludeDynamicLayers = ((options->GetBehavior() & MgPortableRenderingOptions::RenderLayers) == MgPortableRenderingOptions::RenderLayers);
+    bool bIncludeBaseLayers = ((options->GetBehavior() & MgPortableRenderingOptions::RenderBaseLayers) == MgPortableRenderingOptions::RenderBaseLayers);
 
     // create a temporary collection containing all the dynamic layers
     Ptr<MgLayerCollection> layers = map->GetLayers();
@@ -763,7 +763,7 @@
     // call the internal helper API to do all the stylization overhead work
     ret = RenderMapInternal(map, selection, roLayers, dr.get(), width, height, width, height, scale, extent, false, options, true, pPRMResult);
 
-    MG_CATCH(L"MgdRenderingService.RenderDynamicOverlayInternal")
+    MG_CATCH(L"MgPortableRenderingService.RenderDynamicOverlayInternal")
     if (mgException.p)
     {
         if(NULL != pPRMResult)
@@ -787,8 +787,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arg bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              CREFSTRING format)
 {
     Ptr<MgByteReader> ret;
@@ -799,14 +799,14 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 3);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderMap()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderMap()");
 
     ret = RenderMapPublished(map, selection, format, true, false);
 
@@ -813,7 +813,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderMap")
+    MG_CATCH(L"MgPortableRenderingService::RenderMap")
 
     if (mgException != NULL)
     {
@@ -833,8 +833,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arg bClip = false
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              CREFSTRING format,
                                              bool bKeepSelection)
 {
@@ -846,9 +846,9 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 4);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -855,7 +855,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(bKeepSelection);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderMap()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderMap()");
 
     ret = RenderMapPublished(map, selection, format, bKeepSelection, false);
 
@@ -862,7 +862,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderMap")
+    MG_CATCH(L"MgPortableRenderingService::RenderMap")
 
     if (mgException != NULL)
     {
@@ -884,8 +884,8 @@
 // render complete map around center point in given scale using map's background
 // color and display sizes as default arguments to call the real rendermap method
 // default arg (bKeepSelection = true, bClip = false)
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              CREFSTRING format,
                                              bool bKeepSelection,
                                              bool bClip)
@@ -898,9 +898,9 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 5);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgdSelection");
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgPortableSelection");
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -909,7 +909,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(bClip);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderMap()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderMap()");
 
     ret = RenderMapPublished(map, selection, format, bKeepSelection, bClip);
 
@@ -916,7 +916,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderMap")
+    MG_CATCH(L"MgPortableRenderingService::RenderMap")
 
     if (mgException != NULL)
     {
@@ -933,8 +933,8 @@
     return ret.Detach();
 }
 
-MgByteReader* MgdRenderingService::RenderMapPublished(MgdMap* map,
-                                                     MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMapPublished(MgPortableMap* map,
+                                                     MgPortableSelection* selection,
                                                      CREFSTRING format,
                                                      bool bKeepSelection,
                                                      bool bClip)
@@ -944,7 +944,7 @@
     MG_TRY()
 
     if (NULL == map)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderMapPublished", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderMapPublished", __LINE__, __WFILE__, NULL, L"", NULL);
 
     Ptr<MgPoint> pt = map->GetViewCenter();
     Ptr<MgCoordinate> center = pt->GetCoordinate();
@@ -958,7 +958,7 @@
     // punt to more specific RenderMap API
     ret = RenderMap(map, selection, center, scale, map->GetDisplayWidth(), map->GetDisplayHeight(), bgColor, format, bKeepSelection, bClip);
 
-    MG_CATCH_AND_THROW(L"MgdRenderingService.RenderMapPublished")
+    MG_CATCH_AND_THROW(L"MgPortableRenderingService.RenderMapPublished")
 
     return ret.Detach();
 }
@@ -966,8 +966,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arg bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgEnvelope* extents,
                                              INT32 width,
                                              INT32 height,
@@ -982,8 +982,8 @@
 ///////////////////////////////////////////////////////////////////////////////
 // render the provided extent of the map and align aspect ratios to the provided window
 // default arg bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgEnvelope* extents,
                                              INT32 width,
                                              INT32 height,
@@ -996,7 +996,7 @@
     MG_TRY()
 
     if (NULL == map || extents == NULL || backgroundColor == NULL)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // validate map view parameters
     int dpi              = map->GetDisplayDpi();
@@ -1003,16 +1003,16 @@
     double metersPerUnit = map->GetMetersPerUnit();
 
     if (width <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
 
     if (height <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
 
     if (dpi <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
 
     if (metersPerUnit <= 0.0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
 
     // compute a view center and scale from the given extents
     // and pass on to the RenderMap that uses center and scale
@@ -1064,7 +1064,7 @@
 
     // sanity check - number of image pixels cannot exceed MAX_PIXELS
     if (drawWidth * drawHeight > MAX_PIXELS)
-        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
 
     // use the supplied background color
     RS_Color bgcolor(backgroundColor->GetRed(),
@@ -1080,7 +1080,7 @@
     // call the internal helper API to do all the stylization overhead work
     ret = RenderMapInternal(map, selection, NULL, dr.get(), drawWidth, drawHeight, width, height, format, scale, b, false, bKeepSelection, true);
 
-    MG_CATCH_AND_THROW(L"MgdRenderingService.RenderMap")
+    MG_CATCH_AND_THROW(L"MgPortableRenderingService.RenderMap")
 
     return ret.Detach();
 }
@@ -1088,8 +1088,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default argument bKeepSelection = true
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgCoordinate* center,
                                              double scale,
                                              INT32 width,
@@ -1104,8 +1104,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arguments bClip = false  pProfileRenderMapResult = NULL
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgCoordinate* center,
                                              double scale,
                                              INT32 width,
@@ -1119,8 +1119,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // default arguments bClip = false
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgCoordinate* center,
                                              double scale,
                                              INT32 width,
@@ -1137,8 +1137,8 @@
 // render map around center point in given scale
 // default args bKeepSelection = true, bClip = false, backgroundColor = map->backgroundColor,
 // width = map->getDisplayWidth, height = map->getDisplayHeight
-MgByteReader* MgdRenderingService::RenderMap(MgdMap* map,
-                                             MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMap(MgPortableMap* map,
+                                             MgPortableSelection* selection,
                                              MgCoordinate* center,
                                              double scale,
                                              INT32 width,
@@ -1154,7 +1154,7 @@
     MG_TRY()
 
     if (NULL == map || NULL == center || NULL == backgroundColor)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // validate map view parameters
     int dpi              = map->GetDisplayDpi();
@@ -1161,23 +1161,23 @@
     double metersPerUnit = map->GetMetersPerUnit();
 
     if (width <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
 
     if (height <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
 
     if (dpi <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayDpiCannotBeLessThanOrEqualToZero", NULL);
 
     if (scale <= 0.0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapViewScaleCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapViewScaleCannotBeLessThanOrEqualToZero", NULL);
 
     if (metersPerUnit <= 0.0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgdMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgPortableMapMetersPerUnitCannotBeLessThanOrEqualToZero", NULL);
 
     // sanity check - number of image pixels cannot exceed MAX_PIXELS
     if (width * height > MAX_PIXELS)
-        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgdRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgPortableRenderingService.RenderMap", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
 
     double unitsPerPixel = METERS_PER_INCH / (double)dpi / metersPerUnit;
     double mapWidth2 = 0.5 * (double)width * unitsPerPixel * scale;
@@ -1211,7 +1211,7 @@
     // call the internal helper API to do all the stylization overhead work
     ret = RenderMapInternal(map, selection, NULL, dr.get(), width, height, width, height, format, scale, b, false, bKeepSelection, true, pPRMResult);
 
-    MG_CATCH(L"MgdRenderingService.RenderMap")
+    MG_CATCH(L"MgPortableRenderingService.RenderMap")
     if (mgException.p)
     {
         if(NULL != pPRMResult)
@@ -1235,8 +1235,8 @@
 ///////////////////////////////////////////////////////////////////////////////
 // pack options into object and forward call (select Selection AND Layers)
 // maybe keepSelection called by RenderTile
-MgByteReader* MgdRenderingService::RenderMapInternal(MgdMap* map,
-                                                     MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMapInternal(MgPortableMap* map,
+                                                     MgPortableSelection* selection,
                                                      MgReadOnlyLayerCollection* roLayers,
                                                      AGGRenderer* dr,
                                                      INT32 drawWidth,
@@ -1251,8 +1251,8 @@
                                                      bool renderWatermark,
                                                      ProfileRenderMapResult* pPRMResult)
 {
-    MgdRenderingOptions options(format, MgdRenderingOptions::RenderSelection |
-        MgdRenderingOptions::RenderLayers | (bKeepSelection? MgdRenderingOptions::KeepSelection : 0), NULL);
+    MgPortableRenderingOptions options(format, MgPortableRenderingOptions::RenderSelection |
+        MgPortableRenderingOptions::RenderLayers | (bKeepSelection? MgPortableRenderingOptions::KeepSelection : 0), NULL);
     return RenderMapInternal(map, selection, roLayers, dr, drawWidth, drawHeight, saveWidth, saveHeight, scale, b, expandExtents, &options, renderWatermark, pPRMResult);
 }
 
@@ -1264,8 +1264,8 @@
 // (this is the baseGroup layers for rendering tiles)
 // render map using provided options object from before
 // this is called for tiles and for dynamic overlays
-MgByteReader* MgdRenderingService::RenderMapInternal(MgdMap* map,
-                                                     MgdSelection* selection,
+MgByteReader* MgPortableRenderingService::RenderMapInternal(MgPortableMap* map,
+                                                     MgPortableSelection* selection,
                                                      MgReadOnlyLayerCollection* roLayers,
                                                      AGGRenderer* dr,
                                                      INT32 drawWidth,
@@ -1275,7 +1275,7 @@
                                                      double scale,
                                                      RS_Bounds& b,
                                                      bool expandExtents,
-                                                     MgdRenderingOptions* options,
+                                                     MgPortableRenderingOptions* options,
                                                      bool renderWatermark,
                                                      ProfileRenderMapResult* pPRMResult)
 {
@@ -1302,10 +1302,10 @@
     STRING sessionId = map->GetSessionId();
 
     // initialize the stylizer
-    RSMgdSymbolManager mgr(m_svcResource);
+    RSMgPortableSymbolManager mgr(m_svcResource);
     dr->SetSymbolManager(&mgr);
 
-    SEMgdSymbolManager semgr(m_svcResource);
+    SEMgPortableSymbolManager semgr(m_svcResource);
     DefaultStylizer ds(&semgr);
 
     RS_Color bgcolor(0, 0, 0, 255); //not used -- GDRenderer is already initialized to the correct bgcolor
@@ -1336,23 +1336,23 @@
 
         INT32 behavior = options->GetBehavior();
 
-        if (behavior & MgdRenderingOptions::RenderLayers)    // this is for tiles so observer colormaps
+        if (behavior & MgPortableRenderingOptions::RenderLayers)    // this is for tiles so observer colormaps
         {
             RenderLayers(map, tempLayers, &ds, dr, dstCs, expandExtents, scale, format, pPRMResult);
         }
 
         // now we need to stylize the selection on top (this is not for tiles!)
-        if (selection && (behavior & MgdRenderingOptions::RenderSelection))
+        if (selection && (behavior & MgPortableRenderingOptions::RenderSelection))
         {
             RenderSelection(map, selection, tempLayers, options, &ds, dr, dstCs, scale, behavior, pPRMResult);
         }
 
-        if (renderWatermark && (behavior & MgdRenderingOptions::RenderLayers) && map->GetWatermarkUsage() != 0)
+        if (renderWatermark && (behavior & MgPortableRenderingOptions::RenderLayers) && map->GetWatermarkUsage() != 0)
         {
             RenderWatermarks(map,tempLayers,&ds, dr,drawWidth, drawHeight, saveWidth, saveHeight, pPRMResult);
         }
 
-    MG_CATCH(L"MgdRenderingService.RenderMapInternal")
+    MG_CATCH(L"MgPortableRenderingService.RenderMapInternal")
 
     if(NULL != pPRMResult)
     {
@@ -1364,7 +1364,7 @@
         ProfileRenderLabelsResult* pPRLablesResult = new ProfileRenderLabelsResult(); // pointer points to Render Labels Result
         
         // Set the start time of stylizing labels
-        pPRLablesResult->SetRenderTime(MgdTimerUtil::GetTime());
+        pPRLablesResult->SetRenderTime(MgPortableTimerUtil::GetTime());
 
         pPRMResult->AdoptProfileRenderLabelsResult(pPRLablesResult);
     }
@@ -1376,7 +1376,7 @@
         ProfileRenderLabelsResult* pPRLablesResult = pPRMResult->GetProfileRenderLabelsResult();
 
         // Calculate the time spent on stylizing labels
-        double stylizeLabelsTime = MgdTimerUtil::GetTime() - pPRLablesResult->GetRenderTime();
+        double stylizeLabelsTime = MgPortableTimerUtil::GetTime() - pPRLablesResult->GetRenderTime();
         pPRLablesResult->SetRenderTime(stylizeLabelsTime);
     }
 
@@ -1389,7 +1389,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-MgByteReader* MgdRenderingService::RenderMapLegend(MgdMap* map,
+MgByteReader* MgPortableRenderingService::RenderMapLegend(MgPortableMap* map,
                                                    INT32 width,
                                                    INT32 height,
                                                    MgColor* backgroundColor,
@@ -1403,7 +1403,7 @@
     Ptr<MgResourceIdentifier> mapId = map->GetResourceId();
     MG_LOG_OPERATION_MESSAGE_INIT(MG_API_VERSION(1, 0, 0), 5);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
-    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgdMap" : mapId->ToString().c_str());
+    MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == mapId) ? L"MgPortableMap" : mapId->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
     MG_LOG_OPERATION_MESSAGE_ADD_INT32(width);
     MG_LOG_OPERATION_MESSAGE_ADD_SEPARATOR();
@@ -1414,21 +1414,21 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(format.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdRenderingService::RenderMapLegend()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableRenderingService::RenderMapLegend()");
 
     if (NULL == map || NULL == backgroundColor)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"", NULL);
 
     // validate map view parameters
     if (width <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgdMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayWidthCannotBeLessThanOrEqualToZero", NULL);
 
     if (height <= 0)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgdMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgPortableMapDisplayHeightCannotBeLessThanOrEqualToZero", NULL);
 
     // sanity check - number of image pixels cannot exceed MAX_PIXELS
     if (width * height > MAX_PIXELS)
-        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgdRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgPortableRenderingService.RenderMapLegend", __LINE__, __WFILE__, NULL, L"MgInvalidImageSizeTooBig", NULL);
 
     RS_Color bgcolor(backgroundColor->GetRed(),
                      backgroundColor->GetGreen(),
@@ -1448,15 +1448,15 @@
     dr->StartMap(&info, b, 1.0, pixelsPerInch, metersPerPixel, NULL);
     dr->StartLayer(NULL, NULL);
 
-    //We need to specify margins and offsets in an MgdPlotSpecification,
+    //We need to specify margins and offsets in an MgPortablePlotSpecification,
     //even though in the image based (non-DWF) case they are 0.
     //Units are given as pixels, needed in order to scale legend
     //layout constants which are in inches.
     //NOTE: we need a left margin of one pixel so that legend icons
     //      do not overlap the legend border
-    Ptr<MgdPlotSpecification> spec = new MgdPlotSpecification(width - 1.0f, height - 1.0f, L"pixels");
+    Ptr<MgPortablePlotSpecification> spec = new MgPortablePlotSpecification(width - 1.0f, height - 1.0f, L"pixels");
     spec->SetMargins(1.0f, 0.0f, 0.0f, 0.0f);
-    MgdLegendPlotUtil lu(m_svcResource);
+    MgPortableLegendPlotUtil lu(m_svcResource);
     lu.AddLegendElement(map->GetViewScale(), *dr, map, spec, 0.0, 0.0);
 
     //done drawing
@@ -1471,13 +1471,13 @@
         // put this into a byte source
         Ptr<MgByteSource> bs = new MgByteSource(data->GetBytes(), data->GetNumBytes());
 
-        if (format == MgdImageFormats::Gif)
+        if (format == MgPortableImageFormats::Gif)
             bs->SetMimeType(MgMimeType::Gif);
-        else if (format == MgdImageFormats::Jpeg)
+        else if (format == MgPortableImageFormats::Jpeg)
             bs->SetMimeType(MgMimeType::Jpeg);
-        else if (format == MgdImageFormats::Png)
+        else if (format == MgPortableImageFormats::Png)
             bs->SetMimeType(MgMimeType::Png);
-        else if (format == MgdImageFormats::Tiff)
+        else if (format == MgPortableImageFormats::Tiff)
             bs->SetMimeType(MgMimeType::Tiff);
 
         ret = bs->GetReader();
@@ -1486,7 +1486,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdRenderingService::RenderMapLegend")
+    MG_CATCH(L"MgPortableRenderingService::RenderMapLegend")
 
     if (mgException != NULL)
     {
@@ -1504,7 +1504,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-AGGRenderer* MgdRenderingService::CreateRenderer(int width,
+AGGRenderer* MgPortableRenderingService::CreateRenderer(int width,
                                                  int height,
                                                  RS_Color& bgColor,
                                                  bool requiresClipping,
@@ -1523,7 +1523,7 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-inline void MgdRenderingService::RenderLayers(MgdMap* map,
+inline void MgPortableRenderingService::RenderLayers(MgPortableMap* map,
                                               MgReadOnlyLayerCollection* layers,
                                               Stylizer* ds,
                                               Renderer* dr,
@@ -1541,10 +1541,10 @@
         pPRMResult->AdoptProfileRenderLayersResult(pPRLsResult);
                 
         // Set the start time of stylizing layers
-        pPRLsResult->SetRenderTime(MgdTimerUtil::GetTime());
+        pPRLsResult->SetRenderTime(MgPortableTimerUtil::GetTime());
     }
 
-    MgdMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
+    MgPortableMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
                                     layers, NULL, ds, dr, dstCs, expandExtents, false, scale,
                                     false, hasColorMap(format), pPRLsResult);
 
@@ -1553,16 +1553,16 @@
         pPRLsResult = pPRMResult->GetProfileRenderLayersResult();
 
         // Calculate the time spent on stylizing layers
-        double stylizeLayersTime = MgdTimerUtil::GetTime() - pPRLsResult->GetRenderTime();
+        double stylizeLayersTime = MgPortableTimerUtil::GetTime() - pPRLsResult->GetRenderTime();
         pPRLsResult->SetRenderTime(stylizeLayersTime);
     }
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-inline void MgdRenderingService::RenderSelection(MgdMap* map,
-                                                 MgdSelection* selection,
+inline void MgPortableRenderingService::RenderSelection(MgPortableMap* map,
+                                                 MgPortableSelection* selection,
                                                  MgReadOnlyLayerCollection* layers,
-                                                 MgdRenderingOptions* options,
+                                                 MgPortableRenderingOptions* options,
                                                  Stylizer* ds,
                                                  Renderer* dr,
                                                  MgCoordinateSystem* dstCs,
@@ -1580,13 +1580,13 @@
         pPRMResult->AdoptProfileRenderSelectionResult(pPRSResult);
                 
         // Set the start time of stylizing selected layers
-        pPRSResult->SetRenderTime(MgdTimerUtil::GetTime());
+        pPRSResult->SetRenderTime(MgPortableTimerUtil::GetTime());
     }
 
     Ptr<MgReadOnlyLayerCollection> selLayers = selection->GetLayers();
 
     #ifdef _DEBUG
-    printf("MgdRenderingService::RenderSelection() - Layers:%d  Selection Layers:%d\n", layers? layers->GetCount() : 0, selLayers.p? selLayers->GetCount() : 0);
+    printf("MgPortableRenderingService::RenderSelection() - Layers:%d  Selection Layers:%d\n", layers? layers->GetCount() : 0, selLayers.p? selLayers->GetCount() : 0);
     #endif
 
     if (selLayers.p && selLayers->GetCount() > 0)
@@ -1629,8 +1629,8 @@
             }
         }
 
-        MgdMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
-            modLayers, overrideFilters, ds, renderer, dstCs, false, false, scale, (behavior & MgdRenderingOptions::KeepSelection) != 0,false,pPRSResult);
+        MgPortableMappingUtil::StylizeLayers(m_svcResource, m_svcFeature, m_svcDrawing, m_pCSFactory, map,
+            modLayers, overrideFilters, ds, renderer, dstCs, false, false, scale, (behavior & MgPortableRenderingOptions::KeepSelection) != 0,false,pPRSResult);
 
         // Set selection mode to false to avoid affecting following code
         renderer->SetRenderSelectionMode(false);
@@ -1641,12 +1641,12 @@
         pPRSResult = pPRMResult->GetProfileRenderSelectionResult();
 
         // Calculate the time spent on stylizing selected layers
-        double stylizeSelectionTime = MgdTimerUtil::GetTime() - pPRSResult->GetRenderTime();
+        double stylizeSelectionTime = MgPortableTimerUtil::GetTime() - pPRSResult->GetRenderTime();
         pPRSResult->SetRenderTime(stylizeSelectionTime);
     }
 }
 ///////////////////////////////////////////////////////////////////////////////
-inline void MgdRenderingService::RenderWatermarks(MgdMap* map,
+inline void MgPortableRenderingService::RenderWatermarks(MgPortableMap* map,
                                                        MgReadOnlyLayerCollection* layers,
                                                        Stylizer* ds,
                                                        Renderer* dr,
@@ -1677,9 +1677,9 @@
             tempInstance.reset(tempWatermarkInstances.OrphanAt(i));
             if (!tempInstance.get())
                 continue;
-            if (((map->GetWatermarkUsage() & MgdMap::Viewer) != 0
+            if (((map->GetWatermarkUsage() & MgPortableMap::Viewer) != 0
                 && (tempInstance->GetUsage() & WatermarkInstance::Viewer) == 0)
-                || ((map->GetWatermarkUsage() & MgdMap::WMS) != 0
+                || ((map->GetWatermarkUsage() & MgPortableMap::WMS) != 0
                 && (tempInstance->GetUsage() & WatermarkInstance::WMS) == 0))
                 continue;
             bool alreadyInList = false;
@@ -1720,9 +1720,9 @@
             tempInstance.reset(tempWatermarkInstances.OrphanAt(j));
             if (!tempInstance.get())
                 continue;
-            if (((map->GetWatermarkUsage() & MgdMap::Viewer) != 0
+            if (((map->GetWatermarkUsage() & MgPortableMap::Viewer) != 0
                 && (tempInstance->GetUsage() & WatermarkInstance::Viewer) == 0)
-                || ((map->GetWatermarkUsage() & MgdMap::WMS) != 0
+                || ((map->GetWatermarkUsage() & MgPortableMap::WMS) != 0
                 && (tempInstance->GetUsage() & WatermarkInstance::WMS) == 0))
                 continue;
 
@@ -1758,7 +1758,7 @@
             pPRMResult->AdoptProfileRenderWatermarksResult(pPRWsResult);
                 
             // Set the start time of stylizing watermarks
-            pPRWsResult->SetRenderTime(MgdTimerUtil::GetTime());
+            pPRWsResult->SetRenderTime(MgPortableTimerUtil::GetTime());
         }
 
         for (int i=watermarkInstances.GetCount()-1; i>=0; i--)
@@ -1781,7 +1781,7 @@
                     ProfileRenderWatermarkResult* pPRWResult = new ProfileRenderWatermarkResult(); // pointer points to Render Watermark Result
                         
                     // Set the start time of stylizing watermark
-                    pPRWResult->SetRenderTime(MgdTimerUtil::GetTime());
+                    pPRWResult->SetRenderTime(MgPortableTimerUtil::GetTime());
 
                     ProfileRenderWatermarkResultCollection* pPRWResultColl = pPRWsResult->GetProfileRenderWatermarkResults();
                     pPRWResultColl->Adopt(pPRWResult);
@@ -1813,7 +1813,7 @@
                     ProfileRenderWatermarkResult* pPRWResult = pPRWResultColl->GetAt(pPRWResultColl->GetCount()-1); // TODO: check index
 
                     // Calculate the time spent on stylizing watermark
-                    double stylizeWatermarkTime = MgdTimerUtil::GetTime() - pPRWResult->GetRenderTime();
+                    double stylizeWatermarkTime = MgPortableTimerUtil::GetTime() - pPRWResult->GetRenderTime();
                     pPRWResult->SetRenderTime(stylizeWatermarkTime);
 
                     pPRWResult->SetResourceId(resourceId);
@@ -1829,7 +1829,7 @@
                     }
                 }
 
-            MG_CATCH(L"MgdRenderingService.RenderWatermarks")
+            MG_CATCH(L"MgPortableRenderingService.RenderWatermarks")
             if(mgException.p)
             {
                 // Do not do anything if fail in resource loading and has logged error.
@@ -1876,7 +1876,7 @@
                         ProfileRenderWatermarkResult* pPRWResult = pPRWResultColl->GetAt(pPRWResultColl->GetCount()-1); // TODO: check index
 
                         // Calculate the time spent on stylizing watermark
-                        double stylizeWatermarkTime = MgdTimerUtil::GetTime() - pPRWResult->GetRenderTime();
+                        double stylizeWatermarkTime = MgPortableTimerUtil::GetTime() - pPRWResult->GetRenderTime();
                         pPRWResult->SetRenderTime(stylizeWatermarkTime);
 
                         pPRWResult->SetResourceId(resourceId);
@@ -1891,7 +1891,7 @@
         if(NULL != pPRWsResult)
         {
             // Calculate the time spent on stylizing watermarks
-            double stylizeRenderWatermarksTime = MgdTimerUtil::GetTime() - pPRWsResult->GetRenderTime();
+            double stylizeRenderWatermarksTime = MgPortableTimerUtil::GetTime() - pPRWsResult->GetRenderTime();
             pPRWsResult->SetRenderTime(stylizeRenderWatermarksTime);
         }
     }
@@ -1898,7 +1898,7 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-inline MgByteReader* MgdRenderingService::CreateImage(MgdMap* map,
+inline MgByteReader* MgPortableRenderingService::CreateImage(MgPortableMap* map,
                                                       AGGRenderer* dr,
                                                       INT32 saveWidth,
                                                       INT32 saveHeight,
@@ -1908,7 +1908,7 @@
     if(NULL != pPRMResult)
     {
         // Set the start time of creating map image
-        pPRMResult->SetCreateImageTime(MgdTimerUtil::GetTime());
+        pPRMResult->SetCreateImageTime(MgPortableTimerUtil::GetTime());
     }
 
 /*
@@ -1952,8 +1952,8 @@
         if (hasColorMap(format))
         {
             RS_ColorVector tileColorPalette;
-            MgdMappingUtil::ParseColorStrings(&tileColorPalette, map);
-            //              printf("<<<<<<<<<<<<<<<<<<<<< MgdRenderingService::ColorPalette->size(): %d\n", tileColorPalette.size());
+            MgPortableMappingUtil::ParseColorStrings(&tileColorPalette, map);
+            //              printf("<<<<<<<<<<<<<<<<<<<<< MgPortableRenderingService::ColorPalette->size(): %d\n", tileColorPalette.size());
             data.reset(((AGGRenderer*)dr)->Save(format, saveWidth, saveHeight, &tileColorPalette));
         }
         else
@@ -1970,22 +1970,22 @@
         // put this into a byte source
         bs = new MgByteSource(data->GetBytes(), data->GetNumBytes());
 
-        if (format == MgdImageFormats::Gif)
+        if (format == MgPortableImageFormats::Gif)
             bs->SetMimeType(MgMimeType::Gif);
-        else if (format == MgdImageFormats::Jpeg)
+        else if (format == MgPortableImageFormats::Jpeg)
             bs->SetMimeType(MgMimeType::Jpeg);
-        else if (format == MgdImageFormats::Png || format == MgdImageFormats::Png8)
+        else if (format == MgPortableImageFormats::Png || format == MgPortableImageFormats::Png8)
             bs->SetMimeType(MgMimeType::Png);
-        else if (format == MgdImageFormats::Tiff)
+        else if (format == MgPortableImageFormats::Tiff)
             bs->SetMimeType(MgMimeType::Tiff);
     }
     else
-        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgdRenderingService.CreateImage", __LINE__, __WFILE__, NULL, L"MgNoDataFromRenderer", NULL);
+        throw new MgException(MgExceptionCodes::MgNullReferenceException, L"MgPortableRenderingService.CreateImage", __LINE__, __WFILE__, NULL, L"MgNoDataFromRenderer", NULL);
     
     if(NULL != pPRMResult)
     {
         // Calculate the time spent on stylizing labels
-        double createImageTime = MgdTimerUtil::GetTime() - pPRMResult->GetCreateImageTime();
+        double createImageTime = MgPortableTimerUtil::GetTime() - pPRMResult->GetCreateImageTime();
         pPRMResult->SetCreateImageTime(createImageTime);
 
         pPRMResult->SetImageFormat(format);
@@ -2000,7 +2000,7 @@
 // and QueryFeatureProperties.  Basically runs a rendering loop with
 // a custom renderer supplied by the caller that accumulates selection
 // related things like property values and feature IDs.
-void MgdRenderingService::RenderForSelection(MgdMap* map,
+void MgPortableRenderingService::RenderForSelection(MgPortableMap* map,
                                              MgStringCollection* layerNames,
                                              MgGeometry* geometry,
                                              INT32 selectionVariant,
@@ -2007,11 +2007,11 @@
                                              CREFSTRING featureFilter,
                                              INT32 maxFeatures,
                                              INT32 layerAttributeFilter,
-                                             MgdFeatureInfoRenderer* selRenderer)
+                                             MgPortableFeatureInfoRenderer* selRenderer)
 {
     // Cache coordinate system transforms for the life of the
     // stylization operation.
-    MgdTransformCacheMap transformCache;
+    MgPortableTransformCacheMap transformCache;
 
     MG_TRY()
 #ifdef _DEBUG
@@ -2079,7 +2079,7 @@
     RS_MapUIInfo mapInfo(sessionId, map->GetName(), map->GetObjectId(), srs, L"", bgcolor, center->GetX(), center->GetY(), scale);
 
     // initialize the stylizer
-    SEMgdSymbolManager semgr(m_svcResource);
+    SEMgPortableSymbolManager semgr(m_svcResource);
     DefaultStylizer ds(&semgr);
 
     selRenderer->StartMap(&mapInfo, extent, scale, dpi, metersPerUnit, NULL);
@@ -2160,9 +2160,9 @@
 
             //get a transform from layer coord sys to map coord sys
             Ptr<MgCoordinateSystem> mapCs = srs.empty()? NULL : m_pCSFactory->Create(srs);
-            MgdTransformCache* item = MgdTransformCache::GetLayerToMapTransform(transformCache, vl->GetFeatureName(), featResId, mapCs, m_pCSFactory, m_svcFeature);
+            MgPortableTransformCache* item = MgPortableTransformCache::GetLayerToMapTransform(transformCache, vl->GetFeatureName(), featResId, mapCs, m_pCSFactory, m_svcFeature);
             Ptr<MgCoordinateSystemTransform> trans = item? item->GetMgTransform() : NULL;
-            MgdCSTrans* xformer = item? item->GetTransform() : NULL;
+            MgPortableCSTrans* xformer = item? item->GetTransform() : NULL;
 
             Ptr<MgFeatureQueryOptions> options = new MgFeatureQueryOptions();
             Ptr<MgGeometricEntity> queryGeom;
@@ -2188,7 +2188,7 @@
             }
 
             // Initialize the reader
-            std::unique_ptr<RSMgdFeatureReader> rsrdr;
+            std::unique_ptr<RSMgPortableFeatureReader> rsrdr;
 
             try
             {
@@ -2195,7 +2195,7 @@
                 if (!featureFilter.empty())
                 {
                     //set the feature filter, if any
-                    MgdSelection selectionFilter(map, featureFilter);
+                    MgPortableSelection selectionFilter(map, featureFilter);
                     Ptr<MgReadOnlyLayerCollection> layers = selectionFilter.GetLayers();
                     if (layers != NULL)
                     {
@@ -2219,15 +2219,15 @@
                 // or we end up with a reference count issue that causes a new FDO connection to be cached instead of
                 // reusing the already existing one.
                 Ptr<MgFeatureReader> rdr = m_svcFeature->SelectFeatures(featResId, vl->GetFeatureName(), options);
-                rsrdr.reset(new RSMgdFeatureReader(rdr, m_svcFeature, featResId, options, vl->GetGeometry()));
+                rsrdr.reset(new RSMgPortableFeatureReader(rdr, m_svcFeature, featResId, options, vl->GetGeometry()));
 
                 // Note that the FdoIFeatureReader smart pointer below is created
                 // inside the following IF statement to ensure it gets destroyed
-                // BEFORE the RSMgdFeatureReader object above goes out of scope,
+                // BEFORE the RSMgPortableFeatureReader object above goes out of scope,
                 // even when an exception gets thrown.
                 if (FdoPtr<FdoIFeatureReader>(rsrdr->GetInternalReader()))
                 {
-                    //run a stylization loop with the MgdFeatureInfoRenderer.
+                    //run a stylization loop with the MgPortableFeatureInfoRenderer.
                     //This will build up the selection set and also
                     //evaluate the tooltip, hyperlink and feature properties
                     //for the first feature hit
@@ -2332,7 +2332,7 @@
                                 options->SetSpatialFilter(layer->GetFeatureGeometryName(), intersectPolygon, /*MgFeatureSpatialOperations*/selectionVariant);
 
                                 rdr = m_svcFeature->SelectFeatures(featResId, vl->GetFeatureName(), options);
-                                rsrdr.reset(new RSMgdFeatureReader(rdr, m_svcFeature, featResId, options, vl->GetGeometry()));
+                                rsrdr.reset(new RSMgPortableFeatureReader(rdr, m_svcFeature, featResId, options, vl->GetGeometry()));
                                 selRenderer->PointTest(true);
                                 ds.StylizeVectorLayer(vl, selRenderer, rsrdr.get(), xformer, scale, StylizeThatMany, selRenderer);
 
@@ -2379,7 +2379,7 @@
 
     MG_CATCH(L"MgServerRenderingService.RenderForSelection")
 
-    MgdTransformCache::Clear(transformCache);
+    MgPortableTransformCache::Clear(transformCache);
 
     MG_THROW()
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/RenderingService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/RenderingService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/RenderingService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,11 +18,11 @@
 #ifndef DESKTOP_RENDERING_SERVICE_H
 #define DESKTOP_RENDERING_SERVICE_H
 
-class MgdMap;
-class MgdFeatureInformation;
-class MgdRenderingOptions;
-class MgdFeatureInfoRenderer;
-class MgdDrawingService;
+class MgPortableMap;
+class MgPortableFeatureInformation;
+class MgPortableRenderingOptions;
+class MgPortableFeatureInfoRenderer;
+class MgPortableDrawingService;
 struct RS_Bounds;
 class RS_Color;
 class Stylizer;
@@ -35,7 +35,7 @@
     class ProfileRenderMapResult;
 }
 
-template class Ptr<MgdDrawingService>;
+template class Ptr<MgPortableDrawingService>;
 
 /// \ingroup Desktop_Service_Module
 /// \{
@@ -42,13 +42,13 @@
 
 /// \brief
 /// This class provides services to render a map into an image
-class MG_DESKTOP_API MgdRenderingService : public MgService
+class MG_DESKTOP_API MgPortableRenderingService : public MgService
 {
-    DECLARE_CLASSNAME(MgdRenderingService)
+    DECLARE_CLASSNAME(MgPortableRenderingService)
 
 public:
-    MgdRenderingService();
-    ~MgdRenderingService();
+    MgPortableRenderingService();
+    ~MgPortableRenderingService();
 
     DECLARE_CREATE_SERVICE()
 
@@ -62,7 +62,7 @@
     /// \remarks
     /// This method only renders the given tile. No tile caching is performed
     /// by this method. To render and cache the tile, use the 
-    /// \link MgdTileService::GetTile GetTile \endlink method instead
+    /// \link MgPortableTileService::GetTile GetTile \endlink method instead
     ///
     /// \param map
     /// Input
@@ -80,7 +80,7 @@
     /// \return
     /// A byte reader containing the rendered tile image.
     ///
-    virtual MgByteReader* RenderTile(MgdMap* map,
+    virtual MgByteReader* RenderTile(MgPortableMap* map,
                                      CREFSTRING baseMapLayerGroupName,
                                      INT32 tileColumn,
                                      INT32 tileRow);
@@ -87,7 +87,7 @@
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders all dynamic layers in the specified MgdMap to a dynamic overlay image
+    /// Renders all dynamic layers in the specified MgPortableMap to a dynamic overlay image
     /// with a transparent background. The center, scale, size, and layers to be
     /// rendered are defined by the specified map instance.  The format parameter
     /// must be set to an image format that supports transparency.
@@ -105,13 +105,13 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderDynamicOverlay(MgdMap* map,
-                                               MgdSelection* selection,
+    virtual MgByteReader* RenderDynamicOverlay(MgPortableMap* map,
+                                               MgPortableSelection* selection,
                                                CREFSTRING format);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders all dynamic layers in the specified MgdMap to a dynamic overlay image
+    /// Renders all dynamic layers in the specified MgPortableMap to a dynamic overlay image
     /// with a transparent background. The center, scale, size, and layers to be
     /// rendered are defined by the specified map instance.  The format parameter
     /// must be set to an image format that supports transparency.
@@ -132,14 +132,14 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderDynamicOverlay(MgdMap* map,
-                                               MgdSelection* selection,
+    virtual MgByteReader* RenderDynamicOverlay(MgPortableMap* map,
+                                               MgPortableSelection* selection,
                                                CREFSTRING format,
                                                bool bKeepSelection);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders all dynamic layers in the specified MgdMap to a dynamic overlay image
+    /// Renders all dynamic layers in the specified MgPortableMap to a dynamic overlay image
     /// with a transparent background. The center, scale, size, and layers to be
     /// rendered are defined by the specified map instance.  The format parameter
     /// must be set to an image format that supports transparency.
@@ -157,13 +157,13 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderDynamicOverlay(MgdMap* map,
-                                               MgdSelection* selection,
-                                               MgdRenderingOptions* options);
+    virtual MgByteReader* RenderDynamicOverlay(MgPortableMap* map,
+                                               MgPortableSelection* selection,
+                                               MgPortableRenderingOptions* options);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders the specified MgdMap to the requested image format.
+    /// Renders the specified MgPortableMap to the requested image format.
     ///
     /// \param map
     /// Input
@@ -178,13 +178,13 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     CREFSTRING format);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders the specified MgdMap to the requested image format.
+    /// Renders the specified MgPortableMap to the requested image format.
     ///
     /// \param map
     /// Input
@@ -202,14 +202,14 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     CREFSTRING format,
                                     bool bKeepSelection);
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders the specified MgdMap to the requested image format.
+    /// Renders the specified MgPortableMap to the requested image format.
     ///
     /// \param map
     /// Input
@@ -230,8 +230,8 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     CREFSTRING format,
                                     bool bKeepSelection,
                                     bool bClip);
@@ -238,7 +238,7 @@
 
     /////////////////////////////////////////////////////////////////
     /// \brief
-    /// Renders the legend for the specified MgdMap to the requested size and format
+    /// Renders the legend for the specified MgPortableMap to the requested size and format
     ///
     /// \param map
     /// Input
@@ -259,7 +259,7 @@
     /// \return
     /// A byte reader containing the rendered image
     ///
-    virtual MgByteReader* RenderMapLegend(MgdMap* map,
+    virtual MgByteReader* RenderMapLegend(MgPortableMap* map,
                                           INT32 width,
                                           INT32 height,
                                           MgColor* backgroundColor,
@@ -294,7 +294,7 @@
     /// An MgSelection instance identifying the features that meet the
     /// selection criteria. Returns null if no features are identified.
     ///
-    virtual MgdFeatureInformation* QueryFeatures(MgdMap* map,
+    virtual MgPortableFeatureInformation* QueryFeatures(MgPortableMap* map,
                                                  MgStringCollection* layerNames,
                                                  MgGeometry* filterGeometry,
                                                  INT32 selectionVariant,
@@ -335,7 +335,7 @@
     /// An MgSelection instance identifying the features that meet the
     /// selection criteria. Returns null if no features are identified.
     ///
-    virtual MgdFeatureInformation* QueryFeatures(MgdMap* map,
+    virtual MgPortableFeatureInformation* QueryFeatures(MgPortableMap* map,
                                                  MgStringCollection* layerNames,
                                                  MgGeometry* filterGeometry,
                                                  INT32 selectionVariant,
@@ -345,13 +345,13 @@
 
 INTERNAL_API:
 
-    virtual MgByteReader* RenderDynamicOverlay(MgdMap* map,
-                                               MgdSelection* selection,
-                                               MgdRenderingOptions* options,
+    virtual MgByteReader* RenderDynamicOverlay(MgPortableMap* map,
+                                               MgPortableSelection* selection,
+                                               MgPortableRenderingOptions* options,
                                                MdfModel::ProfileRenderMapResult* pPRMResult);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgEnvelope* extents,
                                     INT32 width,
                                     INT32 height,
@@ -358,8 +358,8 @@
                                     MgColor* backgroundColor,
                                     CREFSTRING format);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgEnvelope* extents,
                                     INT32 width,
                                     INT32 height,
@@ -367,8 +367,8 @@
                                     CREFSTRING format,
                                     bool bKeepSelection);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgCoordinate* center,
                                     double scale,
                                     INT32 width,
@@ -376,8 +376,8 @@
                                     MgColor* backgroundColor,
                                     CREFSTRING format);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgCoordinate* center,
                                     double scale,
                                     INT32 width,
@@ -386,8 +386,8 @@
                                     CREFSTRING format,
                                     bool bKeepSelection);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgCoordinate* center,
                                     double scale,
                                     INT32 width,
@@ -397,8 +397,8 @@
                                     bool bKeepSelection,
                                     MdfModel::ProfileRenderMapResult* pPRMResult);
 
-    virtual MgByteReader* RenderMap(MgdMap* map,
-                                    MgdSelection* selection,
+    virtual MgByteReader* RenderMap(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgCoordinate* center,
                                     double scale,
                                     INT32 width,
@@ -410,7 +410,7 @@
                                     MdfModel::ProfileRenderMapResult* pPRMResult = NULL);
 
 private:
-    MgdFeatureInformation* QueryFeaturesInternal(MgdMap* map,
+    MgPortableFeatureInformation* QueryFeaturesInternal(MgPortableMap* map,
                                                  MgStringCollection* layerNames,
                                                  MgGeometry* filterGeometry,
                                                  INT32 selectionVariant,
@@ -419,7 +419,7 @@
                                                  INT32 layerAttributeFilter);
 
     // used for tile generation
-    MgByteReader* RenderTile(MgdMap* map,
+    MgByteReader* RenderTile(MgPortableMap* map,
                              MgLayerGroup* baseGroup,
                              INT32 scaleIndex,
                              INT32 width,
@@ -432,21 +432,21 @@
                              CREFSTRING format);
 
     // Internal help called by our PUBLISHED_API versions of RenderDynamicOverlay
-    MgByteReader* RenderDynamicOverlayInternal(MgdMap* map,
-                                               MgdSelection* selection,
-                                               MgdRenderingOptions* options,
+    MgByteReader* RenderDynamicOverlayInternal(MgPortableMap* map,
+                                               MgPortableSelection* selection,
+                                               MgPortableRenderingOptions* options,
                                                MdfModel::ProfileRenderMapResult* pPRMResult);
 
     // Internal help called by our PUBLISHED_API versions of RenderMap
-    MgByteReader* RenderMapPublished(MgdMap* map,
-                                     MgdSelection* selection,
+    MgByteReader* RenderMapPublished(MgPortableMap* map,
+                                     MgPortableSelection* selection,
                                      CREFSTRING format,
                                      bool bKeepSelection,
                                      bool bClip);
 
     // helper used by other methods
-    MgByteReader* RenderMapInternal(MgdMap* map,
-                                    MgdSelection* selection,
+    MgByteReader* RenderMapInternal(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgReadOnlyLayerCollection* roLayers,
                                     AGGRenderer* dr,
                                     INT32 drawWidth,
@@ -461,8 +461,8 @@
                                     bool renderWatermark,
                                     MdfModel::ProfileRenderMapResult* pPRMResult = NULL);
     
-    MgByteReader* RenderMapInternal(MgdMap* map,
-                                    MgdSelection* selection,
+    MgByteReader* RenderMapInternal(MgPortableMap* map,
+                                    MgPortableSelection* selection,
                                     MgReadOnlyLayerCollection* roLayers,
                                     AGGRenderer* dr,
                                     INT32 drawWidth,
@@ -472,11 +472,11 @@
                                     double scale,
                                     RS_Bounds& b,
                                     bool expandExtents,
-                                    MgdRenderingOptions* options,
+                                    MgPortableRenderingOptions* options,
                                     bool renderWatermark,
                                     MdfModel::ProfileRenderMapResult* pPRMResult = NULL);
 
-    void RenderForSelection(MgdMap* map,
+    void RenderForSelection(MgPortableMap* map,
                             MgStringCollection* layerNames,
                             MgGeometry* geometry,
                             INT32 selectionVariant,
@@ -483,7 +483,7 @@
                             CREFSTRING featureFilter,
                             INT32 maxFeatures,
                             INT32 layerAttributeFilter,
-                            MgdFeatureInfoRenderer* selRenderer);
+                            MgPortableFeatureInfoRenderer* selRenderer);
 
     AGGRenderer* CreateRenderer(int width,
                                 int height,
@@ -492,7 +492,7 @@
                                 bool localOverposting = false,
                                 double tileExtentOffset = 0.0);
 
-    void RenderLayers(MgdMap* map,
+    void RenderLayers(MgPortableMap* map,
                       MgReadOnlyLayerCollection* layers,
                       Stylizer* ds,
                       Renderer* dr,
@@ -502,10 +502,10 @@
                       CREFSTRING format,
                       MdfModel::ProfileRenderMapResult* pPRMResult);
 
-    void RenderSelection(MgdMap* map,
-                         MgdSelection* selection,
+    void RenderSelection(MgPortableMap* map,
+                         MgPortableSelection* selection,
                          MgReadOnlyLayerCollection* layers,
-                         MgdRenderingOptions* options,
+                         MgPortableRenderingOptions* options,
                          Stylizer* ds,
                          Renderer* dr,
                          MgCoordinateSystem* dstCs,
@@ -513,7 +513,7 @@
                          INT32 behavior,
                          MdfModel::ProfileRenderMapResult* pPRMResult);
 
-    void RenderWatermarks(MgdMap* map,
+    void RenderWatermarks(MgPortableMap* map,
                           MgReadOnlyLayerCollection* layers,
                           Stylizer* ds,
                           Renderer* dr,
@@ -523,7 +523,7 @@
                           INT32 saveHeight,
                           MdfModel::ProfileRenderMapResult* pPRMResult);
 
-    MgByteReader* CreateImage(MgdMap* map,
+    MgByteReader* CreateImage(MgPortableMap* map,
                               AGGRenderer* dr,
                               INT32 saveWidth,
                               INT32 saveHeight,
@@ -533,7 +533,7 @@
     // member data
     Ptr<MgFeatureService> m_svcFeature;
     Ptr<MgResourceService> m_svcResource;
-    Ptr<MgdDrawingService> m_svcDrawing;
+    Ptr<MgPortableDrawingService> m_svcDrawing;
     Ptr<MgCoordinateSystemFactory> m_pCSFactory;
 
     INT32 m_rasterGridSize;

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ByteSourceDwfInputStreamImpl.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,7 +20,7 @@
 
 ///----------------------------------------------------------------------------
 /// <summary>
-/// Constructs an MgdByteSourceDwfInputStreamImpl object.
+/// Constructs an MgPortableByteSourceDwfInputStreamImpl object.
 /// </summary>
 ///
 /// <param name="inputStream">
@@ -28,7 +28,7 @@
 /// </param>
 ///----------------------------------------------------------------------------
 
-MgdByteSourceDwfInputStreamImpl::MgdByteSourceDwfInputStreamImpl(
+MgPortableByteSourceDwfInputStreamImpl::MgPortableByteSourceDwfInputStreamImpl(
     DWFInputStream* inputStream) :
     m_inputStream(inputStream)
 {
@@ -35,7 +35,7 @@
     if (NULL == m_inputStream)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdByteSourceDwfInputStreamImpl.MgdByteSourceDwfInputStreamImpl",
+            L"MgPortableByteSourceDwfInputStreamImpl.MgPortableByteSourceDwfInputStreamImpl",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
@@ -42,11 +42,11 @@
 
 ///----------------------------------------------------------------------------
 /// <summary>
-/// Destructs an MgdByteSourceDwfInputStreamImpl object.
+/// Destructs an MgPortableByteSourceDwfInputStreamImpl object.
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdByteSourceDwfInputStreamImpl::~MgdByteSourceDwfInputStreamImpl()
+MgPortableByteSourceDwfInputStreamImpl::~MgPortableByteSourceDwfInputStreamImpl()
 {
     DWFCORE_FREE_OBJECT(m_inputStream);
 }
@@ -64,11 +64,11 @@
 /// </returns>
 ///
 /// <exceptions>
-/// MgdDwfException
+/// MgPortableDwfException
 /// </exceptions>
 ///----------------------------------------------------------------------------
 
-INT64 MgdByteSourceDwfInputStreamImpl::GetLength()
+INT64 MgPortableByteSourceDwfInputStreamImpl::GetLength()
 {
     INT64 length = 0;
 
@@ -76,12 +76,12 @@
 
     length = m_inputStream->available();
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdByteSourceDwfInputStreamImpl.GetLength")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableByteSourceDwfInputStreamImpl.GetLength")
 
     return length;
 }
 
-bool MgdByteSourceDwfInputStreamImpl::IsRewindable()
+bool MgPortableByteSourceDwfInputStreamImpl::IsRewindable()
 {
     // Currently DWFUnzippingInputStream does not support rewinding.
     return false;
@@ -97,11 +97,11 @@
 /// </returns>
 ///
 /// <exceptions>
-/// MgdDwfException
+/// MgPortableDwfException
 /// </exceptions>
 ///----------------------------------------------------------------------------
 
-void MgdByteSourceDwfInputStreamImpl::Rewind()
+void MgPortableByteSourceDwfInputStreamImpl::Rewind()
 {
     MG_RESOURCE_SERVICE_TRY()
 
@@ -108,7 +108,7 @@
     // Currently DWFUnzippingInputStream throws an DWFNotImplementedException.
     m_inputStream->seek(SEEK_SET, 0);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdByteSourceDwfInputStreamImpl.Rewind")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableByteSourceDwfInputStreamImpl.Rewind")
 }
 
 ///----------------------------------------------------------------------------
@@ -128,11 +128,11 @@
 /// </returns>
 ///
 /// <exceptions>
-/// MgdDwfException
+/// MgPortableDwfException
 /// </exceptions>
 ///----------------------------------------------------------------------------
 
-INT32 MgdByteSourceDwfInputStreamImpl::Read(BYTE_ARRAY_OUT buffer, INT32 length)
+INT32 MgPortableByteSourceDwfInputStreamImpl::Read(BYTE_ARRAY_OUT buffer, INT32 length)
 {
     INT32 nBytesRead = 0;
 
@@ -140,7 +140,7 @@
 
     nBytesRead = (INT32)m_inputStream->read(buffer, length);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdByteSourceDwfInputStreamImpl.Read")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableByteSourceDwfInputStreamImpl.Read")
 
     return nBytesRead;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ByteSourceDwfInputStreamImpl.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,17 +20,17 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// <summary>
-/// MgdByteSourceDwfInputStreamImpl provides access to the bytes on a DWF input
+/// MgPortableByteSourceDwfInputStreamImpl provides access to the bytes on a DWF input
 /// stream source.
 /// </summary>
 ///
-class MG_DESKTOP_API MgdByteSourceDwfInputStreamImpl : public ByteSourceImpl
+class MG_DESKTOP_API MgPortableByteSourceDwfInputStreamImpl : public ByteSourceImpl
 {
 public:
 
     ///////////////////////////////////////////////////////////////////////////
     /// <summary>
-    /// Constructs an MgdByteSourceDwfInputStreamImpl object.
+    /// Constructs an MgPortableByteSourceDwfInputStreamImpl object.
     /// </summary>
     ///
     /// <param name="inputStream">
@@ -37,14 +37,14 @@
     /// DWFInputStream object to use.
     /// </param>
     ///
-    MgdByteSourceDwfInputStreamImpl(DWFInputStream* inputStream);
+    MgPortableByteSourceDwfInputStreamImpl(DWFInputStream* inputStream);
 
     ///////////////////////////////////////////////////////////////////////////
     /// <summary>
-    /// Destructs an MgdByteSourceDwfInputStreamImpl object.
+    /// Destructs an MgPortableByteSourceDwfInputStreamImpl object.
     /// </summary>
     ///
-    virtual ~MgdByteSourceDwfInputStreamImpl();
+    virtual ~MgPortableByteSourceDwfInputStreamImpl();
 
     ///////////////////////////////////////////////////////////////////////////
     /// <summary>
@@ -102,10 +102,10 @@
 
     // Unimplemented Methods
 
-    MgdByteSourceDwfInputStreamImpl();
-    MgdByteSourceDwfInputStreamImpl(const MgdByteSourceDwfInputStreamImpl&);
-    MgdByteSourceDwfInputStreamImpl& operator=(
-        const MgdByteSourceDwfInputStreamImpl&);
+    MgPortableByteSourceDwfInputStreamImpl();
+    MgPortableByteSourceDwfInputStreamImpl(const MgPortableByteSourceDwfInputStreamImpl&);
+    MgPortableByteSourceDwfInputStreamImpl& operator=(
+        const MgPortableByteSourceDwfInputStreamImpl&);
 
 protected:
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/OperationInfo.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,24 +21,24 @@
 // Resource Service operations
 // TODO: Share the following strings with the Web tier.
 
-//const STRING MgdOperationName::CreateRepository=L"CREATEREPOSITORY";
-//const STRING MgdOperationName::DeleteRepository=L"DELETEREPOSITORY";
-const STRING MgdOperationName::UpdateRepository=L"UPDATEREPOSITORY";
-//const STRING MgdOperationName::ApplyResourcePackage=L"APPLYRESOURCEPACKAGE";
+//const STRING MgPortableOperationName::CreateRepository=L"CREATEREPOSITORY";
+//const STRING MgPortableOperationName::DeleteRepository=L"DELETEREPOSITORY";
+const STRING MgPortableOperationName::UpdateRepository=L"UPDATEREPOSITORY";
+//const STRING MgPortableOperationName::ApplyResourcePackage=L"APPLYRESOURCEPACKAGE";
 
-const STRING MgdOperationName::SetResource=L"SETRESOURCE";
-const STRING MgdOperationName::DeleteResource=L"DELETERESOURCE";
-const STRING MgdOperationName::MoveResource=L"MOVERESOURCE";
-const STRING MgdOperationName::CopyResource=L"COPYRESOURCE";
-const STRING MgdOperationName::ChangeResourceOwner=L"CHANGERESOURCEOWNER";
-const STRING MgdOperationName::InheritPermissionsFrom=L"INHERITPERMISSIONSFROM";
+const STRING MgPortableOperationName::SetResource=L"SETRESOURCE";
+const STRING MgPortableOperationName::DeleteResource=L"DELETERESOURCE";
+const STRING MgPortableOperationName::MoveResource=L"MOVERESOURCE";
+const STRING MgPortableOperationName::CopyResource=L"COPYRESOURCE";
+const STRING MgPortableOperationName::ChangeResourceOwner=L"CHANGERESOURCEOWNER";
+const STRING MgPortableOperationName::InheritPermissionsFrom=L"INHERITPERMISSIONSFROM";
 
-const STRING MgdOperationName::SetResourceData=L"SETRESOURCEDATA";
-const STRING MgdOperationName::DeleteResourceData=L"DELETERESOURCEDATA";
-const STRING MgdOperationName::RenameResourceData=L"RENAMERESOURCEDATA";
+const STRING MgPortableOperationName::SetResourceData=L"SETRESOURCEDATA";
+const STRING MgPortableOperationName::DeleteResourceData=L"DELETERESOURCEDATA";
+const STRING MgPortableOperationName::RenameResourceData=L"RENAMERESOURCEDATA";
 
 const STRING MgOperationInfo::sm_currentVersion = L"1.0.0";
-const MgdOperationParameter MgOperationInfo::sm_blankParameter;
+const MgPortableOperationParameter MgOperationInfo::sm_blankParameter;
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -135,7 +135,7 @@
 /// \brief
 /// Gets the specified parameter from the operation parameter map.
 ///
-const MgdOperationParameter& MgOperationInfo::GetParameter(CREFSTRING name,
+const MgPortableOperationParameter& MgOperationInfo::GetParameter(CREFSTRING name,
     bool required) const
 {
     MgOpParamMap::const_iterator i = m_parameters.find(name);
@@ -162,7 +162,7 @@
 /// Adds the specified parameter to the operation parameter map.
 ///
 void MgOperationInfo::AddParameter(CREFSTRING name,
-    const MgdOperationParameter& opParam)
+    const MgPortableOperationParameter& opParam)
 {
     MgOpParamMap::const_iterator i = m_parameters.find(name);
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/OperationInfo.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/OperationInfo.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,9 +20,9 @@
 
 #include "OperationParameter.h"
 
-typedef std::map<STRING, MgdOperationParameter> MgOpParamMap;
+typedef std::map<STRING, MgPortableOperationParameter> MgOpParamMap;
 
-class MgdOperationName
+class MgPortableOperationName
 {
 INTERNAL_API:
 //    static const STRING CreateRepository;
@@ -64,9 +64,9 @@
     STRING GetVersion() const;
     void SetVersion(CREFSTRING version);
 
-    const MgdOperationParameter& GetParameter(CREFSTRING name,
+    const MgPortableOperationParameter& GetParameter(CREFSTRING name,
         bool required = true) const;
-    void AddParameter(CREFSTRING name, const MgdOperationParameter& opParam);
+    void AddParameter(CREFSTRING name, const MgPortableOperationParameter& opParam);
     void RemoveParameter(CREFSTRING name);
 
     const MgOpParamMap& GetParameters() const;
@@ -75,7 +75,7 @@
 
 public:
     static const STRING sm_currentVersion;
-    static const MgdOperationParameter sm_blankParameter;
+    static const MgPortableOperationParameter sm_blankParameter;
 
 private:
     STRING m_name;

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/OperationParameter.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,23 +21,23 @@
 // Resource Service operation parameters
 // TODO: Share the following strings with the Web tier.
 
-const STRING MgdOperationParameter::Type=L"TYPE";
-const STRING MgdOperationParameter::Depth=L"DEPTH";
-const STRING MgdOperationParameter::ResourceId=L"RESOURCEID";
-const STRING MgdOperationParameter::ResourceContent=L"CONTENT";
-const STRING MgdOperationParameter::ResourceHeader=L"HEADER";
-const STRING MgdOperationParameter::SourceResourceId=L"SOURCE";
-const STRING MgdOperationParameter::DestinationResourceId=L"DESTINATION";
-const STRING MgdOperationParameter::DataName=L"DATANAME";
-const STRING MgdOperationParameter::DataType=L"DATATYPE";
-const STRING MgdOperationParameter::DataLength=L"DATALENGTH";
-const STRING MgdOperationParameter::Data=L"DATA";
-const STRING MgdOperationParameter::OldDataName=L"OLDDATANAME";
-const STRING MgdOperationParameter::NewDataName=L"NEWDATANAME";
-const STRING MgdOperationParameter::Overwrite=L"OVERWRITE";
-const STRING MgdOperationParameter::Package=L"PACKAGE";
-const STRING MgdOperationParameter::Owner=L"OWNER";
-const STRING MgdOperationParameter::IncludeDescendants=L"INCLUDEDESCENDANTS";
+const STRING MgPortableOperationParameter::Type=L"TYPE";
+const STRING MgPortableOperationParameter::Depth=L"DEPTH";
+const STRING MgPortableOperationParameter::ResourceId=L"RESOURCEID";
+const STRING MgPortableOperationParameter::ResourceContent=L"CONTENT";
+const STRING MgPortableOperationParameter::ResourceHeader=L"HEADER";
+const STRING MgPortableOperationParameter::SourceResourceId=L"SOURCE";
+const STRING MgPortableOperationParameter::DestinationResourceId=L"DESTINATION";
+const STRING MgPortableOperationParameter::DataName=L"DATANAME";
+const STRING MgPortableOperationParameter::DataType=L"DATATYPE";
+const STRING MgPortableOperationParameter::DataLength=L"DATALENGTH";
+const STRING MgPortableOperationParameter::Data=L"DATA";
+const STRING MgPortableOperationParameter::OldDataName=L"OLDDATANAME";
+const STRING MgPortableOperationParameter::NewDataName=L"NEWDATANAME";
+const STRING MgPortableOperationParameter::Overwrite=L"OVERWRITE";
+const STRING MgPortableOperationParameter::Package=L"PACKAGE";
+const STRING MgPortableOperationParameter::Owner=L"OWNER";
+const STRING MgPortableOperationParameter::IncludeDescendants=L"INCLUDEDESCENDANTS";
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -44,7 +44,7 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdOperationParameter::MgdOperationParameter()
+MgPortableOperationParameter::MgPortableOperationParameter()
 {
 }
 
@@ -53,7 +53,7 @@
 /// \brief
 /// Copy constructor.
 ///
-MgdOperationParameter::MgdOperationParameter(const MgdOperationParameter& opParam)
+MgPortableOperationParameter::MgPortableOperationParameter(const MgPortableOperationParameter& opParam)
 {
     *this = opParam;
 }
@@ -63,7 +63,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdOperationParameter::~MgdOperationParameter()
+MgPortableOperationParameter::~MgPortableOperationParameter()
 {
 }
 
@@ -72,8 +72,8 @@
 /// \brief
 /// Assignment operator.
 ///
-MgdOperationParameter& MgdOperationParameter::operator=(
-    const MgdOperationParameter& opParam)
+MgPortableOperationParameter& MgPortableOperationParameter::operator=(
+    const MgPortableOperationParameter& opParam)
 {
     if (&opParam != this)
     {
@@ -89,7 +89,7 @@
 /// \brief
 /// Sets the value of the parameter.
 ///
-void MgdOperationParameter::SetValue(CREFSTRING value)
+void MgPortableOperationParameter::SetValue(CREFSTRING value)
 {
     m_value = value;
 }
@@ -99,7 +99,7 @@
 /// \brief
 /// Sets the content type of the parameter.
 ///
-void MgdOperationParameter::SetContentType(CREFSTRING contentType)
+void MgPortableOperationParameter::SetContentType(CREFSTRING contentType)
 {
     m_contentType = contentType;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/OperationParameter.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/OperationParameter.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,19 +18,19 @@
 #ifndef DESKTOP_OPERATION_PARAMETER_H
 #define DESKTOP_OPERATION_PARAMETER_H
 
-class MgdOperationParameter
+class MgPortableOperationParameter
 {
 /// Constructors/Destructor
 
 public:
-    MgdOperationParameter();
-    MgdOperationParameter(const MgdOperationParameter& opParam);
-    virtual ~MgdOperationParameter();
+    MgPortableOperationParameter();
+    MgPortableOperationParameter(const MgPortableOperationParameter& opParam);
+    virtual ~MgPortableOperationParameter();
 
 /// Methods
 
 public:
-    MgdOperationParameter& operator=(const MgdOperationParameter& opParam);
+    MgPortableOperationParameter& operator=(const MgPortableOperationParameter& opParam);
 
     STRING GetValue() const;
     void SetValue(CREFSTRING value);
@@ -67,13 +67,13 @@
 
 /// Inline Methods
 
-inline STRING MgdOperationParameter::GetValue() const
+inline STRING MgPortableOperationParameter::GetValue() const
 {
     return m_value;
 }
 
 
-inline STRING MgdOperationParameter::GetContentType() const
+inline STRING MgPortableOperationParameter::GetContentType() const
 {
     return m_contentType;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourceContentCache.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,39 +15,39 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "ResourceContentCache.h"
 
-Ptr<MgdResourceContentCache> MgdResourceContentCache::smInstance = (MgdResourceContentCache*)NULL;
+Ptr<MgPortableResourceContentCache> MgPortableResourceContentCache::smInstance = (MgPortableResourceContentCache*)NULL;
 
-MgdResourceContentCache::MgdResourceContentCache() { }
+MgPortableResourceContentCache::MgPortableResourceContentCache() { }
 
-MgdResourceContentCache::~MgdResourceContentCache()
+MgPortableResourceContentCache::~MgPortableResourceContentCache()
 {
-    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdResourceContentCache::~MgdResourceContentCache()\n")));
+    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableResourceContentCache::~MgPortableResourceContentCache()\n")));
 }
 
-MgdResourceContentCache* MgdResourceContentCache::GetInstance()
+MgPortableResourceContentCache* MgPortableResourceContentCache::GetInstance()
 {
-    if (NULL == MgdResourceContentCache::smInstance)
+    if (NULL == MgPortableResourceContentCache::smInstance)
     {
         // Perform Double-Checked Locking Optimization.
         ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance (), 0));
-        if (NULL == MgdResourceContentCache::smInstance)
+        if (NULL == MgPortableResourceContentCache::smInstance)
         {
-            MgdResourceContentCache::smInstance = new MgdResourceContentCache();
+            MgPortableResourceContentCache::smInstance = new MgPortableResourceContentCache();
         }
     }
     return smInstance;
 }
 
-STRING MgdResourceContentCache::GetContentEntry(MgResourceIdentifier* resource)
+STRING MgPortableResourceContentCache::GetContentEntry(MgResourceIdentifier* resource)
 {
-    CHECKARGUMENTNULL(resource, L"MgdResourceContentCache::PutContentEntry");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceContentCache::PutContentEntry");
     STRING resId = resource->ToString();
 
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, L""));
-    MgdResourceContentCacheEntries::iterator i = m_resourceContentCacheEntries.find(resId);
+    MgPortableResourceContentCacheEntries::iterator i = m_resourceContentCacheEntries.find(resId);
 
     STRING ret;
     if (m_resourceContentCacheEntries.end() != i)
@@ -57,25 +57,25 @@
     return ret;
 }
 
-INT32 MgdResourceContentCache::GetCacheSize()
+INT32 MgPortableResourceContentCache::GetCacheSize()
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, 0));
     return (INT32)m_resourceContentCacheEntries.size();
 }
 
-void MgdResourceContentCache::Clear()
+void MgPortableResourceContentCache::Clear()
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
     m_resourceContentCacheEntries.clear();
 }
 
-void MgdResourceContentCache::RemoveContentEntry(MgResourceIdentifier* resource)
+void MgPortableResourceContentCache::RemoveContentEntry(MgResourceIdentifier* resource)
 {
-    CHECKARGUMENTNULL(resource, L"MgdResourceContentCache::PutContentEntry");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceContentCache::PutContentEntry");
     STRING resId = resource->ToString();
 
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
-    MgdResourceContentCacheEntries::iterator i = m_resourceContentCacheEntries.find(resId);
+    MgPortableResourceContentCacheEntries::iterator i = m_resourceContentCacheEntries.find(resId);
 
     if (m_resourceContentCacheEntries.end() != i)
     {
@@ -83,15 +83,15 @@
     }
 }
 
-void MgdResourceContentCache::PutContentEntry(MgResourceIdentifier* resource, CREFSTRING content)
+void MgPortableResourceContentCache::PutContentEntry(MgResourceIdentifier* resource, CREFSTRING content)
 {
-    CHECKARGUMENTNULL(resource, L"MgdResourceContentCache::PutContentEntry");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceContentCache::PutContentEntry");
     if (content.empty())
     {
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceContentCache::PutContentEntry", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceContentCache::PutContentEntry", __LINE__, __WFILE__, NULL, L"", NULL);
     }
     STRING resId = resource->ToString();
-    //ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdResourceContentCache::PutContentEntry - %W\n"), resId.c_str()));
+    //ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableResourceContentCache::PutContentEntry - %W\n"), resId.c_str()));
     
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
     m_resourceContentCacheEntries[resId] = content;

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourceContentCache.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceContentCache.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,17 +18,17 @@
 #ifndef DESKTOP_RESOURCE_CONTENT_CACHE_H
 #define DESKTOP_RESOURCE_CONTENT_CACHE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MG_DESKTOP_API MgdResourceContentCache : public MgGuardDisposable
+class MG_DESKTOP_API MgPortableResourceContentCache : public MgGuardDisposable
 {
 private:
-    static Ptr<MgdResourceContentCache> smInstance;
-    MgdResourceContentCache();
+    static Ptr<MgPortableResourceContentCache> smInstance;
+    MgPortableResourceContentCache();
 
 public:
-    static MgdResourceContentCache* GetInstance();
-    virtual ~MgdResourceContentCache();
+    static MgPortableResourceContentCache* GetInstance();
+    virtual ~MgPortableResourceContentCache();
 
     STRING GetContentEntry(MgResourceIdentifier* resource);
     void RemoveContentEntry(MgResourceIdentifier* resource);
@@ -44,8 +44,8 @@
     /// Needed for thread-safety
     ACE_Recursive_Thread_Mutex m_mutex;
 
-    typedef std::map<STRING, STRING> MgdResourceContentCacheEntries;
-    MgdResourceContentCacheEntries m_resourceContentCacheEntries;
+    typedef std::map<STRING, STRING> MgPortableResourceContentCacheEntries;
+    MgPortableResourceContentCacheEntries m_resourceContentCacheEntries;
 };
 
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourceDefs.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,15 +20,15 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Package API names
 ///
-const STRING MgdPackageApiName::LoadPackage  = L"LoadPackage";
-const STRING MgdPackageApiName::MakePackage  = L"MakePackage";
+const STRING MgPortablePackageApiName::LoadPackage  = L"LoadPackage";
+const STRING MgPortablePackageApiName::MakePackage  = L"MakePackage";
 
 
 ///////////////////////////////////////////////////////////////////////////////
 /// Status codes for packages
 ///
-const STRING MgdPackageStatusCode::Succeeded = L"Succeeded";
-const STRING MgdPackageStatusCode::Failed    = L"Failed";
-const STRING MgdPackageStatusCode::InProgress= L"InProgress";
-const STRING MgdPackageStatusCode::NotStarted= L"NotStarted";
-const STRING MgdPackageStatusCode::Unknown   = L"Unknown";
\ No newline at end of file
+const STRING MgPortablePackageStatusCode::Succeeded = L"Succeeded";
+const STRING MgPortablePackageStatusCode::Failed    = L"Failed";
+const STRING MgPortablePackageStatusCode::InProgress= L"InProgress";
+const STRING MgPortablePackageStatusCode::NotStarted= L"NotStarted";
+const STRING MgPortablePackageStatusCode::Unknown   = L"Unknown";
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourceDefs.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourceDefs.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -28,7 +28,7 @@
 /// \brief
 /// Package API names
 ///
-class MG_DESKTOP_API MgdPackageApiName
+class MG_DESKTOP_API MgPortablePackageApiName
 {
 INTERNAL_API:
     static const STRING LoadPackage;    /// value("LoadPackage")
@@ -40,7 +40,7 @@
 /// \brief
 /// Status codes for packages
 ///
-class MG_DESKTOP_API MgdPackageStatusCode
+class MG_DESKTOP_API MgPortablePackageStatusCode
 {
 EXTERNAL_API:
     /// Indicates a package was successfully loaded/made.

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageHandler.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,7 +22,7 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdResourcePackageHandler::MgdResourcePackageHandler(
+MgPortableResourcePackageHandler::MgPortableResourcePackageHandler(
     MgResourceService& repositoryManager) :
     m_repositoryManager(repositoryManager),
     m_opsSucceeded(0),
@@ -34,7 +34,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdResourcePackageHandler::~MgdResourcePackageHandler()
+MgPortableResourcePackageHandler::~MgPortableResourcePackageHandler()
 {
 }
 
@@ -42,7 +42,7 @@
 /// \brief
 /// Initializes the package status information.
 ///
-void MgdResourcePackageHandler::InitializeStatus(CREFSTRING packageApiName,
+void MgPortableResourcePackageHandler::InitializeStatus(CREFSTRING packageApiName,
     CREFSTRING packagePathname, bool logActivities)
 {
     m_packagePathname = packagePathname;
@@ -96,7 +96,7 @@
 /// \brief
 /// Updates the package status information.
 ///
-void MgdResourcePackageHandler::UpdateStatus(MgException* except)
+void MgPortableResourcePackageHandler::UpdateStatus(MgException* except)
 {
     /*
     if (m_packageLogWriter != NULL)

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageHandler.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,22 +18,22 @@
 #ifndef DESKTOP_RESOURCE_PACKAGE_HANDLER_H
 #define DESKTOP_RESOURCE_PACKAGE_HANDLER_H
 
-class MgdResourcePackageHandler
+class MgPortableResourcePackageHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    explicit MgdResourcePackageHandler(MgResourceService& repositoryManager);
-    virtual ~MgdResourcePackageHandler();
+    explicit MgPortableResourcePackageHandler(MgResourceService& repositoryManager);
+    virtual ~MgPortableResourcePackageHandler();
 
 private:
 
     // Unimplemented Methods
 
-    MgdResourcePackageHandler();
-    MgdResourcePackageHandler(const MgdResourcePackageHandler&);
-    MgdResourcePackageHandler& operator=(const MgdResourcePackageHandler&);
+    MgPortableResourcePackageHandler();
+    MgPortableResourcePackageHandler(const MgPortableResourcePackageHandler&);
+    MgPortableResourcePackageHandler& operator=(const MgPortableResourcePackageHandler&);
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageLoader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,9 +22,9 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdResourcePackageLoader::MgdResourcePackageLoader(
+MgPortableResourcePackageLoader::MgPortableResourcePackageLoader(
     MgResourceService& repositoryManager) :
-    MgdResourcePackageHandler(repositoryManager)
+    MgPortableResourcePackageHandler(repositoryManager)
 {
 }
 
@@ -32,7 +32,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdResourcePackageLoader::~MgdResourcePackageLoader()
+MgPortableResourcePackageLoader::~MgPortableResourcePackageLoader()
 {
 }
 
@@ -40,8 +40,8 @@
 /// \brief
 /// Creates a resource identifier based on the specified parameter.
 ///
-MgResourceIdentifier* MgdResourcePackageLoader::CreateResourceIdentifier(
-    const MgdOperationParameter& opParam) const
+MgResourceIdentifier* MgPortableResourcePackageLoader::CreateResourceIdentifier(
+    const MgPortableOperationParameter& opParam) const
 {
     Ptr<MgResourceIdentifier> resource;
 
@@ -55,7 +55,7 @@
     if (resource == NULL)
     {
         throw new MgException(MgExceptionCodes::MgNullArgumentException, 
-            L"MgdResourcePackageLoader.CreateResourceIdentifier",
+            L"MgPortableResourcePackageLoader.CreateResourceIdentifier",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -64,11 +64,11 @@
     if (!resource->IsRepositoryTypeOf(MgRepositoryType::Library))
     {
         throw new MgException(MgExceptionCodes::MgInvalidRepositoryTypeException, 
-            L"MgdResourcePackageLoader.CreateResourceIdentifier",
+            L"MgPortableResourcePackageLoader.CreateResourceIdentifier",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.CreateResourceIdentifier")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.CreateResourceIdentifier")
 
     return resource.Detach();
 }
@@ -77,8 +77,8 @@
 /// \brief
 /// Creates a byte reader based on the specified parameter.
 ///
-MgByteReader* MgdResourcePackageLoader::CreateByteReader(
-    const MgdOperationParameter& opParam, bool direct) const
+MgByteReader* MgPortableResourcePackageLoader::CreateByteReader(
+    const MgPortableOperationParameter& opParam, bool direct) const
 {
     Ptr<MgByteReader> byteReader;
 
@@ -105,7 +105,7 @@
         byteSource->SetMimeType(opParam.GetContentType());
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.CreateByteReader")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.CreateByteReader")
 
     return byteReader.Detach();
 }
@@ -114,22 +114,22 @@
 /// \brief
 /// Starts loading the resource package.
 ///
-void MgdResourcePackageLoader::Start(CREFSTRING packagePathname,
+void MgPortableResourcePackageLoader::Start(CREFSTRING packagePathname,
     bool logActivities)
 {
     MG_RESOURCE_SERVICE_TRY()
 
     // Initialize the status information.
-    InitializeStatus(MgdPackageApiName::LoadPackage, packagePathname,
+    InitializeStatus(MgPortablePackageApiName::LoadPackage, packagePathname,
         logActivities);
 
     // Create the package reader.
-    m_zipFileReader.reset(new MgdZipFileReader(packagePathname));
+    m_zipFileReader.reset(new MgPortableZipFileReader(packagePathname));
 
     // Extract the resource package manifest and parse it.
-    MgdOperationParameter opParam;
+    MgPortableOperationParameter opParam;
 
-    opParam.SetValue(MgdResourcePackageManifestHandler::sm_manifestFileName);
+    opParam.SetValue(MgPortableResourcePackageManifestHandler::sm_manifestFileName);
     opParam.SetContentType(MgMimeType::Xml);
 
     string manifestXmlDoc;
@@ -147,7 +147,7 @@
         PerformOperation(opInfoVector[m_opsSucceeded]);
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.Start")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.Start")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -154,7 +154,7 @@
 /// \brief
 /// Ends the resource package loading process.
 ///
-void MgdResourcePackageLoader::End(MgException* except)
+void MgPortableResourcePackageLoader::End(MgException* except)
 {
     MG_TRY()
 
@@ -179,54 +179,54 @@
 /// \brief
 /// Performs the specified operation.
 ///
-void MgdResourcePackageLoader::PerformOperation(const MgOperationInfo& opInfo)
+void MgPortableResourcePackageLoader::PerformOperation(const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
     CREFSTRING opName = opInfo.GetName();
 
-    if (MgdOperationName::UpdateRepository == opName)
+    if (MgPortableOperationName::UpdateRepository == opName)
     {
         UpdateRepository(opInfo);
     }
-    else if (MgdOperationName::SetResource == opName)
+    else if (MgPortableOperationName::SetResource == opName)
     {
         SetResource(opInfo);
     }
-    else if (MgdOperationName::DeleteResource == opName)
+    else if (MgPortableOperationName::DeleteResource == opName)
     {
         DeleteResource(opInfo);
     }
-    else if (MgdOperationName::MoveResource == opName)
+    else if (MgPortableOperationName::MoveResource == opName)
     {
         MoveResource(opInfo);
     }
-    else if (MgdOperationName::CopyResource == opName)
+    else if (MgPortableOperationName::CopyResource == opName)
     {
         CopyResource(opInfo);
     }
-    else if (MgdOperationName::ChangeResourceOwner == opName)
+    else if (MgPortableOperationName::ChangeResourceOwner == opName)
     {
         ChangeResourceOwner(opInfo);
     }
-    else if (MgdOperationName::InheritPermissionsFrom == opName)
+    else if (MgPortableOperationName::InheritPermissionsFrom == opName)
     {
         InheritPermissionsFrom(opInfo);
     }
-    else if (MgdOperationName::SetResourceData == opName)
+    else if (MgPortableOperationName::SetResourceData == opName)
     {
         SetResourceData(opInfo);
     }
-    else if (MgdOperationName::DeleteResourceData == opName)
+    else if (MgPortableOperationName::DeleteResourceData == opName)
     {
         DeleteResourceData(opInfo);
     }
-    else if (MgdOperationName::RenameResourceData == opName)
+    else if (MgPortableOperationName::RenameResourceData == opName)
     {
         RenameResourceData(opInfo);
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.PerformOperation")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.PerformOperation")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -233,7 +233,7 @@
 /// \brief
 /// Updates an existing repository.
 ///
-void MgdResourcePackageLoader::UpdateRepository(
+void MgPortableResourcePackageLoader::UpdateRepository(
     const MgOperationInfo& opInfo)
 {
     //NOOP. mg-desktop doesn't implement this operation
@@ -243,21 +243,21 @@
 /// \brief
 /// Adds a new resource to the repository or updates an existing resource.
 ///
-void MgdResourcePackageLoader::SetResource(
+void MgPortableResourcePackageLoader::SetResource(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
-    const MgdOperationParameter& resourceHeaderParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceHeader, false);
+    const MgPortableOperationParameter& resourceHeaderParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceHeader, false);
     Ptr<MgByteReader> header = CreateByteReader(resourceHeaderParam, false);
 
-    const MgdOperationParameter& resourceContentParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceContent, resource->IsFolder() ? false : (header == NULL));
+    const MgPortableOperationParameter& resourceContentParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceContent, resource->IsFolder() ? false : (header == NULL));
     Ptr<MgByteReader> content = CreateByteReader(resourceContentParam);
 
     /*
@@ -277,7 +277,7 @@
 
     m_repositoryManager.SetResource(resource, content, header);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.SetResource")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.SetResource")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -284,13 +284,13 @@
 /// \brief
 /// Deletes an existing resource from the opened resource repository.
 ///
-void MgdResourcePackageLoader::DeleteResource(
+void MgPortableResourcePackageLoader::DeleteResource(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
     /*
@@ -306,7 +306,7 @@
 
     m_repositoryManager.DeleteResource(resource);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.DeleteResource")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.DeleteResource")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -313,23 +313,23 @@
 /// \brief
 /// Renames a resource and/or moves it from one location to another.
 ///
-void MgdResourcePackageLoader::MoveResource(
+void MgPortableResourcePackageLoader::MoveResource(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& srcResourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::SourceResourceId);
+    const MgPortableOperationParameter& srcResourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::SourceResourceId);
     Ptr<MgResourceIdentifier> srcResource = CreateResourceIdentifier(srcResourceIdParam);
 
-    const MgdOperationParameter& destResourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::DestinationResourceId);
+    const MgPortableOperationParameter& destResourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::DestinationResourceId);
     Ptr<MgResourceIdentifier> destResource = CreateResourceIdentifier(destResourceIdParam);
 
     bool overwrite = ACE_OS::atoi(opInfo.GetParameter(
-        MgdOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
+        MgPortableOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
 
-    CREFSTRING paramCascade = opInfo.GetParameter(MgdOperationParameter::Overwrite, false).GetValue();
+    CREFSTRING paramCascade = opInfo.GetParameter(MgPortableOperationParameter::Overwrite, false).GetValue();
     bool cascade = !paramCascade.empty() && (ACE_OS::atoi(paramCascade.c_str()) != 0);
 
     /*
@@ -349,7 +349,7 @@
 
     m_repositoryManager.MoveResource(srcResource, destResource, overwrite, cascade);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.MoveResource")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.MoveResource")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -356,21 +356,21 @@
 /// \brief
 /// Copies an existing resource to another location.
 ///
-void MgdResourcePackageLoader::CopyResource(
+void MgPortableResourcePackageLoader::CopyResource(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& srcResourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::SourceResourceId);
+    const MgPortableOperationParameter& srcResourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::SourceResourceId);
     Ptr<MgResourceIdentifier> srcResource = CreateResourceIdentifier(srcResourceIdParam);
 
-    const MgdOperationParameter& destResourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::DestinationResourceId);
+    const MgPortableOperationParameter& destResourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::DestinationResourceId);
     Ptr<MgResourceIdentifier> destResource = CreateResourceIdentifier(destResourceIdParam);
 
     bool overwrite = ACE_OS::atoi(opInfo.GetParameter(
-        MgdOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
+        MgPortableOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
 
     /*
     if (m_packageLogWriter != NULL)
@@ -389,7 +389,7 @@
 
     m_repositoryManager.CopyResource(srcResource, destResource, overwrite);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.CopyResource")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.CopyResource")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -396,18 +396,18 @@
 /// \brief
 /// Changes the owner of an existing resource.
 ///
-void MgdResourcePackageLoader::ChangeResourceOwner(
+void MgPortableResourcePackageLoader::ChangeResourceOwner(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
-    CREFSTRING owner = opInfo.GetParameter(MgdOperationParameter::Owner).GetValue();
+    CREFSTRING owner = opInfo.GetParameter(MgPortableOperationParameter::Owner).GetValue();
     bool includeDescendants = ACE_OS::atoi(opInfo.GetParameter(
-        MgdOperationParameter::IncludeDescendants, false).GetValue().c_str()) != 0;
+        MgPortableOperationParameter::IncludeDescendants, false).GetValue().c_str()) != 0;
 
     /*
     if (m_packageLogWriter != NULL)
@@ -426,7 +426,7 @@
 
     m_repositoryManager.ChangeResourceOwner(resource, owner, includeDescendants);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.ChangeResourceOwner")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.ChangeResourceOwner")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -434,13 +434,13 @@
 /// Sets the permissions for all descendants to be inherited from the
 /// specified resource.
 ///
-void MgdResourcePackageLoader::InheritPermissionsFrom(
+void MgPortableResourcePackageLoader::InheritPermissionsFrom(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
     /*
@@ -456,7 +456,7 @@
 
     m_repositoryManager.InheritPermissionsFrom(resource);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.InheritPermissionsFrom")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.InheritPermissionsFrom")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -463,20 +463,20 @@
 /// \brief
 /// Sets tagged data of a specific type to the specified resource.
 ///
-void MgdResourcePackageLoader::SetResourceData(
+void MgPortableResourcePackageLoader::SetResourceData(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
-    CREFSTRING dataName = opInfo.GetParameter(MgdOperationParameter::DataName).GetValue();
-    CREFSTRING dataType = opInfo.GetParameter(MgdOperationParameter::DataType).GetValue();
+    CREFSTRING dataName = opInfo.GetParameter(MgPortableOperationParameter::DataName).GetValue();
+    CREFSTRING dataType = opInfo.GetParameter(MgPortableOperationParameter::DataType).GetValue();
 
-    const MgdOperationParameter& resourceDataParam = opInfo.GetParameter(
-        MgdOperationParameter::Data);
+    const MgPortableOperationParameter& resourceDataParam = opInfo.GetParameter(
+        MgPortableOperationParameter::Data);
     Ptr<MgByteReader> data = CreateByteReader(resourceDataParam);
 
     /*
@@ -498,7 +498,7 @@
 
     m_repositoryManager.SetResourceData(resource, dataName, dataType, data);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.SetResourceData")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.SetResourceData")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -505,16 +505,16 @@
 /// \brief
 /// Deletes tagged data from the specified resource.
 ///
-void MgdResourcePackageLoader::DeleteResourceData(
+void MgPortableResourcePackageLoader::DeleteResourceData(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
-    CREFSTRING dataName = opInfo.GetParameter(MgdOperationParameter::DataName).GetValue();
+    CREFSTRING dataName = opInfo.GetParameter(MgPortableOperationParameter::DataName).GetValue();
 
     /*
     if (m_packageLogWriter != NULL)
@@ -531,7 +531,7 @@
 
     m_repositoryManager.DeleteResourceData(resource, dataName);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.DeleteResourceData")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.DeleteResourceData")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -538,19 +538,19 @@
 /// \brief
 /// Renames tagged data for the specified resource.
 ///
-void MgdResourcePackageLoader::RenameResourceData(
+void MgPortableResourcePackageLoader::RenameResourceData(
     const MgOperationInfo& opInfo)
 {
     MG_RESOURCE_SERVICE_TRY()
 
-    const MgdOperationParameter& resourceIdParam = opInfo.GetParameter(
-        MgdOperationParameter::ResourceId);
+    const MgPortableOperationParameter& resourceIdParam = opInfo.GetParameter(
+        MgPortableOperationParameter::ResourceId);
     Ptr<MgResourceIdentifier> resource = CreateResourceIdentifier(resourceIdParam);
 
-    CREFSTRING oldDataName = opInfo.GetParameter(MgdOperationParameter::OldDataName).GetValue();
-    CREFSTRING newDataName = opInfo.GetParameter(MgdOperationParameter::NewDataName).GetValue();
+    CREFSTRING oldDataName = opInfo.GetParameter(MgPortableOperationParameter::OldDataName).GetValue();
+    CREFSTRING newDataName = opInfo.GetParameter(MgPortableOperationParameter::NewDataName).GetValue();
     bool overwrite = ACE_OS::atoi(opInfo.GetParameter(
-        MgdOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
+        MgPortableOperationParameter::Overwrite, false).GetValue().c_str()) != 0;
 
     /*
     if (m_packageLogWriter != NULL)
@@ -571,5 +571,5 @@
 
     m_repositoryManager.RenameResourceData(resource, oldDataName, newDataName, overwrite);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageLoader.RenameResourceData")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageLoader.RenameResourceData")
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageLoader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,22 +22,22 @@
 #include "ZipFileReader.h"
 #include "ResourcePackageManifestParser.h"
 
-class MgdResourcePackageLoader : public MgdResourcePackageHandler
+class MgPortableResourcePackageLoader : public MgPortableResourcePackageHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    explicit MgdResourcePackageLoader(MgResourceService& repositoryManager);
-    virtual ~MgdResourcePackageLoader();
+    explicit MgPortableResourcePackageLoader(MgResourceService& repositoryManager);
+    virtual ~MgPortableResourcePackageLoader();
 
 private:
 
     // Unimplemented Methods
 
-    MgdResourcePackageLoader();
-    MgdResourcePackageLoader(const MgdResourcePackageLoader&);
-    MgdResourcePackageLoader& operator=(const MgdResourcePackageLoader&);
+    MgPortableResourcePackageLoader();
+    MgPortableResourcePackageLoader(const MgPortableResourcePackageLoader&);
+    MgPortableResourcePackageLoader& operator=(const MgPortableResourcePackageLoader&);
 
 /// Methods
 
@@ -64,16 +64,16 @@
 private:
 
     MgResourceIdentifier* CreateResourceIdentifier(
-        const MgdOperationParameter& opParam) const;
+        const MgPortableOperationParameter& opParam) const;
     MgByteReader* CreateByteReader(
-        const MgdOperationParameter& opParam, bool direct = true) const;
+        const MgPortableOperationParameter& opParam, bool direct = true) const;
 
 /// Data Members
 
 private:
 
-    std::unique_ptr<MgdZipFileReader> m_zipFileReader;
-    MgdResourcePackageManifestParser m_manifestParser;
+    std::unique_ptr<MgPortableZipFileReader> m_zipFileReader;
+    MgPortableResourcePackageManifestParser m_manifestParser;
 };
 
 /// Inline Methods

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageManifestHandler.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,13 +18,13 @@
 #include "ResourceDefs.h"
 #include "ResourcePackageManifestHandler.h"
 
-const STRING MgdResourcePackageManifestHandler::sm_manifestFileName = L"MgResourcePackageManifest.xml";
+const STRING MgPortableResourcePackageManifestHandler::sm_manifestFileName = L"MgResourcePackageManifest.xml";
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
 /// Constructs the object.
 ///
-MgdResourcePackageManifestHandler::MgdResourcePackageManifestHandler()
+MgPortableResourcePackageManifestHandler::MgPortableResourcePackageManifestHandler()
 {
 }
 
@@ -32,7 +32,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdResourcePackageManifestHandler::~MgdResourcePackageManifestHandler()
+MgPortableResourcePackageManifestHandler::~MgPortableResourcePackageManifestHandler()
 {
 }
 
@@ -40,7 +40,7 @@
 /// \brief
 /// Sets the resource package description.
 ///
-void MgdResourcePackageManifestHandler::SetDescription(CREFSTRING description)
+void MgPortableResourcePackageManifestHandler::SetDescription(CREFSTRING description)
 {
     m_description = description;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageManifestHandler.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,22 +20,22 @@
 
 #include "System/XmlUtil.h"
 
-class MgdResourcePackageManifestHandler
+class MgPortableResourcePackageManifestHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdResourcePackageManifestHandler();
-    virtual ~MgdResourcePackageManifestHandler();
+    MgPortableResourcePackageManifestHandler();
+    virtual ~MgPortableResourcePackageManifestHandler();
 
 private:
 
     // Unimplemented Methods
 
-    MgdResourcePackageManifestHandler(const MgdResourcePackageManifestHandler&);
-    MgdResourcePackageManifestHandler& operator=(
-        const MgdResourcePackageManifestHandler&);
+    MgPortableResourcePackageManifestHandler(const MgPortableResourcePackageManifestHandler&);
+    MgPortableResourcePackageManifestHandler& operator=(
+        const MgPortableResourcePackageManifestHandler&);
 
 /// Methods
 
@@ -58,7 +58,7 @@
 
 /// Inline Methods
 
-inline STRING MgdResourcePackageManifestHandler::GetDescription() const
+inline STRING MgPortableResourcePackageManifestHandler::GetDescription() const
 {
     return m_description;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageManifestParser.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,7 +22,7 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdResourcePackageManifestParser::MgdResourcePackageManifestParser()
+MgPortableResourcePackageManifestParser::MgPortableResourcePackageManifestParser()
 {
     m_operations.reserve(256);
 }
@@ -31,7 +31,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdResourcePackageManifestParser::~MgdResourcePackageManifestParser()
+MgPortableResourcePackageManifestParser::~MgPortableResourcePackageManifestParser()
 {
 }
 
@@ -39,7 +39,7 @@
 /// \brief
 /// Parses the specified resource package manifest.
 ///
-void MgdResourcePackageManifestParser::Parse(const string& manifest)
+void MgPortableResourcePackageManifestParser::Parse(const string& manifest)
 {
     assert(!manifest.empty());
 
@@ -77,7 +77,7 @@
             {
                 for (XMLSize_t j = 0; j < paramNodeList->getLength(); ++j)
                 {
-                    MgdOperationParameter opParam;
+                    MgPortableOperationParameter opParam;
                     wstring name, value, contentType;
                     DOMNode* paramNode = paramNodeList->item(j);
 
@@ -95,5 +95,5 @@
         }
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourcePackageManifestParser.Parse")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourcePackageManifestParser.Parse")
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ResourcePackageManifestParser.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,22 +23,22 @@
 
 typedef std::vector<MgOperationInfo> MgOpInfoVector;
 
-class MgdResourcePackageManifestParser : public MgdResourcePackageManifestHandler
+class MgPortableResourcePackageManifestParser : public MgPortableResourcePackageManifestHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdResourcePackageManifestParser();
-    virtual ~MgdResourcePackageManifestParser();
+    MgPortableResourcePackageManifestParser();
+    virtual ~MgPortableResourcePackageManifestParser();
 
 private:
 
     // Unimplemented Methods
 
-    MgdResourcePackageManifestParser(const MgdResourcePackageManifestParser&);
-    MgdResourcePackageManifestParser& operator=(
-        const MgdResourcePackageManifestParser&);
+    MgPortableResourcePackageManifestParser(const MgPortableResourcePackageManifestParser&);
+    MgPortableResourcePackageManifestParser& operator=(
+        const MgPortableResourcePackageManifestParser&);
 
 /// Methods
 
@@ -57,7 +57,7 @@
 
 /// Inline Methods
 
-inline const MgOpInfoVector& MgdResourcePackageManifestParser::GetOperations() const
+inline const MgOpInfoVector& MgPortableResourcePackageManifestParser::GetOperations() const
 {
     return m_operations;
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/UnmanagedDataManager.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,23 +15,23 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "UnmanagedDataManager.h"
 
 
-// Process-wide MgdUnmanagedDataManager
-Ptr<MgdUnmanagedDataManager> MgdUnmanagedDataManager::sm_unmanagedDataManager = (MgdUnmanagedDataManager*)NULL;
+// Process-wide MgPortableUnmanagedDataManager
+Ptr<MgPortableUnmanagedDataManager> MgPortableUnmanagedDataManager::sm_unmanagedDataManager = (MgPortableUnmanagedDataManager*)NULL;
 
-const STRING MgdUnmanagedDataManager::SquareBracketBegin      = L"[";
-const wchar_t MgdUnmanagedDataManager::SquareBracketCharBegin = L'[';
-const STRING MgdUnmanagedDataManager::SquareBracketEnd        = L"]";
-const wchar_t MgdUnmanagedDataManager::SquareBracketCharEnd   = L']';
+const STRING MgPortableUnmanagedDataManager::SquareBracketBegin      = L"[";
+const wchar_t MgPortableUnmanagedDataManager::SquareBracketCharBegin = L'[';
+const STRING MgPortableUnmanagedDataManager::SquareBracketEnd        = L"]";
+const wchar_t MgPortableUnmanagedDataManager::SquareBracketCharEnd   = L']';
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
 /// Constructs the object.
 ///
-MgdUnmanagedDataManager::MgdUnmanagedDataManager()
+MgPortableUnmanagedDataManager::MgPortableUnmanagedDataManager()
 {
     Initialize();
 }
@@ -40,9 +40,9 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdUnmanagedDataManager::~MgdUnmanagedDataManager()
+MgPortableUnmanagedDataManager::~MgPortableUnmanagedDataManager()
 {
-    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgdUnmanagedDataManager::~MgdUnmanagedDataManager()\n")));
+    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) MgPortableUnmanagedDataManager::~MgPortableUnmanagedDataManager()\n")));
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -49,7 +49,7 @@
 /// \brief
 /// Disposes the object.
 ///
-void MgdUnmanagedDataManager::Dispose()
+void MgPortableUnmanagedDataManager::Dispose()
 {
     delete this;
 }
@@ -58,7 +58,7 @@
 /// \brief
 /// Initialize the unmanaged data manager.
 ///
-void MgdUnmanagedDataManager::Initialize()
+void MgPortableUnmanagedDataManager::Initialize()
 {
     RefreshUnmanagedDataMappings();
 }
@@ -69,7 +69,7 @@
 /// The path must be in the form of:
 ///     "[mappingName]subfolder1/subfolder2"
 ///
-bool MgdUnmanagedDataManager::ParsePath(CREFSTRING path, REFSTRING mappingName, REFSTRING subpath)
+bool MgPortableUnmanagedDataManager::ParsePath(CREFSTRING path, REFSTRING mappingName, REFSTRING subpath)
 {
     bool result = false;
 
@@ -107,7 +107,7 @@
 /// \brief
 /// Parses the filter into an MgStringCollection
 ///
-void MgdUnmanagedDataManager::ParseFilter(CREFSTRING filter, MgStringCollection* filters)
+void MgPortableUnmanagedDataManager::ParseFilter(CREFSTRING filter, MgStringCollection* filters)
 {
     if (!filter.empty())
     {
@@ -128,7 +128,7 @@
 /// \brief
 /// Returns true is file ends in one of the extensions in filters
 ///
-bool MgdUnmanagedDataManager::FilterFile(CREFSTRING file, const MgStringCollection* filters)
+bool MgPortableUnmanagedDataManager::FilterFile(CREFSTRING file, const MgStringCollection* filters)
 {
     bool result = false;
 
@@ -158,7 +158,7 @@
 /// Recursive method that returns all files and/or folders for a given mapping
 /// name
 ///
-void MgdUnmanagedDataManager::GetFilesAndFolders(string& list, CREFSTRING mappingName, CREFSTRING rootdir, CREFSTRING subdir, const MgStringCollection* filters, bool storeFolders, bool storeFiles, bool recursive)
+void MgPortableUnmanagedDataManager::GetFilesAndFolders(string& list, CREFSTRING mappingName, CREFSTRING rootdir, CREFSTRING subdir, const MgStringCollection* filters, bool storeFolders, bool storeFiles, bool recursive)
 {
     STRING fulldir = rootdir;
     if (!MgFileUtil::EndsWithSlash(fulldir))
@@ -222,7 +222,7 @@
 /// \brief
 /// Appends folder details to xml string
 ///
-void MgdUnmanagedDataManager::AddFolder(string& list, CREFSTRING mappingName, CREFSTRING subdir, CREFSTRING entryName, INT32 numFolders, INT32 numFiles, MgDateTime createdDate, MgDateTime modifiedDate)
+void MgPortableUnmanagedDataManager::AddFolder(string& list, CREFSTRING mappingName, CREFSTRING subdir, CREFSTRING entryName, INT32 numFolders, INT32 numFiles, MgDateTime createdDate, MgDateTime modifiedDate)
 {
     list += "\t<UnmanagedDataFolder>\n";
 
@@ -258,7 +258,7 @@
     list += "\t</UnmanagedDataFolder>\n";
 }
 
-void MgdUnmanagedDataManager::AddFile(string& list, CREFSTRING mappingName, CREFSTRING subdir, CREFSTRING entryName, INT64 fileSize, MgDateTime createdDate, MgDateTime modifiedDate)
+void MgPortableUnmanagedDataManager::AddFile(string& list, CREFSTRING mappingName, CREFSTRING subdir, CREFSTRING entryName, INT64 fileSize, MgDateTime createdDate, MgDateTime modifiedDate)
 {
     list += "\t<UnmanagedDataFile>\n";
 
@@ -290,7 +290,7 @@
 /// Retrieves number of folders and files in the specified folder path
 /// pre-condition: assumes dirpath is a valid folder
 ///
-void MgdUnmanagedDataManager::GetNumberOfFilesAndSubfolders(CREFSTRING dirpath, INT32& numFolders, INT32& numFiles)
+void MgPortableUnmanagedDataManager::GetNumberOfFilesAndSubfolders(CREFSTRING dirpath, INT32& numFolders, INT32& numFiles)
 {
     ACE_DIR* directory = ACE_OS::opendir(ACE_TEXT_WCHAR_TO_TCHAR(dirpath.c_str()));
     if (directory != NULL)
@@ -327,9 +327,9 @@
 /// \brief
 /// Surrounds name with square brackets
 ///
-STRING MgdUnmanagedDataManager::FormatMappingName(CREFSTRING name)
+STRING MgPortableUnmanagedDataManager::FormatMappingName(CREFSTRING name)
 {
-    return MgdUnmanagedDataManager::SquareBracketBegin + name + MgdUnmanagedDataManager::SquareBracketEnd;
+    return MgPortableUnmanagedDataManager::SquareBracketBegin + name + MgPortableUnmanagedDataManager::SquareBracketEnd;
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -336,7 +336,7 @@
 /// \brief
 /// Appends a slash to non-empty string
 ///
-STRING MgdUnmanagedDataManager::FormatSubdir(CREFSTRING subdir)
+STRING MgPortableUnmanagedDataManager::FormatSubdir(CREFSTRING subdir)
 {
     STRING result = subdir;
     if (!result.empty())
@@ -349,30 +349,30 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Gets the pointer to a process-wide MgdUnmanagedDataManager.
+/// Gets the pointer to a process-wide MgPortableUnmanagedDataManager.
 ///
-MgdUnmanagedDataManager* MgdUnmanagedDataManager::GetInstance()
+MgPortableUnmanagedDataManager* MgPortableUnmanagedDataManager::GetInstance()
 {
     MG_TRY()
 
-    ACE_TRACE("MgdUnmanagedDataManager::GetInstance");
+    ACE_TRACE("MgPortableUnmanagedDataManager::GetInstance");
 
-    if (MgdUnmanagedDataManager::sm_unmanagedDataManager == NULL)
+    if (MgPortableUnmanagedDataManager::sm_unmanagedDataManager == NULL)
     {
         // Perform Double-Checked Locking Optimization.
         ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance(), NULL));
 
-        if (MgdUnmanagedDataManager::sm_unmanagedDataManager == NULL)
+        if (MgPortableUnmanagedDataManager::sm_unmanagedDataManager == NULL)
         {
-            MgdUnmanagedDataManager::sm_unmanagedDataManager = new MgdUnmanagedDataManager;
+            MgPortableUnmanagedDataManager::sm_unmanagedDataManager = new MgPortableUnmanagedDataManager;
         }
     }
 
-    MG_CATCH_AND_THROW(L"MgdUnmanagedDataManager.GetInstance")
+    MG_CATCH_AND_THROW(L"MgPortableUnmanagedDataManager.GetInstance")
 
     // To avoid overheads and maintain thread safety,
     // do not assign this returned static singleton to a Ptr object.
-    return MgdUnmanagedDataManager::sm_unmanagedDataManager;
+    return MgPortableUnmanagedDataManager::sm_unmanagedDataManager;
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -379,7 +379,7 @@
 /// \brief
 /// Refresh unmanaged data mappings.
 ///
-void MgdUnmanagedDataManager::RefreshUnmanagedDataMappings()
+void MgPortableUnmanagedDataManager::RefreshUnmanagedDataMappings()
 {
     MgConfiguration* configuration = MgConfiguration::GetInstance();
     ACE_ASSERT(NULL != configuration);
@@ -387,10 +387,10 @@
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
     m_unmanagedDataMappings = configuration->GetProperties(
-        MgdConfigProperties::UnmanagedDataMappingsSection);
+        MgPortableConfigProperties::UnmanagedDataMappingsSection);
 }
 
-void MgdUnmanagedDataManager::AddAliasMapping(CREFSTRING aliasName, CREFSTRING path)
+void MgPortableUnmanagedDataManager::AddAliasMapping(CREFSTRING aliasName, CREFSTRING path)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
 
@@ -411,7 +411,7 @@
 /// \brief
 /// Return unmanaged data mappings.
 ///
-MgPropertyCollection* MgdUnmanagedDataManager::GetUnmanagedDataMappings()
+MgPropertyCollection* MgPortableUnmanagedDataManager::GetUnmanagedDataMappings()
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, NULL));
 
@@ -422,7 +422,7 @@
 /// \brief
 /// Substitutes unmanaged data mappings
 ///
-int MgdUnmanagedDataManager::SubstituteDataPathAliases(REFSTRING doc)
+int MgPortableUnmanagedDataManager::SubstituteDataPathAliases(REFSTRING doc)
 {
     int result = 0;
     MG_TRY()
@@ -430,7 +430,7 @@
     result = SubstituteDataPathAliases(temp);
 
     doc = MgUtil::MultiByteToWideChar(temp);
-    MG_CATCH_AND_THROW(L"MgdUnmanagedDataManager::SubstituteDataPathAliases")
+    MG_CATCH_AND_THROW(L"MgPortableUnmanagedDataManager::SubstituteDataPathAliases")
     return result;
 }
 
@@ -438,7 +438,7 @@
 /// \brief
 /// Substitutes unmanaged data aliases
 ///
-int MgdUnmanagedDataManager::SubstituteDataPathAliases(string& doc)
+int MgPortableUnmanagedDataManager::SubstituteDataPathAliases(string& doc)
 {
     int count = 0;
     size_t startPos = 0, endPos = 0, currStartPos = 0;
@@ -458,7 +458,7 @@
             size_t nameLen = mappingName.length();
 
             // find the mapping name in the map, and then replace it
-            Ptr<MgPropertyCollection> unmanagedDataMappings = MgdUnmanagedDataManager::GetInstance()->GetUnmanagedDataMappings();
+            Ptr<MgPropertyCollection> unmanagedDataMappings = MgPortableUnmanagedDataManager::GetInstance()->GetUnmanagedDataMappings();
 
             if (NULL != unmanagedDataMappings.p)
             {
@@ -484,7 +484,7 @@
                     STRING mName = MgUtil::MultiByteToWideChar(mappingName);
                     MgStringCollection args;
                     args.Add(mName);
-                    throw new MgException(MgdExceptionCodes::MgAliasNotFoundException, L"MgdUnmanagedDataManager::SubstituteDataPathAliases", __LINE__, __WFILE__, &args, L"MgdAliasNotFoundException", NULL);
+                    throw new MgException(MgPortableExceptionCodes::MgAliasNotFoundException, L"MgPortableUnmanagedDataManager::SubstituteDataPathAliases", __LINE__, __WFILE__, &args, L"MgPortableAliasNotFoundException", NULL);
                 }
             }
             break;
@@ -501,13 +501,13 @@
 /// \brief
 /// Returns unmanaged data
 ///
-MgByteReader* MgdUnmanagedDataManager::EnumerateUnmanagedData(CREFSTRING path, bool recursive, CREFSTRING type, CREFSTRING filter)
+MgByteReader* MgPortableUnmanagedDataManager::EnumerateUnmanagedData(CREFSTRING path, bool recursive, CREFSTRING type, CREFSTRING filter)
 {
     Ptr<MgByteReader> byteReader;
 
     MG_TRY()
 
-    ACE_TRACE("MgdUnmanagedDataManager::EnumerateUnmanagedData");
+    ACE_TRACE("MgPortableUnmanagedDataManager::EnumerateUnmanagedData");
 
     Ptr<MgPropertyCollection> unmanagedDataMappings = GetUnmanagedDataMappings();
 
@@ -528,13 +528,13 @@
         //      "[alias1]subfolder1/subfolder2/"
 
         STRING mappingName = L"", subfolder = L"";
-        if (!MgdUnmanagedDataManager::ParsePath(path, mappingName, subfolder))
+        if (!MgPortableUnmanagedDataManager::ParsePath(path, mappingName, subfolder))
         {
             MgStringCollection arguments;
             arguments.Add(L"1");
             arguments.Add(path);
 
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUnmanagedDataManager.EnumerateUnmanagedData",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUnmanagedDataManager.EnumerateUnmanagedData",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
@@ -581,7 +581,7 @@
                 arguments.Add(L"1");
                 arguments.Add(path);
 
-                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdUnmanagedDataManager.EnumerateUnmanagedData",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableUnmanagedDataManager.EnumerateUnmanagedData",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
             }
         }
@@ -627,7 +627,7 @@
         byteReader = byteSource->GetReader();
     }
 
-    MG_CATCH_AND_THROW(L"MgdUnmanagedDataManager.EnumerateUnmanagedData")
+    MG_CATCH_AND_THROW(L"MgPortableUnmanagedDataManager.EnumerateUnmanagedData")
 
     return byteReader.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/UnmanagedDataManager.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,24 +18,24 @@
 #ifndef DESKTOP_UNMANAGED_DATA_MANAGER_H
 #define DESKTOP_UNMANAGED_DATA_MANAGER_H
 
-class MgdUnmanagedDataManager : public MgGuardDisposable
+class MgPortableUnmanagedDataManager : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgdUnmanagedDataManager)
+    DECLARE_CLASSNAME(MgPortableUnmanagedDataManager)
 
 /// Constructors/Destructor
 
 public:
 
-    virtual ~MgdUnmanagedDataManager();
+    virtual ~MgPortableUnmanagedDataManager();
 
 private:
 
-    MgdUnmanagedDataManager();
+    MgPortableUnmanagedDataManager();
 
     // Unimplemented copy constructor and assignment operator.
 
-    MgdUnmanagedDataManager(const MgdUnmanagedDataManager&);
-    MgdUnmanagedDataManager& operator=(const MgdUnmanagedDataManager&);
+    MgPortableUnmanagedDataManager(const MgPortableUnmanagedDataManager&);
+    MgPortableUnmanagedDataManager& operator=(const MgPortableUnmanagedDataManager&);
 
     static bool ParsePath(CREFSTRING path, REFSTRING mappingName, REFSTRING subpath);
     void ParseFilter(CREFSTRING filter, MgStringCollection* filters);
@@ -55,7 +55,7 @@
 
 public:
 
-    static MgdUnmanagedDataManager* GetInstance();
+    static MgPortableUnmanagedDataManager* GetInstance();
 
     static int SubstituteDataPathAliases(REFSTRING data);
     static int SubstituteDataPathAliases(string& data);
@@ -74,7 +74,7 @@
 
 private:
 
-    static Ptr<MgdUnmanagedDataManager> sm_unmanagedDataManager;
+    static Ptr<MgPortableUnmanagedDataManager> sm_unmanagedDataManager;
 
     static const STRING SquareBracketBegin;
     static const wchar_t SquareBracketCharBegin;

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/UnmanagedDataType.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,6 +24,6 @@
 /// The exact list of supported formats is not defined yet.
 /// At least PNG will be supported.
 ///
-const STRING MgdUnmanagedDataType::Folders = L"Folders";
-const STRING MgdUnmanagedDataType::Files   = L"Files";
-const STRING MgdUnmanagedDataType::Both    = L"Both";
+const STRING MgPortableUnmanagedDataType::Folders = L"Folders";
+const STRING MgPortableUnmanagedDataType::Files   = L"Files";
+const STRING MgPortableUnmanagedDataType::Both    = L"Both";

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/UnmanagedDataType.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/UnmanagedDataType.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,7 +19,7 @@
 #define DESKTOP_UNMANAGED_DATA_TYPE_H
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdUnmanagedDataType 
+class MG_DESKTOP_API MgPortableUnmanagedDataType 
 {
 PUBLISHED_API:
     /// \internal

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ZipFileHandler.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,7 +23,7 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdZipFileHandler::MgdZipFileHandler(CREFSTRING filePath,
+MgPortableZipFileHandler::MgPortableZipFileHandler(CREFSTRING filePath,
     DWFZipFileDescriptor::teFileMode fileMode)
 {
     ACE_ASSERT(!filePath.empty());
@@ -35,7 +35,7 @@
     m_zipFileDescriptor.reset(new DWFZipFileDescriptor(zipFile, fileMode));
     m_zipFileDescriptor->open();
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdZipFileHandler.MgdZipFileHandler")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableZipFileHandler.MgPortableZipFileHandler")
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -42,6 +42,6 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdZipFileHandler::~MgdZipFileHandler()
+MgPortableZipFileHandler::~MgPortableZipFileHandler()
 {
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ZipFileHandler.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileHandler.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,23 +18,23 @@
 #ifndef DESKTOP_ZIP_FILE_HANDLER_H
 #define DESKTOP_ZIP_FILE_HANDLER_H
 
-class MgdZipFileHandler
+class MgPortableZipFileHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    MgdZipFileHandler(CREFSTRING filePath,
+    MgPortableZipFileHandler(CREFSTRING filePath,
         DWFZipFileDescriptor::teFileMode fileMode);
-    virtual ~MgdZipFileHandler();
+    virtual ~MgPortableZipFileHandler();
 
 private:
 
     // Unimplemented Constructors/Methods
 
-    MgdZipFileHandler();
-    MgdZipFileHandler(const MgdZipFileHandler&);
-    MgdZipFileHandler& operator=(const MgdZipFileHandler&);
+    MgPortableZipFileHandler();
+    MgPortableZipFileHandler(const MgPortableZipFileHandler&);
+    MgPortableZipFileHandler& operator=(const MgPortableZipFileHandler&);
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ZipFileReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,8 +24,8 @@
 /// \brief
 /// Constructs the object.
 ///
-MgdZipFileReader::MgdZipFileReader(CREFSTRING filePath) :
-    MgdZipFileHandler(filePath, DWFZipFileDescriptor::eUnzip)
+MgPortableZipFileReader::MgPortableZipFileReader(CREFSTRING filePath) :
+    MgPortableZipFileHandler(filePath, DWFZipFileDescriptor::eUnzip)
 {
 }
 
@@ -33,7 +33,7 @@
 /// \brief
 /// Destructs the object.
 ///
-MgdZipFileReader::~MgdZipFileReader()
+MgPortableZipFileReader::~MgPortableZipFileReader()
 {
 }
 
@@ -41,7 +41,7 @@
 /// \brief
 /// Extracts an archive from the zip file.
 ///
-MgByteSource* MgdZipFileReader::ExtractArchive(CREFSTRING filePath)
+MgByteSource* MgPortableZipFileReader::ExtractArchive(CREFSTRING filePath)
 {
     ACE_ASSERT(!filePath.empty());
     Ptr<MgByteSource> byteSource;
@@ -55,11 +55,11 @@
     DWFString archivedFile(filePath.c_str());
     DWFInputStream* inputStream = m_zipFileDescriptor->unzip(archivedFile);
 
-    MgdByteSourceDwfInputStreamImpl* byteSourceImpl =
-        new MgdByteSourceDwfInputStreamImpl(inputStream);
+    MgPortableByteSourceDwfInputStreamImpl* byteSourceImpl =
+        new MgPortableByteSourceDwfInputStreamImpl(inputStream);
     byteSource = new MgByteSource(byteSourceImpl);
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdZipFileReader.ExtractArchive")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableZipFileReader.ExtractArchive")
 
     return byteSource.Detach();
 }

Modified: trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Resource/ZipFileReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Resource/ZipFileReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -20,22 +20,22 @@
 
 #include "ZipFileHandler.h"
 
-class MgdZipFileReader : public MgdZipFileHandler
+class MgPortableZipFileReader : public MgPortableZipFileHandler
 {
 /// Constructors/Destructor
 
 public:
 
-    explicit MgdZipFileReader(CREFSTRING filePath);
-    virtual ~MgdZipFileReader();
+    explicit MgPortableZipFileReader(CREFSTRING filePath);
+    virtual ~MgPortableZipFileReader();
 
 private:
 
     // Unimplemented Constructors/Methods
 
-    MgdZipFileReader();
-    MgdZipFileReader(const MgdZipFileReader&);
-    MgdZipFileReader& operator=(const MgdZipFileReader&);
+    MgPortableZipFileReader();
+    MgPortableZipFileReader(const MgPortableZipFileReader&);
+    MgPortableZipFileReader& operator=(const MgPortableZipFileReader&);
 
 /// Methods
 

Modified: trunk/MgDev/Portable/MgPortable/Services/ResourceService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ResourceService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ResourceService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -38,7 +38,7 @@
 }
 
 //INTERNAL_API:
-MgdResourceService::MgdResourceService(CREFSTRING libraryContentRoot, CREFSTRING libraryDataRoot, CREFSTRING sessionContentRoot, CREFSTRING sessionDataRoot, CREFSTRING schemaPath)
+MgPortableResourceService::MgPortableResourceService(CREFSTRING libraryContentRoot, CREFSTRING libraryDataRoot, CREFSTRING sessionContentRoot, CREFSTRING sessionDataRoot, CREFSTRING schemaPath)
 : MgResourceService()
 { 
     m_libraryContentPath = libraryContentRoot;
@@ -48,32 +48,32 @@
     m_schemaPath = schemaPath;
 }
 
-MgdResourceService::~MgdResourceService() { }
+MgPortableResourceService::~MgPortableResourceService() { }
 
-MgByteReader* MgdResourceService::EnumerateRepositories(CREFSTRING repositoryType) 
+MgByteReader* MgPortableResourceService::EnumerateRepositories(CREFSTRING repositoryType) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::EnumerateRepositories");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::EnumerateRepositories");
 }
 
-void MgdResourceService::CreateRepository(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
+void MgPortableResourceService::CreateRepository(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::CreateRepository");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::CreateRepository");
 }
 
-void MgdResourceService::DeleteRepository(MgResourceIdentifier* resource) 
+void MgPortableResourceService::DeleteRepository(MgResourceIdentifier* resource) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::DeleteRepository");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::DeleteRepository");
 }
 
 //PUBLISHED_API:
-void MgdResourceService::UpdateRepository(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
+void MgPortableResourceService::UpdateRepository(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::UpdateRepository");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::UpdateRepository");
 }
 
-STRING MgdResourceService::GetContentDirectory(MgResourceIdentifier* resId)
+STRING MgPortableResourceService::GetContentDirectory(MgResourceIdentifier* resId)
 {
-    CHECKARGUMENTNULL(resId, L"MgdResourceService::ResolveContentPath");
+    CHECKARGUMENTNULL(resId, L"MgPortableResourceService::ResolveContentPath");
 
     STRING type = resId->GetRepositoryType();
     STRING cntPath;
@@ -125,17 +125,17 @@
     }
     else 
     {
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceService::ResolveContentPath", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceService::ResolveContentPath", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
 
-STRING MgdResourceService::ResolveContentPath(MgResourceIdentifier* resId)
+STRING MgPortableResourceService::ResolveContentPath(MgResourceIdentifier* resId)
 {
     STRING path;
 
     MG_RESOURCE_SERVICE_TRY()
 
-    CHECKARGUMENTNULL(resId, L"MgdResourceService::ResolveContentPath");
+    CHECKARGUMENTNULL(resId, L"MgPortableResourceService::ResolveContentPath");
 
     path = GetContentDirectory(resId);
     STRING type = resId->GetResourceType();
@@ -148,22 +148,22 @@
         path += type;
     }
 
-    MgdLogDetail logDetail(MgServiceType::ResourceService, MgdLogDetail::InternalTrace, L"MgdResourceService::ResolveContentPath", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::ResourceService, MgPortableLogDetail::InternalTrace, L"MgPortableResourceService::ResolveContentPath", mgStackParams);
     logDetail.AddResourceIdentifier(L"resId", resId);
     logDetail.AddString(L"resolvedPath", path);
     logDetail.Create();
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourceService::ResolveContentPath")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourceService::ResolveContentPath")
 
     return path;
 }
 
-STRING MgdResourceService::ResolveDataPath(MgResourceIdentifier* resId)
+STRING MgPortableResourceService::ResolveDataPath(MgResourceIdentifier* resId)
 {
     STRING cntPath;
     MG_RESOURCE_SERVICE_TRY()
 
-    CHECKARGUMENTNULL(resId, L"MgdResourceService::ResolveDataPath");
+    CHECKARGUMENTNULL(resId, L"MgPortableResourceService::ResolveDataPath");
 
     STRING type = resId->GetRepositoryType();
     if (type == L"Library")
@@ -216,23 +216,23 @@
     }
     else 
     {
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceService::ResolveDataPath", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceService::ResolveDataPath", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    MgdLogDetail logDetail(MgServiceType::ResourceService, MgdLogDetail::InternalTrace, L"MgdResourceService::ResolveDataPath", mgStackParams);
+    MgPortableLogDetail logDetail(MgServiceType::ResourceService, MgPortableLogDetail::InternalTrace, L"MgPortableResourceService::ResolveDataPath", mgStackParams);
     logDetail.AddResourceIdentifier(L"resId", resId);
     logDetail.AddString(L"repositoryType", type);
     logDetail.AddString(L"resolvedPath", cntPath);
     logDetail.Create();
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourceService::ResolveDataPath")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourceService::ResolveDataPath")
 
     return cntPath;
 }
 
-void MgdResourceService::ApplyResourcePackage(MgByteReader* packageStream) 
+void MgPortableResourceService::ApplyResourcePackage(MgByteReader* packageStream) 
 { 
-    CHECKARGUMENTNULL(packageStream, L"MgdResourceService::ApplyResourcePackage");
+    CHECKARGUMENTNULL(packageStream, L"MgPortableResourceService::ApplyResourcePackage");
 
     STRING packagePathname;
 
@@ -245,7 +245,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgByteReader");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::ApplyResourcePackage()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::ApplyResourcePackage()");
 
     packagePathname = MgFileUtil::GenerateTempFileName();
     MgByteSink byteSink(packageStream);
@@ -256,7 +256,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::ApplyResourcePackage")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::ApplyResourcePackage")
 
     if (mgException != NULL)
     {
@@ -286,14 +286,14 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::LoadResourcePackage(CREFSTRING packagePathname)
+void MgPortableResourceService::LoadResourcePackage(CREFSTRING packagePathname)
 {
     ACE_ASSERT(!packagePathname.empty());
-    std::unique_ptr<MgdResourcePackageLoader> packageLoader;
+    std::unique_ptr<MgPortableResourcePackageLoader> packageLoader;
 
     MG_RESOURCE_SERVICE_TRY()
 
-    packageLoader.reset(new MgdResourcePackageLoader(*this));
+    packageLoader.reset(new MgPortableResourcePackageLoader(*this));
     packageLoader->Start(packagePathname, false);
 
     MG_RESOURCE_SERVICE_CATCH(L"MgLibraryRepositoryManager.LoadResourcePackage")
@@ -306,7 +306,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::SetResource(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
+void MgPortableResourceService::SetResource(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header) 
 {
     MG_LOG_OPERATION_MESSAGE(L"SetResource");
 
@@ -321,14 +321,14 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgByteReader");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::SetResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::SetResource()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::SetResource");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::SetResource");
     //Only null check if not a folder, because otherwise this is a legit way of
     //creating a folder
     if (resource->GetResourceType() != MgResourceType::Folder)
     {
-        CHECKARGUMENTNULL(content, L"MgdResourceService::SetResource");
+        CHECKARGUMENTNULL(content, L"MgPortableResourceService::SetResource");
     }
 
     STRING dir = GetContentDirectory(resource);
@@ -351,14 +351,14 @@
         parser.setErrorHandler(&handler);
         try 
         {
-            MemBufInputSource source((const XMLByte*)xml.c_str(), xml.size(), "MgdResourceService.Class", false);
+            MemBufInputSource source((const XMLByte*)xml.c_str(), xml.size(), "MgPortableResourceService.Class", false);
             parser.parse(source);
 
             DOMDocument* doc = parser.getDocument();
-            CHECKNULL(doc, L"MgdResourceService::SetResource");
+            CHECKNULL(doc, L"MgPortableResourceService::SetResource");
             STRING resType = resource->GetResourceType();
             DOMElement* docEl = doc->getDocumentElement();
-            CHECKNULL(docEl, L"MgdResourceService::SetResource");
+            CHECKNULL(docEl, L"MgPortableResourceService::SetResource");
             STRING docElName = X2W(docEl->getNodeName());
 
             //Now make sure it's the right type of XML document
@@ -370,7 +370,7 @@
                 {
                     MgStringCollection args;
                     args.Add(docElName);
-                    throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgdResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgPortableResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
                 }
             }
             else
@@ -379,7 +379,7 @@
                 {
                     MgStringCollection args;
                     args.Add(docElName);
-                    throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgdResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
+                    throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgPortableResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
                 }
             }
         }
@@ -410,7 +410,7 @@
             args.Add(colNumStr);
             args.Add(pubIdStr);
             args.Add(sysIdStr);
-            throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgdResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgPortableResourceService::SetResource", __LINE__, __WFILE__, &args, L"", NULL);
         }
 
         //Can't rewind a byte sink. So make another one
@@ -435,7 +435,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::SetResource")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::SetResource")
 
     if (mgException != NULL)
     {
@@ -450,7 +450,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::DeleteResource(MgResourceIdentifier* resource) 
+void MgPortableResourceService::DeleteResource(MgResourceIdentifier* resource) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"DeleteResource");
 
@@ -461,9 +461,9 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::DeleteResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::DeleteResource()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::DeleteResource");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::DeleteResource");
     if (ResourceExists(resource))
     {
         ReleasePotentialLocks(resource);
@@ -490,7 +490,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::DeleteResource")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::DeleteResource")
 
     if (mgException != NULL)
     {
@@ -505,32 +505,32 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::ReleasePotentialLocks(MgResourceIdentifier* resource)
+void MgPortableResourceService::ReleasePotentialLocks(MgResourceIdentifier* resource)
 {
     //Empty cached version
-    MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
+    MgPortableResourceContentCache* cache = MgPortableResourceContentCache::GetInstance();
     cache->RemoveContentEntry(resource);
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::DeleteResource");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::DeleteResource");
     if (resource->GetResourceType() == MgResourceType::FeatureSource)
     {
         //Invalidate any cached information
-        MgdFeatureServiceCache* cache = MgdFeatureServiceCache::GetInstance();
+        MgPortableFeatureServiceCache* cache = MgPortableFeatureServiceCache::GetInstance();
         cache->RemoveEntry(resource);
         //Boot pooled connections to ensure no locks are held
-        MgdFdoConnectionPool::PurgeCachedConnections(resource);
+        MgPortableFdoConnectionPool::PurgeCachedConnections(resource);
     }
     else if (resource->GetResourceType() == MgResourceType::Folder)
     {
         //TODO: We obviously need a fine-grained version instead of going nuclear
-        MgdFeatureServiceCache* cache = MgdFeatureServiceCache::GetInstance();
+        MgPortableFeatureServiceCache* cache = MgPortableFeatureServiceCache::GetInstance();
         cache->Clear();
         //Boot pooled connections to ensure no locks are held
-        MgdFdoConnectionPool::PurgeCachedConnectionsUnderFolder(resource);
+        MgPortableFdoConnectionPool::PurgeCachedConnectionsUnderFolder(resource);
     }
 }
 
-void MgdResourceService::CopyResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite) 
+void MgPortableResourceService::CopyResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"CopyResource");
 
@@ -545,19 +545,19 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(overwrite);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::CopyResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::CopyResource()");
 
-    CHECKARGUMENTNULL(sourceResource, L"MgdResourceService::CopyResource");
-    CHECKARGUMENTNULL(destResource, L"MgdResourceService::CopyResource");
+    CHECKARGUMENTNULL(sourceResource, L"MgPortableResourceService::CopyResource");
+    CHECKARGUMENTNULL(destResource, L"MgPortableResourceService::CopyResource");
 
     if (sourceResource->ToString() == destResource->ToString())
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceService::CopyResource", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceService::CopyResource", __LINE__, __WFILE__, NULL, L"", NULL);
 
     if (!ResourceExists(sourceResource))
     {
         MgStringCollection arguments;
         arguments.Add(sourceResource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::CopyResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::CopyResource", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     if (ResourceExists(destResource) && !overwrite)
@@ -564,7 +564,7 @@
     {
         MgStringCollection arguments;
         arguments.Add(destResource->ToString());
-        throw new MgException(MgExceptionCodes::MgDuplicateResourceException, L"MgdResourceService::CopyResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgDuplicateResourceException, L"MgPortableResourceService::CopyResource", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     STRING srcContentPath = ResolveContentPath(sourceResource);
@@ -618,7 +618,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::CopyResource")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::CopyResource")
 
     if (mgException != NULL)
     {
@@ -633,7 +633,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::MoveResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite)
+void MgPortableResourceService::MoveResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite)
 {
     MG_LOG_OPERATION_MESSAGE(L"MoveResource");
 
@@ -648,7 +648,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(overwrite);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::MoveResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::MoveResource()");
 
     MoveResource(sourceResource, destResource, overwrite, false);
 
@@ -655,7 +655,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::MoveResource")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::MoveResource")
 
     if (mgException != NULL)
     {
@@ -670,7 +670,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::MoveResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite, bool cascade)
+void MgPortableResourceService::MoveResource(MgResourceIdentifier* sourceResource, MgResourceIdentifier* destResource, bool overwrite, bool cascade)
 {
     MG_LOG_OPERATION_MESSAGE(L"MoveResource");
 
@@ -687,22 +687,22 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(cascade);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::MoveResource()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::MoveResource()");
 
-    CHECKARGUMENTNULL(sourceResource, L"MgdResourceService::MoveResource");
-    CHECKARGUMENTNULL(destResource, L"MgdResourceService::MoveResource");
+    CHECKARGUMENTNULL(sourceResource, L"MgPortableResourceService::MoveResource");
+    CHECKARGUMENTNULL(destResource, L"MgPortableResourceService::MoveResource");
 
     STRING srcResId = sourceResource->ToString();
     STRING dstResId = destResource->ToString();
 
     if (srcResId == dstResId)
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceService::MoveResource", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceService::MoveResource", __LINE__, __WFILE__, NULL, L"", NULL);
 
     if (!ResourceExists(sourceResource))
     {
         MgStringCollection arguments;
         arguments.Add(sourceResource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::MoveResource", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::MoveResource", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     STRING srcContentPath = ResolveContentPath(sourceResource);
@@ -757,7 +757,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
     
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::MoveResource")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::MoveResource")
 
     if (mgException != NULL)
     {
@@ -772,23 +772,23 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-MgByteReader* MgdResourceService::GetResourceHeader(MgResourceIdentifier* resource) 
+MgByteReader* MgPortableResourceService::GetResourceHeader(MgResourceIdentifier* resource) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::GetResourceHeader");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::GetResourceHeader");
 }
 
-void MgdResourceService::ChangeResourceOwner(MgResourceIdentifier* resource,
+void MgPortableResourceService::ChangeResourceOwner(MgResourceIdentifier* resource,
     CREFSTRING owner, bool includeDescendants) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::ChangeResourceOwner");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::ChangeResourceOwner");
 }
 
-void MgdResourceService::InheritPermissionsFrom(MgResourceIdentifier* resource) 
+void MgPortableResourceService::InheritPermissionsFrom(MgResourceIdentifier* resource) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::InheritPermissionsFrom");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::InheritPermissionsFrom");
 }
 
-void MgdResourceService::SetResourceData(MgResourceIdentifier* resource,
+void MgPortableResourceService::SetResourceData(MgResourceIdentifier* resource,
     CREFSTRING dataName, CREFSTRING dataType, MgByteReader* data) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"SetResourceData");
@@ -805,13 +805,13 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgByteReader");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::SetResourceData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::SetResourceData()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::SetResourceData");
-    CHECKARGUMENTNULL(data, L"MgdResourceService::SetResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::SetResourceData");
+    CHECKARGUMENTNULL(data, L"MgPortableResourceService::SetResourceData");
 
     if (dataName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdResourceService::SetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableResourceService::SetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     STRING path = ResolveDataPath(resource);
     if (!MgFileUtil::IsDirectory(path))
@@ -825,7 +825,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::SetResourceData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::SetResourceData")
 
     if (mgException != NULL)
     {
@@ -840,7 +840,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::DeleteResourceData(MgResourceIdentifier* resource, CREFSTRING dataName) 
+void MgPortableResourceService::DeleteResourceData(MgResourceIdentifier* resource, CREFSTRING dataName) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"DeleteResourceData");
 
@@ -853,12 +853,12 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(dataName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::DeleteResourceData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::DeleteResourceData()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::DeleteResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::DeleteResourceData");
 
     if (dataName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdResourceService::DeleteResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableResourceService::DeleteResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     ReleasePotentialLocks(resource);
     STRING path = ResolveDataPath(resource);
@@ -865,7 +865,7 @@
     path += dataName;
 
     if (!MgFileUtil::IsFile(path))
-        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgdResourceService::DeleteResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgPortableResourceService::DeleteResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MgFileUtil::DeleteFile(path);
 
@@ -872,7 +872,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::DeleteResourceData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::DeleteResourceData")
 
     if (mgException != NULL)
     {
@@ -887,7 +887,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::RenameResourceData(MgResourceIdentifier* resource,
+void MgPortableResourceService::RenameResourceData(MgResourceIdentifier* resource,
     CREFSTRING oldDataName, CREFSTRING newDataName, bool overwrite) 
 { 
     MG_LOG_OPERATION_MESSAGE(L"RenameResourceData");
@@ -905,27 +905,27 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(overwrite);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::RenameResourceData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::RenameResourceData()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::RenameResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::RenameResourceData");
     if (!ResourceExists(resource))
     {
         MgStringCollection arguments;
         arguments.Add(resource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::RenameResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::RenameResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     if (oldDataName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     if (newDataName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     STRING path = ResolveDataPath(resource);
 
     STRING src = path + oldDataName;
     if (!MgFileUtil::IsFile(src))
-        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgdResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgPortableResourceService::RenameResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     MgFileUtil::RenameFile(path, oldDataName, newDataName, overwrite);
 
@@ -932,7 +932,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::RenameResourceData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::RenameResourceData")
 
     if (mgException != NULL)
     {
@@ -947,7 +947,7 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-MgByteReader* MgdResourceService::GetResourceData(MgResourceIdentifier* resource, CREFSTRING dataName) 
+MgByteReader* MgPortableResourceService::GetResourceData(MgResourceIdentifier* resource, CREFSTRING dataName) 
 { 
     Ptr<MgByteReader> ret;
     MG_LOG_OPERATION_MESSAGE(L"GetResourceData");
@@ -961,7 +961,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(dataName.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::GetResourceData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::GetResourceData()");
 
     STRING preProcessTags(L"");
     ret = GetResourceData(resource, dataName, preProcessTags);
@@ -969,7 +969,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::GetResourceData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::GetResourceData")
 
     if (mgException != NULL)
     {
@@ -986,7 +986,7 @@
     return ret.Detach();
 }
 
-bool MgdResourceService::ListDirectories(MgStringCollection* directoryNames, CREFSTRING path)
+bool MgPortableResourceService::ListDirectories(MgStringCollection* directoryNames, CREFSTRING path)
 {
     ACE_Dirent_Selector sel;
     sel.open(MG_WCHAR_TO_TCHAR(path), MgDirEntrySelector, MgDirEntryComparator);
@@ -1001,7 +1001,7 @@
     return true;
 }
 
-void MgdResourceService::WriteResourceFolderEntry(REFSTRING content, INT32 maxDepth, STRING type, MgResourceIdentifier* resource, CREFSTRING enumeratedFolderId)
+void MgPortableResourceService::WriteResourceFolderEntry(REFSTRING content, INT32 maxDepth, STRING type, MgResourceIdentifier* resource, CREFSTRING enumeratedFolderId)
 {
     STRING path = ResolveContentPath(resource);
 
@@ -1110,7 +1110,7 @@
     }
 }
 
-void MgdResourceService::WriteResourceDocumentEntry(REFSTRING content, MgResourceIdentifier* resource)
+void MgPortableResourceService::WriteResourceDocumentEntry(REFSTRING content, MgResourceIdentifier* resource)
 {
     STRING path = ResolveContentPath(resource);
     STRING xml;
@@ -1141,7 +1141,7 @@
     content.append(xml);
 }
 
-MgByteReader* MgdResourceService::EnumerateResources(MgResourceIdentifier* resource,
+MgByteReader* MgPortableResourceService::EnumerateResources(MgResourceIdentifier* resource,
         INT32 depth, CREFSTRING type, INT32 properties,
         CREFSTRING fromDate, CREFSTRING toDate)
 {
@@ -1165,7 +1165,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(toDate.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::EnumerateResources()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::EnumerateResources()");
 
     ret = EnumerateResources(resource, depth, type, properties, fromDate, toDate, true);
 
@@ -1172,7 +1172,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::EnumerateResources")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::EnumerateResources")
 
     if (mgException != NULL)
     {
@@ -1189,7 +1189,7 @@
     return ret.Detach();
 }
 
-MgByteReader* MgdResourceService::EnumerateResources(MgResourceIdentifier* resource,
+MgByteReader* MgPortableResourceService::EnumerateResources(MgResourceIdentifier* resource,
         INT32 depth, CREFSTRING type, INT32 properties,
         CREFSTRING fromDate, CREFSTRING toDate, bool computeChildren)
 {
@@ -1215,9 +1215,9 @@
     MG_LOG_OPERATION_MESSAGE_ADD_BOOL(computeChildren);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::EnumerateResources()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::EnumerateResources()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::EnumerateResources");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::EnumerateResources");
 
     //Disregard: properties, fromDate, toDate. 
 
@@ -1277,7 +1277,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(resource->ToString());
-            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::EnumerateResources", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::EnumerateResources", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         if (maxDepth > 0)
@@ -1295,13 +1295,13 @@
         //Conversely this is way easier. Just check for zero depth as it is the only allowed
         //value, and then write the document entry.
         if (depth != 0)
-            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdResourceService::EnumerateResources", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableResourceService::EnumerateResources", __LINE__, __WFILE__, NULL, L"", NULL);
 
         if (!MgFileUtil::IsFile(path))
         {
             MgStringCollection arguments;
             arguments.Add(resource->ToString());
-            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::EnumerateResources", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::EnumerateResources", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         WriteResourceDocumentEntry(xml, resource);
@@ -1317,7 +1317,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::EnumerateResources")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::EnumerateResources")
 
     if (mgException != NULL)
     {
@@ -1334,7 +1334,7 @@
     return response.Detach();
 }
 
-MgByteReader* MgdResourceService::EnumerateResourceData(MgResourceIdentifier* resource) 
+MgByteReader* MgPortableResourceService::EnumerateResourceData(MgResourceIdentifier* resource) 
 { 
     Ptr<MgByteReader> reader;
     MG_LOG_OPERATION_MESSAGE(L"EnumerateResourceData");
@@ -1346,15 +1346,15 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::EnumerateResourceData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::EnumerateResourceData()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::EnumerateResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::EnumerateResourceData");
 
     if (!ResourceExists(resource))
     {
         MgStringCollection arguments;
         arguments.Add(resource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::EnumerateResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::EnumerateResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     STRING path = ResolveDataPath(resource);
@@ -1385,7 +1385,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::EnumerateResourceData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::EnumerateResourceData")
 
     if (mgException != NULL)
     {
@@ -1402,22 +1402,22 @@
     return reader.Detach();
 }
 
-MgByteReader* MgdResourceService::GetRepositoryContent(MgResourceIdentifier* resource) 
+MgByteReader* MgPortableResourceService::GetRepositoryContent(MgResourceIdentifier* resource) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::GetRepositoryContent");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::GetRepositoryContent");
 }
 
-MgByteReader* MgdResourceService::GetRepositoryHeader(MgResourceIdentifier* resource) 
+MgByteReader* MgPortableResourceService::GetRepositoryHeader(MgResourceIdentifier* resource) 
 {
-    NOT_IMPLEMENTED(L"MgdResourceService::GetRepositoryHeader");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::GetRepositoryHeader");
 }
 
-MgByteReader* MgdResourceService::EnumerateReferences(MgResourceIdentifier* resource) 
+MgByteReader* MgPortableResourceService::EnumerateReferences(MgResourceIdentifier* resource) 
 {
-    NOT_IMPLEMENTED(L"MgdResourceService::EnumerateReferences");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::EnumerateReferences");
 }
 
-bool MgdResourceService::ResourceExists(MgResourceIdentifier* resource) 
+bool MgPortableResourceService::ResourceExists(MgResourceIdentifier* resource) 
 { 
     bool ret = false;
     MG_LOG_OPERATION_MESSAGE(L"ResourceExists");
@@ -1429,9 +1429,9 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING((NULL == resource) ? L"MgResourceIdentifier" : resource->ToString().c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::ResourceExists()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::ResourceExists()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::ResourceExists");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::ResourceExists");
 
     STRING path = ResolveContentPath(resource);
     STRING type = resource->GetResourceType();
@@ -1444,7 +1444,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::ResourceExists")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::ResourceExists")
 
     if (mgException != NULL)
     {
@@ -1461,7 +1461,7 @@
     return ret;
 }
 
-MgStringCollection* MgdResourceService::GetResourceContents(MgStringCollection* resources, MgStringCollection* preProcessTags)
+MgStringCollection* MgPortableResourceService::GetResourceContents(MgStringCollection* resources, MgStringCollection* preProcessTags)
 {
     Ptr<MgStringCollection> contents;
     MG_LOG_OPERATION_MESSAGE(L"GetResourceContents");
@@ -1475,9 +1475,9 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"MgStringCollection");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::GetResourceContents()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::GetResourceContents()");
 
-    CHECKARGUMENTNULL(resources, L"MgdResourceService::GetResourceContents");
+    CHECKARGUMENTNULL(resources, L"MgPortableResourceService::GetResourceContents");
 
     contents = new MgStringCollection();
     for (INT32 i = 0; i < resources->GetCount(); i++)
@@ -1492,7 +1492,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::GetResourceContents")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::GetResourceContents")
 
     if (mgException != NULL)
     {
@@ -1511,7 +1511,7 @@
 
 //INTERNAL_API:
 
-MgByteReader* MgdResourceService::GetResourceContent(MgResourceIdentifier* resource,
+MgByteReader* MgPortableResourceService::GetResourceContent(MgResourceIdentifier* resource,
     CREFSTRING preProcessTags) 
 { 
     Ptr<MgByteReader> content;
@@ -1526,9 +1526,9 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(preProcessTags);
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::GetResourceContent()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::GetResourceContent()");
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::GetResourceContent");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::GetResourceContent");
     
     STRING resType = resource->GetResourceType();
     if (MgResourceType::Folder == resType ||
@@ -1536,12 +1536,12 @@
         MgResourceType::Role == resType ||
         MgResourceType::User == resType)
     {
-        throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgdResourceService::GetResourceContent", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidResourceTypeException, L"MgPortableResourceService::GetResourceContent", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     //Think of the hard disks. Check we have a cached copy and return that, otherwise
     //stash the content in the cache for future calls on the same resource
-    MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
+    MgPortableResourceContentCache* cache = MgPortableResourceContentCache::GetInstance();
     STRING resContent = cache->GetContentEntry(resource);
     if (resContent.empty())
     {
@@ -1550,7 +1550,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(resource->ToString());
-            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::GetResourceContent", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::GetResourceContent", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         Ptr<MgByteSource> source = new MgByteSource(path);
@@ -1577,7 +1577,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::GetResourceContent")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::GetResourceContent")
 
     if (mgException != NULL)
     {
@@ -1594,7 +1594,7 @@
     return content.Detach();
 }
 
-MgByteReader* MgdResourceService::GetResourceData(MgResourceIdentifier* resource,
+MgByteReader* MgPortableResourceService::GetResourceData(MgResourceIdentifier* resource,
     CREFSTRING dataName, CREFSTRING preProcessTags) 
 {
     Ptr<MgByteReader> reader;
@@ -1601,22 +1601,22 @@
 
     MG_RESOURCE_SERVICE_TRY()
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::GetResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::GetResourceData");
     if (!ResourceExists(resource))
     {
         MgStringCollection arguments;
         arguments.Add(resource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::GetResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::GetResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     if (dataName.empty())
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     STRING path = ResolveDataPath(resource);
     path += dataName;
 
     if (!MgFileUtil::IsFile(path))
-        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgdResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgPortableResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     Ptr<MgByteSource> source;
 
@@ -1650,7 +1650,7 @@
             Ptr<MgByteSink> sink = new MgByteSink(reader);
             sink->ToString(resContent);
 
-            MgdFdoConnectionUtil::PerformTagSubstitution(this, resContent, NULL);
+            MgPortableFdoConnectionUtil::PerformTagSubstitution(this, resContent, NULL);
 
             std::string mbXml = MgUtil::WideCharToMultiByte(resContent);
             
@@ -1662,23 +1662,23 @@
         }
     }
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourceService::GetResourceData")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourceService::GetResourceData")
 
     return reader.Detach();
 }
 
-MgByteReader* MgdResourceService::GetRawCredentials(MgResourceIdentifier* resource)
+MgByteReader* MgPortableResourceService::GetRawCredentials(MgResourceIdentifier* resource)
 {
     Ptr<MgByteReader> blob;
 
     MG_RESOURCE_SERVICE_TRY()
 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::GetResourceData");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::GetResourceData");
     if (!ResourceExists(resource))
     {
         MgStringCollection arguments;
         arguments.Add(resource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::GetResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::GetResourceData", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     STRING path = ResolveDataPath(resource);
@@ -1685,19 +1685,19 @@
     path += MgResourceDataName::UserCredentials;
 
     if (!MgFileUtil::IsFile(path))
-        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgdResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceDataNotFoundException, L"MgPortableResourceService::GetResourceData", __LINE__, __WFILE__, NULL, L"", NULL);
 
     Ptr<MgByteSource> source = new MgByteSource(path);
     blob = source->GetReader();
 
-    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgdResourceService::GetRawCredentials")
+    MG_RESOURCE_SERVICE_CATCH_AND_THROW(L"MgPortableResourceService::GetRawCredentials")
 
     return blob.Detach();
 }
 
-MgDateTime* MgdResourceService::GetResourceModifiedDate(MgResourceIdentifier* resource) 
+MgDateTime* MgPortableResourceService::GetResourceModifiedDate(MgResourceIdentifier* resource) 
 { 
-    CHECKARGUMENTNULL(resource, L"MgdResourceService::GetResourceModifiedDate");
+    CHECKARGUMENTNULL(resource, L"MgPortableResourceService::GetResourceModifiedDate");
 
     STRING path = ResolveContentPath(resource);
     if (!MgFileUtil::IsFile(path))
@@ -1704,7 +1704,7 @@
     {
         MgStringCollection arguments;
         arguments.Add(resource->ToString());
-        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgdResourceService::GetResourceModifiedDate", __LINE__, __WFILE__, &arguments, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgResourceNotFoundException, L"MgPortableResourceService::GetResourceModifiedDate", __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
     MgDateTime mdt = MgFileUtil::GetFileModificationTime(path);
@@ -1711,18 +1711,18 @@
     return new MgDateTime(mdt);
 }
 
-MgSerializableCollection* MgdResourceService::EnumerateParentMapDefinitions(
+MgSerializableCollection* MgPortableResourceService::EnumerateParentMapDefinitions(
     MgSerializableCollection* resources) 
 { 
-    NOT_IMPLEMENTED(L"MgdResourceService::EnumerateParentMapDefinitions");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::EnumerateParentMapDefinitions");
 }
 
-MgSerializableCollection* MgdResourceService::EnumerateParentTileSetDefinitions(MgSerializableCollection* resources)
+MgSerializableCollection* MgPortableResourceService::EnumerateParentTileSetDefinitions(MgSerializableCollection* resources)
 {
-    NOT_IMPLEMENTED(L"MgdResourceService::EnumerateParentTileSetDefinitions");
+    NOT_IMPLEMENTED(L"MgPortableResourceService::EnumerateParentTileSetDefinitions");
 }
 
-void MgdResourceService::DeleteSessionFiles()
+void MgPortableResourceService::DeleteSessionFiles()
 {
     Ptr<MgStringCollection> dirs = new MgStringCollection();
     ListDirectories(dirs, m_sessionContentPath);
@@ -1744,7 +1744,7 @@
     }
 }
 
-MgByteReader* MgdResourceService::EnumerateUnmanagedData(CREFSTRING path, bool recursive, CREFSTRING type, CREFSTRING filter)
+MgByteReader* MgPortableResourceService::EnumerateUnmanagedData(CREFSTRING path, bool recursive, CREFSTRING type, CREFSTRING filter)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -1763,14 +1763,14 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(filter.c_str());
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::EnumerateUnmanagedData()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::EnumerateUnmanagedData()");
 
-    byteReader = MgdUnmanagedDataManager::GetInstance()->EnumerateUnmanagedData(path, recursive, type, filter);
+    byteReader = MgPortableUnmanagedDataManager::GetInstance()->EnumerateUnmanagedData(path, recursive, type, filter);
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::EnumerateUnmanagedData")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::EnumerateUnmanagedData")
 
     if (mgException != NULL)
     {
@@ -1787,7 +1787,7 @@
     return byteReader.Detach();
 };
 
-void MgdResourceService::SetResourceCredentials(MgResourceIdentifier* resource, CREFSTRING userName, CREFSTRING password)
+void MgPortableResourceService::SetResourceCredentials(MgResourceIdentifier* resource, CREFSTRING userName, CREFSTRING password)
 {
     MG_LOG_OPERATION_MESSAGE(L"SetResourceCredentials");
 
@@ -1802,7 +1802,7 @@
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(L"<Password>");
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    MG_LOG_TRACE_ENTRY(L"MgdResourceService::SetResourceCredentials()");
+    MG_LOG_TRACE_ENTRY(L"MgPortableResourceService::SetResourceCredentials()");
 
     std::string data;
     std::string mgUsername = MgUtil::WideCharToMultiByte(userName);
@@ -1816,7 +1816,7 @@
     //Invalidate any cached connections as they may use old credentials
     if (resource->GetResourceType() == MgResourceType::FeatureSource)
     {
-        MgdFdoConnectionPool::PurgeCachedConnections(resource);
+        MgPortableFdoConnectionPool::PurgeCachedConnections(resource);
     }
 
     SetResourceData(resource, MgResourceDataName::UserCredentials, MgResourceDataType::File, br);
@@ -1824,7 +1824,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_RESOURCE_SERVICE_CATCH(L"MgdResourceService::SetResourceCredentials")
+    MG_RESOURCE_SERVICE_CATCH(L"MgPortableResourceService::SetResourceCredentials")
 
     if (mgException != NULL)
     {
@@ -1839,8 +1839,8 @@
     MG_RESOURCE_SERVICE_THROW()
 }
 
-void MgdResourceService::AddAliasMapping(CREFSTRING aliasName, CREFSTRING path)
+void MgPortableResourceService::AddAliasMapping(CREFSTRING aliasName, CREFSTRING path)
 {
-    MgdUnmanagedDataManager* umgr = MgdUnmanagedDataManager::GetInstance();
+    MgPortableUnmanagedDataManager* umgr = MgPortableUnmanagedDataManager::GetInstance();
     umgr->AddAliasMapping(aliasName, path);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/ResourceService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ResourceService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ResourceService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,17 +18,17 @@
 #ifndef DESKTOP_RESOURCE_SERVICE_H
 #define DESKTOP_RESOURCE_SERVICE_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 /// \ingroup Desktop_Service_Module
 /// \{
-class MG_DESKTOP_API MgdResourceService : public MgResourceService
+class MG_DESKTOP_API MgPortableResourceService : public MgResourceService
 {
-    friend class MgdFdoConnectionUtil;
+    friend class MgPortableFdoConnectionUtil;
 
-    DECLARE_CLASSNAME(MgdResourceService)
+    DECLARE_CLASSNAME(MgPortableResourceService)
 
 INTERNAL_API:
-    MgdResourceService(CREFSTRING libraryContentRoot, CREFSTRING libraryDataRoot, CREFSTRING sessionContentRoot, CREFSTRING sessionDataRoot, CREFSTRING schemaPath);
+    MgPortableResourceService(CREFSTRING libraryContentRoot, CREFSTRING libraryDataRoot, CREFSTRING sessionContentRoot, CREFSTRING sessionDataRoot, CREFSTRING schemaPath);
 
     virtual MgByteReader* EnumerateRepositories(CREFSTRING repositoryType);
 
@@ -37,7 +37,7 @@
     virtual void DeleteRepository(MgResourceIdentifier* resource);
 
 EXTERNAL_API:
-    virtual ~MgdResourceService();
+    virtual ~MgPortableResourceService();
 
 PUBLISHED_API:
     virtual void UpdateRepository(MgResourceIdentifier* resource, MgByteReader* content, MgByteReader* header);

Modified: trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ScrollableFeatureReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -23,8 +23,8 @@
 #include "Services/Feature/RasterHelper.h"
 #include "Fdo.h"
 
-MgdScrollableFeatureReader::MgdScrollableFeatureReader(MgdFeatureConnection* conn, FdoIScrollableFeatureReader* reader)
-: MgdFeatureReader(conn, (FdoIFeatureReader*)reader)
+MgPortableScrollableFeatureReader::MgPortableScrollableFeatureReader(MgPortableFeatureConnection* conn, FdoIScrollableFeatureReader* reader)
+: MgPortableFeatureReader(conn, (FdoIFeatureReader*)reader)
 {
     m_scrollReader = FDO_SAFE_ADDREF(reader);
     m_connection = SAFE_ADDREF(conn);
@@ -33,7 +33,7 @@
     m_connection->OwnReader();
 }
 
-MgdScrollableFeatureReader::~MgdScrollableFeatureReader() 
+MgPortableScrollableFeatureReader::~MgPortableScrollableFeatureReader() 
 {
     FDO_SAFE_RELEASE(m_scrollReader);
     m_connection = NULL;
@@ -40,74 +40,74 @@
 } 
 
 // --------- Scrollable API ----------- //
-INT32 MgdScrollableFeatureReader::Count()
+INT32 MgPortableScrollableFeatureReader::Count()
 {
     INT32 ret;
     MG_FEATURE_SERVICE_TRY()
     ret = m_scrollReader->Count();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::Count")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::Count")
     return ret;
 }
 
-bool MgdScrollableFeatureReader::ReadFirst()
+bool MgPortableScrollableFeatureReader::ReadFirst()
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_scrollReader->ReadFirst();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::ReadFirst")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::ReadFirst")
     return ret;
 }
 
-bool MgdScrollableFeatureReader::ReadLast()
+bool MgPortableScrollableFeatureReader::ReadLast()
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_scrollReader->ReadLast();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::ReadLast")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::ReadLast")
     return ret;
 }
 
-bool MgdScrollableFeatureReader::ReadPrevious()
+bool MgPortableScrollableFeatureReader::ReadPrevious()
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_scrollReader->ReadPrevious();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::ReadPrevious")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::ReadPrevious")
     return ret;
 }
 
-bool MgdScrollableFeatureReader::ReadAt(MgPropertyCollection* key)
+bool MgPortableScrollableFeatureReader::ReadAt(MgPropertyCollection* key)
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     FdoPtr<FdoPropertyValueCollection> propVals = FdoPropertyValueCollection::Create();
-    MgdFeatureUtil::FillFdoPropertyCollection(key, propVals);
+    MgPortableFeatureUtil::FillFdoPropertyCollection(key, propVals);
     ret = m_scrollReader->ReadAt(propVals);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::ReadAt")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::ReadAt")
     return ret;
 }
 
-bool MgdScrollableFeatureReader::ReadAtIndex(UINT32 recordIndex)
+bool MgPortableScrollableFeatureReader::ReadAtIndex(UINT32 recordIndex)
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_scrollReader->ReadAtIndex((unsigned int)recordIndex);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::ReadAtIndex")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::ReadAtIndex")
     return ret;
 }
 
-UINT32 MgdScrollableFeatureReader::IndexOf(MgPropertyCollection* key)
+UINT32 MgPortableScrollableFeatureReader::IndexOf(MgPropertyCollection* key)
 {
     UINT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     FdoPtr<FdoPropertyValueCollection> propVals = FdoPropertyValueCollection::Create();
-    MgdFeatureUtil::FillFdoPropertyCollection(key, propVals);
+    MgPortableFeatureUtil::FillFdoPropertyCollection(key, propVals);
     ret = (UINT32)m_scrollReader->IndexOf(propVals);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdScrollableFeatureReader::IndexOf")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableScrollableFeatureReader::IndexOf")
     return ret;
 }
 
-FdoIScrollableFeatureReader* MgdScrollableFeatureReader::GetInternalReader()
+FdoIScrollableFeatureReader* MgPortableScrollableFeatureReader::GetInternalReader()
 {
     return FDO_SAFE_ADDREF(m_scrollReader); 
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ScrollableFeatureReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ScrollableFeatureReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,22 +18,22 @@
 #ifndef DESKTOP_SCROLLABLE_FEATURE_READER_H
 #define DESKTOP_SCROLLABLE_FEATURE_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 class FdoIScrollableFeatureReader;
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 
-// The MgdScrollableFeatureReader is an extension to the MgFeatureReader 
+// The MgPortableScrollableFeatureReader is an extension to the MgFeatureReader 
 // that can be traversed in the forward and backward direction (scrollable)
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdScrollableFeatureReader : public MgdFeatureReader
+class MG_DESKTOP_API MgPortableScrollableFeatureReader : public MgPortableFeatureReader
 {
 INTERNAL_API:
-    MgdScrollableFeatureReader(MgdFeatureConnection* conn, FdoIScrollableFeatureReader* reader);
+    MgPortableScrollableFeatureReader(MgPortableFeatureConnection* conn, FdoIScrollableFeatureReader* reader);
 
 EXTERNAL_API:
-    virtual ~MgdScrollableFeatureReader();
+    virtual ~MgPortableScrollableFeatureReader();
 
     //MgReader
 PUBLISHED_API:

Modified: trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ServiceFactory.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,46 +24,46 @@
 #include "RenderingService.h"
 #include "DrawingService.h"
 
-STRING MgdServiceFactory::sm_libContentPath = L"";
-STRING MgdServiceFactory::sm_libDataPath = L"";
-STRING MgdServiceFactory::sm_sesContentPath = L"";
-STRING MgdServiceFactory::sm_sesDataPath = L"";
-STRING MgdServiceFactory::sm_schemaPath = L"";
+STRING MgPortableServiceFactory::sm_libContentPath = L"";
+STRING MgPortableServiceFactory::sm_libDataPath = L"";
+STRING MgPortableServiceFactory::sm_sesContentPath = L"";
+STRING MgPortableServiceFactory::sm_sesDataPath = L"";
+STRING MgPortableServiceFactory::sm_schemaPath = L"";
 
-MG_IMPL_DYNCREATE(MgdServiceFactory);
+MG_IMPL_DYNCREATE(MgPortableServiceFactory);
 
-MgdServiceFactory::MgdServiceFactory() { }
+MgPortableServiceFactory::MgPortableServiceFactory() { }
 
-MgdServiceFactory::~MgdServiceFactory() { }
+MgPortableServiceFactory::~MgPortableServiceFactory() { }
 
-void MgdServiceFactory::Initialize()
+void MgPortableServiceFactory::Initialize()
 {
     MgConfiguration* conf = MgConfiguration::GetInstance();
 
-    conf->GetStringValue(MgdConfigProperties::ResourceServicePropertiesSection, 
-                         MgdConfigProperties::ResourceServicePropertyLibraryRepositoryPath,
+    conf->GetStringValue(MgPortableConfigProperties::ResourceServicePropertiesSection, 
+                         MgPortableConfigProperties::ResourceServicePropertyLibraryRepositoryPath,
                          sm_libContentPath,
-                         MgdConfigProperties::DefaultResourceServicePropertyLibraryRepositoryPath);
+                         MgPortableConfigProperties::DefaultResourceServicePropertyLibraryRepositoryPath);
 
-    conf->GetStringValue(MgdConfigProperties::ResourceServicePropertiesSection, 
-                         MgdConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath,
+    conf->GetStringValue(MgPortableConfigProperties::ResourceServicePropertiesSection, 
+                         MgPortableConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath,
                          sm_libDataPath,
-                         MgdConfigProperties::DefaultResourceServicePropertyLibraryResourceDataFilePath);
+                         MgPortableConfigProperties::DefaultResourceServicePropertyLibraryResourceDataFilePath);
 
-    conf->GetStringValue(MgdConfigProperties::ResourceServicePropertiesSection, 
-                         MgdConfigProperties::ResourceServicePropertySessionRepositoryPath,
+    conf->GetStringValue(MgPortableConfigProperties::ResourceServicePropertiesSection, 
+                         MgPortableConfigProperties::ResourceServicePropertySessionRepositoryPath,
                          sm_sesContentPath,
-                         MgdConfigProperties::DefaultResourceServicePropertySessionRepositoryPath);
+                         MgPortableConfigProperties::DefaultResourceServicePropertySessionRepositoryPath);
 
-    conf->GetStringValue(MgdConfigProperties::ResourceServicePropertiesSection, 
-                         MgdConfigProperties::ResourceServicePropertySessionResourceDataFilePath,
+    conf->GetStringValue(MgPortableConfigProperties::ResourceServicePropertiesSection, 
+                         MgPortableConfigProperties::ResourceServicePropertySessionResourceDataFilePath,
                          sm_sesDataPath,
-                         MgdConfigProperties::DefaultResourceServicePropertySessionResourceDataFilePath);
+                         MgPortableConfigProperties::DefaultResourceServicePropertySessionResourceDataFilePath);
 
-    conf->GetStringValue(MgdConfigProperties::ResourceServicePropertiesSection,
-                         MgdConfigProperties::ResourceServicePropertyResourceSchemaFilePath,
+    conf->GetStringValue(MgPortableConfigProperties::ResourceServicePropertiesSection,
+                         MgPortableConfigProperties::ResourceServicePropertyResourceSchemaFilePath,
                          sm_schemaPath,
-                         MgdConfigProperties::DefaultResourceServicePropertyResourceSchemaFilePath);
+                         MgPortableConfigProperties::DefaultResourceServicePropertyResourceSchemaFilePath);
 
     //Create these paths if they don't exist
     if (!MgFileUtil::IsDirectory(sm_libContentPath))
@@ -78,32 +78,32 @@
     {
         MgStringCollection args;
         args.Add(sm_schemaPath);
-        throw new MgException(MgExceptionCodes::MgDirectoryNotFoundException, L"MgdServiceFactory::Initialize", __LINE__, __WFILE__, &args, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgDirectoryNotFoundException, L"MgPortableServiceFactory::Initialize", __LINE__, __WFILE__, &args, L"", NULL);
     }
 }
 
-MgService* MgdServiceFactory::CreateService(INT32 serviceType)
+MgService* MgPortableServiceFactory::CreateService(INT32 serviceType)
 {
     switch(serviceType)
     {
     case MgServiceType::DrawingService:
-        return new MgdDrawingService();
+        return new MgPortableDrawingService();
     case MgServiceType::FeatureService:
-        return new MgdFeatureService();
+        return new MgPortableFeatureService();
     case MgServiceType::MappingService:
-        return new MgdMappingService();
+        return new MgPortableMappingService();
     case MgServiceType::ProfilingService:
-        return new MgdProfilingService();
+        return new MgPortableProfilingService();
     case MgServiceType::RenderingService:
-        return new MgdRenderingService();
+        return new MgPortableRenderingService();
     case MgServiceType::ResourceService:
-        return new MgdResourceService(sm_libContentPath,
+        return new MgPortableResourceService(sm_libContentPath,
                                       sm_libDataPath, 
                                       sm_sesContentPath, 
                                       sm_sesDataPath,
                                       sm_schemaPath);
     case MgServiceType::TileService:
-        return new MgdTileService();
+        return new MgPortableTileService();
     }
-    throw new MgException(MgExceptionCodes::MgServiceNotSupportedException, L"MgdServiceFactory::CreateService", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgServiceNotSupportedException, L"MgPortableServiceFactory::CreateService", __LINE__, __WFILE__, NULL, L"", NULL);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/ServiceFactory.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/ServiceFactory.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -19,25 +19,25 @@
 #define DESKTOP_SERVICE_FACTORY_H
 
 class MgService;
-class MgdTileService;
-class MgdFeatureService;
-class MgdMappingService;
-class MgdResourceService;
-class MgdDrawingService;
-class MgdRenderingService;
+class MgPortableTileService;
+class MgPortableFeatureService;
+class MgPortableMappingService;
+class MgPortableResourceService;
+class MgPortableDrawingService;
+class MgPortableRenderingService;
 /// \ingroup Desktop_Module
 /// \{
 
 ///\brief
-/// The MgdServiceFactory class allows you to create instances of service
+/// The MgPortableServiceFactory class allows you to create instances of service
 /// classes
-class MG_DESKTOP_API MgdServiceFactory : public MgGuardDisposable
+class MG_DESKTOP_API MgPortableServiceFactory : public MgGuardDisposable
 {
     MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgdServiceFactory)
+    DECLARE_CLASSNAME(MgPortableServiceFactory)
 
 PUBLISHED_API:
-    MgdServiceFactory();
+    MgPortableServiceFactory();
     ///\brief
     /// Creates an instances of the specified service
     ///
@@ -53,13 +53,13 @@
     ///\remarks
     /// Depending on the service type, this method will return instances of the following
     /// types:
-    /// \li MgServiceType::FeatureService - MgdFeatureService
-    /// \li MgServiceType::ResourceService - MgdResourceService
-    /// \li MgServiceType::DrawingService - MgdDrawingService
-    /// \li MgServiceType::MappingService - MgdMappingService
-    /// \li MgServiceType::RenderingService - MgdRenderingService
-    /// \li MgServiceType::ProfilingService - MgdProfilingService
-    /// \li MgServiceType::TileService - MgdTileService
+    /// \li MgServiceType::FeatureService - MgPortableFeatureService
+    /// \li MgServiceType::ResourceService - MgPortableResourceService
+    /// \li MgServiceType::DrawingService - MgPortableDrawingService
+    /// \li MgServiceType::MappingService - MgPortableMappingService
+    /// \li MgServiceType::RenderingService - MgPortableRenderingService
+    /// \li MgServiceType::ProfilingService - MgPortableProfilingService
+    /// \li MgServiceType::TileService - MgPortableTileService
     ///
     MgService* CreateService(INT32 serviceType);
 
@@ -70,7 +70,7 @@
     static const INT32 m_cls_id = MapGuide_Desktop_ServiceFactory;
 
 protected:
-    ~MgdServiceFactory();
+    ~MgPortableServiceFactory();
     virtual void Dispose() { delete this; }
     virtual INT32 GetClassId() { return m_cls_id; }
 

Modified: trunk/MgDev/Portable/MgPortable/Services/SqlReader.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/SqlReader.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/SqlReader.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,7 +21,7 @@
 #include "Services/Feature/FdoConnectionUtil.h"
 #include "Fdo.h"
 
-MgdSqlDataReader::MgdSqlDataReader(MgdFeatureConnection* conn, FdoISQLDataReader* reader)
+MgPortableSqlDataReader::MgPortableSqlDataReader(MgPortableFeatureConnection* conn, FdoISQLDataReader* reader)
 {
     m_reader = FDO_SAFE_ADDREF(reader);
     m_connection = SAFE_ADDREF(conn);
@@ -30,7 +30,7 @@
     m_connection->OwnReader();
 }
 
-MgdSqlDataReader::~MgdSqlDataReader() 
+MgPortableSqlDataReader::~MgPortableSqlDataReader() 
 {
     FDO_SAFE_RELEASE(m_reader);
     m_connection = NULL;
@@ -37,35 +37,35 @@
 } 
 
 
-bool MgdSqlDataReader::ReadNext() 
+bool MgPortableSqlDataReader::ReadNext() 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->ReadNext(); 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::ReadNext")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::ReadNext")
     return ret;
 }
 
-INT32 MgdSqlDataReader::GetPropertyCount() 
+INT32 MgPortableSqlDataReader::GetPropertyCount() 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetColumnCount(); 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetPropertyCount")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetPropertyCount")
     return ret;
 }
 
-STRING MgdSqlDataReader::GetPropertyName(INT32 index) 
+STRING MgPortableSqlDataReader::GetPropertyName(INT32 index) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
     FdoString* name = m_reader->GetColumnName(index);
     ret = STRING(name);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetPropertyName")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetPropertyName")
     return ret;
 }
 
-INT32 MgdSqlDataReader::GetPropertyType(CREFSTRING propertyName) 
+INT32 MgPortableSqlDataReader::GetPropertyType(CREFSTRING propertyName) 
 { 
     INT32 type = MgPropertyType::Null;
 
@@ -74,36 +74,36 @@
     FdoDataType dataType = m_reader->GetColumnType(propertyName.c_str());
     if (FdoDataType(-1) == dataType)
     {
-        throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdDataReader.GetPropertyType",
+        throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableDataReader.GetPropertyType",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
-    type = MgdFeatureUtil::GetMgPropertyType(dataType);
+    type = MgPortableFeatureUtil::GetMgPropertyType(dataType);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader.GetPropertyType")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader.GetPropertyType")
 
     return type;
 }
 
-INT32 MgdSqlDataReader::GetPropertyType(INT32 index) 
+INT32 MgPortableSqlDataReader::GetPropertyType(INT32 index) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetPropertyType(index);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetPropertyType")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetPropertyType")
     return ret;
 }
 
-bool MgdSqlDataReader::IsNull(CREFSTRING propertyName) 
+bool MgPortableSqlDataReader::IsNull(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->IsNull(propertyName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::IsNull")
     return ret;
 }
 
-bool MgdSqlDataReader::GetBoolean(CREFSTRING propertyName) 
+bool MgPortableSqlDataReader::GetBoolean(CREFSTRING propertyName) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
@@ -118,17 +118,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetBoolean",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetBoolean",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdSqlDataReader::GetByte(CREFSTRING propertyName) 
+BYTE MgPortableSqlDataReader::GetByte(CREFSTRING propertyName) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -143,17 +143,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetByte",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetByte",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdSqlDataReader::GetDateTime(CREFSTRING propertyName) 
+MgDateTime* MgPortableSqlDataReader::GetDateTime(CREFSTRING propertyName) 
 { 
     Ptr<MgDateTime> mdt;
     MG_FEATURE_SERVICE_TRY()
@@ -170,17 +170,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetDateTime",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetDateTime",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetByte")
     return mdt.Detach();
 }
 
-float MgdSqlDataReader::GetSingle(CREFSTRING propertyName) 
+float MgPortableSqlDataReader::GetSingle(CREFSTRING propertyName) 
 { 
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
@@ -195,17 +195,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetSingle",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetSingle",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetSingle")
     return ret;
 }
 
-double MgdSqlDataReader::GetDouble(CREFSTRING propertyName) 
+double MgPortableSqlDataReader::GetDouble(CREFSTRING propertyName) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
@@ -220,17 +220,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetDouble",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetDouble",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetDouble")
     return ret;
 }
 
-INT16 MgdSqlDataReader::GetInt16(CREFSTRING propertyName) 
+INT16 MgPortableSqlDataReader::GetInt16(CREFSTRING propertyName) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -245,17 +245,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetInt16",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetInt16",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt16")
     return ret;
 }
 
-INT32 MgdSqlDataReader::GetInt32(CREFSTRING propertyName) 
+INT32 MgPortableSqlDataReader::GetInt32(CREFSTRING propertyName) 
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -270,17 +270,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetInt32",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetInt32",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt32")
     return ret;
 }
 
-INT64 MgdSqlDataReader::GetInt64(CREFSTRING propertyName) 
+INT64 MgPortableSqlDataReader::GetInt64(CREFSTRING propertyName) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
@@ -295,17 +295,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetInt64",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetInt64",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt64")
     return ret;
 }
 
-STRING MgdSqlDataReader::GetString(CREFSTRING propertyName) 
+STRING MgPortableSqlDataReader::GetString(CREFSTRING propertyName) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
@@ -325,17 +325,17 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetString",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetString",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
             throw;
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdSqlDataReader::GetBLOB(CREFSTRING propertyName) 
+MgByteReader* MgPortableSqlDataReader::GetBLOB(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> blob;
     MG_FEATURE_SERVICE_TRY()
@@ -351,11 +351,11 @@
             blob = byteSource->GetReader();
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetBLOB")
     return blob.Detach();
 }
 
-MgByteReader* MgdSqlDataReader::GetCLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableSqlDataReader::GetCLOB(CREFSTRING propertyName)
 { 
     Ptr<MgByteReader> clob;
     MG_FEATURE_SERVICE_TRY()
@@ -371,11 +371,11 @@
             clob = byteSource->GetReader();
         }
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetCLOB")
     return clob.Detach();
 }
 
-MgByteReader* MgdSqlDataReader::GetGeometry(CREFSTRING propertyName) 
+MgByteReader* MgPortableSqlDataReader::GetGeometry(CREFSTRING propertyName) 
 { 
     Ptr<MgByteReader> geom;
     MG_FEATURE_SERVICE_TRY()
@@ -389,162 +389,162 @@
         bSource->SetMimeType(MgMimeType::Agf);
         geom = bSource->GetReader();
     }
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetGeometry")
     return geom.Detach();
 }
 
-INT32 MgdSqlDataReader::GetPropertyIndex(CREFSTRING propertyName) 
+INT32 MgPortableSqlDataReader::GetPropertyIndex(CREFSTRING propertyName) 
 { 
     INT32 ret = -1;
     MG_FEATURE_SERVICE_TRY()
     ret = m_reader->GetColumnIndex(propertyName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetPropertyIndex")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetPropertyIndex")
     return ret;
 }
 
-bool MgdSqlDataReader::IsNull(INT32 index) 
+bool MgPortableSqlDataReader::IsNull(INT32 index) 
 { 
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = IsNull(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::IsNull")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::IsNull")
     return ret;
 }
 
-bool MgdSqlDataReader::GetBoolean(INT32 index) 
+bool MgPortableSqlDataReader::GetBoolean(INT32 index) 
 {
     bool ret = false;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBoolean(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetBoolean")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetBoolean")
     return ret;
 }
 
-BYTE MgdSqlDataReader::GetByte(INT32 index) 
+BYTE MgPortableSqlDataReader::GetByte(INT32 index) 
 { 
     BYTE ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetByte(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetByte")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetByte")
     return ret;
 }
 
-MgDateTime* MgdSqlDataReader::GetDateTime(INT32 index) 
+MgDateTime* MgPortableSqlDataReader::GetDateTime(INT32 index) 
 { 
     Ptr<MgDateTime> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDateTime(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetDateTime")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetDateTime")
     return ret;
 }
 
-float MgdSqlDataReader::GetSingle(INT32 index) 
+float MgPortableSqlDataReader::GetSingle(INT32 index) 
 {
     float ret = 0.0f;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetSingle(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetSingle")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetSingle")
     return ret;
 }
 
-double MgdSqlDataReader::GetDouble(INT32 index) 
+double MgPortableSqlDataReader::GetDouble(INT32 index) 
 { 
     double ret = 0.0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetDouble(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetDouble")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetDouble")
     return ret;
 }
 
-INT16 MgdSqlDataReader::GetInt16(INT32 index) 
+INT16 MgPortableSqlDataReader::GetInt16(INT32 index) 
 { 
     INT16 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt16(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt16")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt16")
     return ret;
 }
 
-INT32 MgdSqlDataReader::GetInt32(INT32 index)
+INT32 MgPortableSqlDataReader::GetInt32(INT32 index)
 { 
     INT32 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt32(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt32")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt32")
     return ret;
 }
 
-INT64 MgdSqlDataReader::GetInt64(INT32 index) 
+INT64 MgPortableSqlDataReader::GetInt64(INT32 index) 
 { 
     INT64 ret = 0;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetInt64(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetInt64")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetInt64")
     return ret;
 }
 
-STRING MgdSqlDataReader::GetString(INT32 index) 
+STRING MgPortableSqlDataReader::GetString(INT32 index) 
 { 
     STRING ret = L"";
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetString(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetString")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetString")
     return ret;
 }
 
-MgByteReader* MgdSqlDataReader::GetBLOB(INT32 index) 
+MgByteReader* MgPortableSqlDataReader::GetBLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetBLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetBLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetBLOB")
     return ret;
 }
 
-MgByteReader* MgdSqlDataReader::GetCLOB(INT32 index) 
+MgByteReader* MgPortableSqlDataReader::GetCLOB(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetCLOB(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetCLOB")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetCLOB")
     return ret;
 }
 
-MgByteReader* MgdSqlDataReader::GetGeometry(INT32 index) 
+MgByteReader* MgPortableSqlDataReader::GetGeometry(INT32 index) 
 { 
     Ptr<MgByteReader> ret;
     MG_FEATURE_SERVICE_TRY()
     STRING propertyName = GetPropertyName(index);
     ret = GetGeometry(propertyName);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetGeometry")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetGeometry")
     return ret;
 }
 
-MgRaster* MgdSqlDataReader::GetRaster(INT32 index) 
+MgRaster* MgPortableSqlDataReader::GetRaster(INT32 index) 
 { 
-    throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdSqlDataReader::GetRaster",
+    throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableSqlDataReader::GetRaster",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-MgRaster* MgdSqlDataReader::GetRaster(CREFSTRING propertyName) 
+MgRaster* MgPortableSqlDataReader::GetRaster(CREFSTRING propertyName) 
 { 
-    throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgdSqlDataReader::GetRaster",
+    throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPortableSqlDataReader::GetRaster",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-void MgdSqlDataReader::Close() 
+void MgPortableSqlDataReader::Close() 
 { 
     MG_FEATURE_SERVICE_TRY()
 
@@ -555,14 +555,14 @@
 
     // Release the connection.
     //m_connection = NULL;
-    MgdFdoConnectionPool::ReturnConnection(m_connection);
+    MgPortableFdoConnectionPool::ReturnConnection(m_connection);
     m_connection = NULL;
-    //MgdFdoConnectionUtil::CloseConnection(fdoConnection);
+    //MgPortableFdoConnectionUtil::CloseConnection(fdoConnection);
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdDataReader::Close");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableDataReader::Close");
 }
 
-INT32 MgdSqlDataReader::GetReaderType() 
+INT32 MgPortableSqlDataReader::GetReaderType() 
 { 
     return MgReaderType::FeatureReader;
 }
@@ -569,32 +569,32 @@
 
 //EXTERNAL_API:
 
-MgByteReader* MgdSqlDataReader::ToXml() 
+MgByteReader* MgPortableSqlDataReader::ToXml() 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdSqlDataReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableSqlDataReader::ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 //INTERNAL_API:
 
-string MgdSqlDataReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgdSqlDataReader::GetResponseElementName"); }
+string MgPortableSqlDataReader::GetResponseElementName() { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::GetResponseElementName"); }
 
-string MgdSqlDataReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgdSqlDataReader::GetResponseElementName"); }
+string MgPortableSqlDataReader::GetBodyElementName() { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::GetResponseElementName"); }
 
-void MgdSqlDataReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::ResponseStartUtf8"); }
+void MgPortableSqlDataReader::ResponseStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::ResponseStartUtf8"); }
 
-void MgdSqlDataReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::ResponseEndUtf8"); }
+void MgPortableSqlDataReader::ResponseEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::ResponseEndUtf8"); }
 
-void MgdSqlDataReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::BodyStartUtf8"); }
+void MgPortableSqlDataReader::BodyStartUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::BodyStartUtf8"); }
 
-void MgdSqlDataReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::BodyEndUtf8"); }
+void MgPortableSqlDataReader::BodyEndUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::BodyEndUtf8"); }
 
-void MgdSqlDataReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::CurrentToStringUtf8"); }
+void MgPortableSqlDataReader::CurrentToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::CurrentToStringUtf8"); }
 
-void MgdSqlDataReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgdSqlDataReader::CurrentToStringUtf8"); }
+void MgPortableSqlDataReader::CurrentToStringUtf8(string& str, MgTransform* xform) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::CurrentToStringUtf8"); }
 
-void MgdSqlDataReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgdSqlDataReader::HeaderToStringUtf8"); }
+void MgPortableSqlDataReader::HeaderToStringUtf8(string& str) { NOT_IMPLEMENTED(L"MgPortableSqlDataReader::HeaderToStringUtf8"); }
 
-MgByteReader* MgdSqlDataReader::GetLOB(CREFSTRING propertyName)
+MgByteReader* MgPortableSqlDataReader::GetLOB(CREFSTRING propertyName)
 {
     Ptr<MgByteReader> byteReader;
 
@@ -624,7 +624,7 @@
             MgStringCollection arguments;
             arguments.Add(propertyName);
 
-            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetLOB",
+            throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetLOB",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
         else
@@ -633,7 +633,7 @@
     return byteReader.Detach();
 }
 
-const wchar_t* MgdSqlDataReader::GetString(CREFSTRING propertyName, INT32& length) 
+const wchar_t* MgPortableSqlDataReader::GetString(CREFSTRING propertyName, INT32& length) 
 { 
     FdoString* retVal;
 
@@ -644,7 +644,7 @@
         MgStringCollection arguments;
         arguments.Add(propertyName);
 
-        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgdSqlDataReader::GetString",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgPortableSqlDataReader::GetString",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
     else
@@ -656,17 +656,17 @@
         }
     }
 
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdSqlDataReader::GetString");
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableSqlDataReader::GetString");
 
     return ((const wchar_t*)retVal);
 }
 
-void MgdSqlDataReader::Serialize(MgStream* stream) 
+void MgPortableSqlDataReader::Serialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdSqlDataReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableSqlDataReader::Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
-void MgdSqlDataReader::Deserialize(MgStream* stream) 
+void MgPortableSqlDataReader::Deserialize(MgStream* stream) 
 { 
-    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgdSqlDataReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgPortableSqlDataReader::Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/SqlReader.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/SqlReader.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/SqlReader.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,19 +18,19 @@
 #ifndef DESKTOP_SQL_READER_H
 #define DESKTOP_SQL_READER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 class FdoISQLDataReader;
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdSqlDataReader : public MgSqlDataReader
+class MG_DESKTOP_API MgPortableSqlDataReader : public MgSqlDataReader
 {
 INTERNAL_API:
-    MgdSqlDataReader(MgdFeatureConnection* conn, FdoISQLDataReader* reader);
+    MgPortableSqlDataReader(MgPortableFeatureConnection* conn, FdoISQLDataReader* reader);
 
 EXTERNAL_API:
-    virtual ~MgdSqlDataReader();
+    virtual ~MgPortableSqlDataReader();
 
 PUBLISHED_API:
     virtual bool ReadNext();
@@ -206,7 +206,7 @@
 
 private:
     FdoISQLDataReader* m_reader;
-    Ptr<MgdFeatureConnection> m_connection;
+    Ptr<MgPortableFeatureConnection> m_connection;
 };
 /// \}
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Stylization/SEMgSymbolManager.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -24,13 +24,13 @@
 #define IMAGE_ERROR (unsigned char*)1
 
 
-SEMgdSymbolManager::SEMgdSymbolManager(MgResourceService* svc)
+SEMgPortableSymbolManager::SEMgPortableSymbolManager(MgResourceService* svc)
 {
     m_svcResource = SAFE_ADDREF(svc);
 }
 
 
-SEMgdSymbolManager::~SEMgdSymbolManager()
+SEMgPortableSymbolManager::~SEMgPortableSymbolManager()
 {
     SAFE_RELEASE(m_svcResource);
 
@@ -52,7 +52,7 @@
 }
 
 
-SymbolDefinition* SEMgdSymbolManager::GetSymbolDefinition(const wchar_t* resourceId)
+SymbolDefinition* SEMgPortableSymbolManager::GetSymbolDefinition(const wchar_t* resourceId)
 {
     if (!resourceId)
         resourceId = L"";
@@ -123,7 +123,7 @@
 }
 
 
-bool SEMgdSymbolManager::GetImageData(const wchar_t* resourceId, const wchar_t* resourceName, ImageData& imageData)
+bool SEMgPortableSymbolManager::GetImageData(const wchar_t* resourceId, const wchar_t* resourceName, ImageData& imageData)
 {
     if (!resourceId)
         resourceId = L"";

Modified: trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Stylization/SEMgSymbolManager.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,16 +18,16 @@
 #ifndef DESKTOP_SE_SYMBOL_MANAGER_H
 #define DESKTOP_SE_SYMBOL_MANAGER_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "SE_SymbolManager.h"
 
 class MgResourceService;
 
-class SEMgdSymbolManager : public SE_SymbolManager
+class SEMgPortableSymbolManager : public SE_SymbolManager
 {
 public:
-    SEMgdSymbolManager(MgResourceService* svc);
-    virtual ~SEMgdSymbolManager();
+    SEMgPortableSymbolManager(MgResourceService* svc);
+    virtual ~SEMgPortableSymbolManager();
 
     virtual SymbolDefinition* GetSymbolDefinition(const wchar_t* resourceId);
     virtual bool GetImageData(const wchar_t* resourceId, const wchar_t* resourceName, ImageData& imageData);

Modified: trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Tile/TileCache.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TileDefs.h"
 #include "TileCache.h"
 
@@ -24,12 +24,12 @@
 const STRING ROW_PREFIX = L"R";
 const STRING COLUMN_PREFIX = L"C";
 
-STRING MgdTileCache::sm_path = L"";
-INT32 MgdTileCache::sm_tileColumnsPerFolder = 30;
-INT32 MgdTileCache::sm_tileRowsPerFolder = 30;
+STRING MgPortableTileCache::sm_path = L"";
+INT32 MgPortableTileCache::sm_tileColumnsPerFolder = 30;
+INT32 MgPortableTileCache::sm_tileRowsPerFolder = 30;
 
 // default constructor
-MgdTileCache::MgdTileCache()
+MgPortableTileCache::MgPortableTileCache()
 {
 }
 
@@ -37,7 +37,7 @@
 /// \brief
 /// Initialize the tile cache configuration.
 ///
-void MgdTileCache::Initialize()
+void MgPortableTileCache::Initialize()
 {
     if (sm_path.empty())
     {
@@ -45,10 +45,10 @@
         MgConfiguration* configuration = MgConfiguration::GetInstance();
 
         configuration->GetStringValue(
-            MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyTileCachePath,
+            MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyTileCachePath,
             sm_path,
-            MgdConfigProperties::DefaultTileServicePropertyTileCachePath);
+            MgPortableConfigProperties::DefaultTileServicePropertyTileCachePath);
 
         // generate directory location for tile cache
         MgFileUtil::AppendSlashToEndOfPath(sm_path);
@@ -56,40 +56,40 @@
         // create directory if it is not already there
         MgFileUtil::CreateDirectory(sm_path, false, true);
 
-        configuration->GetIntValue(MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyTileColumnsPerFolder,
+        configuration->GetIntValue(MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyTileColumnsPerFolder,
             sm_tileColumnsPerFolder,
-            MgdConfigProperties::DefaultTileServicePropertyTileColumnsPerFolder);
+            MgPortableConfigProperties::DefaultTileServicePropertyTileColumnsPerFolder);
 
-        configuration->GetIntValue(MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyTileRowsPerFolder,
+        configuration->GetIntValue(MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyTileRowsPerFolder,
             sm_tileRowsPerFolder,
-            MgdConfigProperties::DefaultTileServicePropertyTileRowsPerFolder);
+            MgPortableConfigProperties::DefaultTileServicePropertyTileRowsPerFolder);
 
-        configuration->GetIntValue(MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyTileSizeX,
-            MgdTileParameters::tileWidth,
-            MgdConfigProperties::DefaultTileServicePropertyTileSizeX);
+        configuration->GetIntValue(MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyTileSizeX,
+            MgPortableTileParameters::tileWidth,
+            MgPortableConfigProperties::DefaultTileServicePropertyTileSizeX);
 
-        configuration->GetIntValue(MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyTileSizeY,
-            MgdTileParameters::tileHeight,
-            MgdConfigProperties::DefaultTileServicePropertyTileSizeY);
+        configuration->GetIntValue(MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyTileSizeY,
+            MgPortableTileParameters::tileHeight,
+            MgPortableConfigProperties::DefaultTileServicePropertyTileSizeY);
 
         STRING format;
-        configuration->GetStringValue(MgdConfigProperties::TileServicePropertiesSection,
-            MgdConfigProperties::TileServicePropertyImageFormat,
+        configuration->GetStringValue(MgPortableConfigProperties::TileServicePropertiesSection,
+            MgPortableConfigProperties::TileServicePropertyImageFormat,
             format,
-            MgdConfigProperties::DefaultTileServicePropertyImageFormat);
+            MgPortableConfigProperties::DefaultTileServicePropertyImageFormat);
 
         // Only allow GIF, PNG, PNG8 and JPG as tile formats
-        if (format == MgdImageFormats::Png || format == MgdImageFormats::Png8 || format == MgdImageFormats::Jpeg || format == MgdImageFormats::Gif)
+        if (format == MgPortableImageFormats::Png || format == MgPortableImageFormats::Png8 || format == MgPortableImageFormats::Jpeg || format == MgPortableImageFormats::Gif)
         {
-            MgdTileParameters::tileFormat = format;
+            MgPortableTileParameters::tileFormat = format;
         }
         else
         {
-            MgdTileParameters::tileFormat = MgdImageFormats::Png;
+            MgPortableTileParameters::tileFormat = MgPortableImageFormats::Png;
         }
     }
 }
@@ -98,7 +98,7 @@
 /// \brief
 /// Generate tile and lock pathnames.
 ///
-void MgdTileCache::GeneratePathnames(MgResourceIdentifier* mapDef, int scaleIndex,
+void MgPortableTileCache::GeneratePathnames(MgResourceIdentifier* mapDef, int scaleIndex,
     CREFSTRING group, int tileColumn, int tileRow,
     STRING& tilePathname, STRING& lockPathname, bool createFullPath)
 {
@@ -119,11 +119,11 @@
     //     <lockPathname> = <fullPath>/<row>_<column>.lck
     tilePathname += fileName;
     lockPathname = tilePathname;
-    if (MgdTileParameters::tileFormat == MgdImageFormats::Jpeg)
+    if (MgPortableTileParameters::tileFormat == MgPortableImageFormats::Jpeg)
     {
         tilePathname += L"jpg";
     }
-    else if (MgdTileParameters::tileFormat == MgdImageFormats::Gif)
+    else if (MgPortableTileParameters::tileFormat == MgPortableImageFormats::Gif)
     {
         tilePathname += L"gif";
     }
@@ -135,7 +135,7 @@
     lockPathname += L"lck";
 }
 
-void MgdTileCache::GeneratePathnames(MgMapBase* map, int scaleIndex,
+void MgPortableTileCache::GeneratePathnames(MgMapBase* map, int scaleIndex,
     CREFSTRING group, int tileColumn, int tileRow,
     STRING& tilePathname, STRING& lockPathname, bool createFullPath)
 {
@@ -147,7 +147,7 @@
 }
 
 // returns any cached tile for the given pathname
-MgByteReader* MgdTileCache::Get(CREFSTRING tilePathname)
+MgByteReader* MgPortableTileCache::Get(CREFSTRING tilePathname)
 {
     Ptr<MgByteReader> ret;
 
@@ -157,11 +157,11 @@
     {
         Ptr<MgByteSource> byteSource = new MgByteSource(tilePathname, false);
 
-        if (MgdTileParameters::tileFormat == MgdImageFormats::Jpeg)
+        if (MgPortableTileParameters::tileFormat == MgPortableImageFormats::Jpeg)
         {
             byteSource->SetMimeType(MgMimeType::Jpeg);
         }
-        else if (MgdTileParameters::tileFormat == MgdImageFormats::Gif)
+        else if (MgPortableTileParameters::tileFormat == MgPortableImageFormats::Gif)
         {
             byteSource->SetMimeType(MgMimeType::Gif);
         }
@@ -179,7 +179,7 @@
 }
 
 // caches a tile for the given pathname
-void MgdTileCache::Set(MgByteReader* img, CREFSTRING tilePathname)
+void MgPortableTileCache::Set(MgByteReader* img, CREFSTRING tilePathname)
 {
     if (img != NULL)
     {
@@ -190,7 +190,7 @@
 }
 
 // clears the tile cache for the given map
-void MgdTileCache::Clear(MgMapBase* map)
+void MgPortableTileCache::Clear(MgMapBase* map)
 {
     if (map != NULL)
     {
@@ -203,7 +203,7 @@
 }
 
 // clears the tile cache for the given map
-void MgdTileCache::Clear(MgResourceIdentifier* mapDef)
+void MgPortableTileCache::Clear(MgResourceIdentifier* mapDef)
 {
     // the resource must be a map definition
     if (mapDef != NULL && mapDef->GetResourceType() == MgResourceType::MapDefinition)
@@ -217,7 +217,7 @@
 }
 
 // gets the base path to use with the tile cache for the given map definition resource
-STRING MgdTileCache::GetBasePath(MgResourceIdentifier* mapDef)
+STRING MgPortableTileCache::GetBasePath(MgResourceIdentifier* mapDef)
 {
     assert(mapDef != NULL);
     assert(mapDef->GetResourceType() == MgResourceType::MapDefinition);
@@ -266,7 +266,7 @@
 }
 
 // gets the base path to use with the tile cache for the given map
-STRING MgdTileCache::GetBasePath(MgMapBase* map)
+STRING MgPortableTileCache::GetBasePath(MgMapBase* map)
 {
     assert(NULL != map);
     Ptr<MgResourceIdentifier> mapDef = map->GetMapDefinition();
@@ -274,7 +274,7 @@
 }
 
 // gets the full path to use with the tile cache for the given base path / scale index / group
-STRING MgdTileCache::GetFullPath(CREFSTRING basePath, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::GetFullPath(CREFSTRING basePath, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     // Build full path
     //     <fullPath> = <basePath>/<scaleIndex>/<group>/<rowFolder>/<columnFolder>
@@ -297,13 +297,13 @@
 }
 
 // gets the full path to use with the tile cache for the given map definition / scale index / group
-STRING MgdTileCache::GetFullPath(MgResourceIdentifier* mapDef, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::GetFullPath(MgResourceIdentifier* mapDef, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     return GetFullPath(GetBasePath(mapDef), scaleIndex, group, tileColumn, tileRow);
 }
 
 // gets the full path to use with the tile cache for the given map / scale index / group
-STRING MgdTileCache::GetFullPath(MgMapBase* map, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::GetFullPath(MgMapBase* map, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     assert(NULL != map);
     Ptr<MgResourceIdentifier> mapDef = map->GetMapDefinition();
@@ -310,7 +310,7 @@
     return GetFullPath(mapDef, scaleIndex, group, tileColumn, tileRow);
 }
 
-STRING MgdTileCache::CreateFullPath(CREFSTRING basePath, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::CreateFullPath(CREFSTRING basePath, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     assert(!basePath.empty());
     STRING fullPath = basePath;
@@ -341,18 +341,18 @@
     return fullPath;
 }
 
-STRING MgdTileCache::CreateFullPath(MgResourceIdentifier* mapDef, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::CreateFullPath(MgResourceIdentifier* mapDef, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     return CreateFullPath(GetBasePath(mapDef), scaleIndex, group, tileColumn, tileRow);
 }
 
-STRING MgdTileCache::CreateFullPath(MgMapBase* map, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
+STRING MgPortableTileCache::CreateFullPath(MgMapBase* map, int scaleIndex, CREFSTRING group, int tileColumn, int tileRow)
 {
     return CreateFullPath(GetBasePath(map), scaleIndex, group, tileColumn, tileRow);
 }
 
 // Get the folder name corresponding to the specified scale index
-STRING MgdTileCache::GetScaleIndexFolder(int scaleIndex)
+STRING MgPortableTileCache::GetScaleIndexFolder(int scaleIndex)
 {
     STRING scaleIndexString;
     MgUtil::Int32ToString(scaleIndex, scaleIndexString);
@@ -360,19 +360,19 @@
 }
 
 // Get the folder name corresponding to the specified tile row
-STRING MgdTileCache::GetRowFolder(int tileRow)
+STRING MgPortableTileCache::GetRowFolder(int tileRow)
 {
     return GetFolder(ROW_PREFIX, tileRow, sm_tileRowsPerFolder);
 }
 
 // Get the folder name corresponding to the specified tile column
-STRING MgdTileCache::GetColumnFolder(int tileColumn)
+STRING MgPortableTileCache::GetColumnFolder(int tileColumn)
 {
     return GetFolder(COLUMN_PREFIX, tileColumn, sm_tileColumnsPerFolder);
 }
 
 // Get the parent folder for a given row or column
-STRING MgdTileCache::GetFolder(STRING prefix, int tileIndex, int tilesPerFolder)
+STRING MgPortableTileCache::GetFolder(STRING prefix, int tileIndex, int tilesPerFolder)
 {
     STRING folder;
 
@@ -392,7 +392,7 @@
 
 // Get the filename corresponding to the specified row and column.
 // No file extension is added.
-STRING MgdTileCache::GetTileName(int tileRow, int tileColumn)
+STRING MgPortableTileCache::GetTileName(int tileRow, int tileColumn)
 {
     return GetTileIndexString(tileRow, sm_tileRowsPerFolder) + L"_" +
         GetTileIndexString(tileColumn, sm_tileColumnsPerFolder);
@@ -405,7 +405,7 @@
 // Note: Negative values are maintained even near the origin, so a tile with
 // an overall row index of -13 would be stored in row folder "R-0" with a
 // row index of -13.
-STRING MgdTileCache::GetTileIndexString(int tileIndex, int tilesPerFolder)
+STRING MgPortableTileCache::GetTileIndexString(int tileIndex, int tilesPerFolder)
 {
     STRING name;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Tile/TileCache.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Tile/TileCache.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -22,10 +22,10 @@
 class MgMapBase;
 class MgByteReader;
 
-class MgdTileCache : public MgGuardDisposable
+class MgPortableTileCache : public MgGuardDisposable
 {
 public:
-    MgdTileCache();
+    MgPortableTileCache();
 
     static void Initialize();
 
@@ -53,8 +53,8 @@
 
 private:
     // Unimplemented Constructors/Methods
-    MgdTileCache(const MgdTileCache&);
-    MgdTileCache& operator=(const MgdTileCache&);
+    MgPortableTileCache(const MgPortableTileCache&);
+    MgPortableTileCache& operator=(const MgPortableTileCache&);
 
     STRING GetBasePath(MgResourceIdentifier* mapDef);
     STRING GetBasePath(MgMapBase* map);

Modified: trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Tile/TileDefs.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,7 +25,7 @@
 ///       tileWidth and tileHeight are requested by the viewer during initialization.
 ///       The AJAX viewer supports both JPG and PNG tiles.
 ///
-INT32  MgdTileParameters::tileWidth  = 300;                    // width for all tiles
-INT32  MgdTileParameters::tileHeight = 300;                    // height for all tiles
-const INT32  MgdTileParameters::tileDPI    =  96;              // assumed DPI for all tiles
-STRING MgdTileParameters::tileFormat = L"PNG";    // image format for all tiles
+INT32  MgPortableTileParameters::tileWidth  = 300;                    // width for all tiles
+INT32  MgPortableTileParameters::tileHeight = 300;                    // height for all tiles
+const INT32  MgPortableTileParameters::tileDPI    =  96;              // assumed DPI for all tiles
+STRING MgPortableTileParameters::tileFormat = L"PNG";    // image format for all tiles

Modified: trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Tile/TileDefs.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Tile/TileDefs.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,9 +18,9 @@
 #ifndef DESKTOP_TILE_DEFS_H
 #define DESKTOP_TILE_DEFS_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MG_DESKTOP_API MgdTileParameters
+class MG_DESKTOP_API MgPortableTileParameters
 {
 INTERNAL_API:
     static INT32 tileWidth;         // width for all tiles

Modified: trunk/MgDev/Portable/MgPortable/Services/TileService.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/TileService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/TileService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,18 +16,18 @@
 //
 
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TileService.h"
 
-ACE_Recursive_Thread_Mutex MgdTileService::sm_mutex;
-bool MgdTileService::sm_initialized = false;
-MgdTileService::MapCache MgdTileService::sm_mapCache;
-bool MgdTileService::sm_renderOnly = false;
-INT32 MgdTileService::sm_creationCutoffTime = 120;     // in seconds
-INT32 MgdTileService::sm_pollingInterval = 1;          // in seconds
-INT32 MgdTileService::sm_mapCacheSize = 10;
+ACE_Recursive_Thread_Mutex MgPortableTileService::sm_mutex;
+bool MgPortableTileService::sm_initialized = false;
+MgPortableTileService::MapCache MgPortableTileService::sm_mapCache;
+bool MgPortableTileService::sm_renderOnly = false;
+INT32 MgPortableTileService::sm_creationCutoffTime = 120;     // in seconds
+INT32 MgPortableTileService::sm_pollingInterval = 1;          // in seconds
+INT32 MgPortableTileService::sm_mapCacheSize = 10;
 
-MgdTileService::MgdTileService() : MgService()
+MgPortableTileService::MgPortableTileService() : MgService()
 {
     if (!sm_initialized)
     {
@@ -39,39 +39,39 @@
             MgConfiguration* configuration = MgConfiguration::GetInstance();
 
             configuration->GetBoolValue(
-                MgdConfigProperties::TileServicePropertiesSection,
-                MgdConfigProperties::TileServicePropertyRenderOnly,
+                MgPortableConfigProperties::TileServicePropertiesSection,
+                MgPortableConfigProperties::TileServicePropertyRenderOnly,
                 sm_renderOnly,
-                MgdConfigProperties::DefaultTileServicePropertyRenderOnly);
+                MgPortableConfigProperties::DefaultTileServicePropertyRenderOnly);
 
             configuration->GetIntValue(
-                MgdConfigProperties::TileServicePropertiesSection,
-                MgdConfigProperties::TileServicePropertyCreationCutoffTime,
+                MgPortableConfigProperties::TileServicePropertiesSection,
+                MgPortableConfigProperties::TileServicePropertyCreationCutoffTime,
                 sm_creationCutoffTime,
-                MgdConfigProperties::DefaultTileServicePropertyCreationCutoffTime);
+                MgPortableConfigProperties::DefaultTileServicePropertyCreationCutoffTime);
 
             configuration->GetIntValue(
-                MgdConfigProperties::TileServicePropertiesSection,
-                MgdConfigProperties::TileServicePropertyPollingInterval,
+                MgPortableConfigProperties::TileServicePropertiesSection,
+                MgPortableConfigProperties::TileServicePropertyPollingInterval,
                 sm_pollingInterval,
-                MgdConfigProperties::DefaultTileServicePropertyPollingInterval);
+                MgPortableConfigProperties::DefaultTileServicePropertyPollingInterval);
 
             configuration->GetIntValue(
-                MgdConfigProperties::TileServicePropertiesSection,
-                MgdConfigProperties::TileServicePropertyTiledMapCacheSize,
+                MgPortableConfigProperties::TileServicePropertiesSection,
+                MgPortableConfigProperties::TileServicePropertyTiledMapCacheSize,
                 sm_mapCacheSize,
-                MgdConfigProperties::DefaultTileServicePropertyTiledMapCacheSize);
+                MgPortableConfigProperties::DefaultTileServicePropertyTiledMapCacheSize);
 
-            MgdTileCache::Initialize();
+            MgPortableTileCache::Initialize();
             sm_initialized = true;
         }
     }
 
-    m_tileCache = new MgdTileCache();
+    m_tileCache = new MgPortableTileCache();
 }
 
 
-MgdTileService::~MgdTileService()
+MgPortableTileService::~MgPortableTileService()
 {
 }
 
@@ -79,7 +79,7 @@
 /// \brief
 /// Determine if the tile cache is empty.
 ///
-bool MgdTileService::IsTileCacheEmpty() const
+bool MgPortableTileService::IsTileCacheEmpty() const
 {
     ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, sm_mutex, false));
 
@@ -90,7 +90,7 @@
 /// \brief
 /// Detect if the tile file has been locked by another thread or process.
 ///
-bool MgdTileService::DetectTileLockFile(CREFSTRING lockPathname)
+bool MgPortableTileService::DetectTileLockFile(CREFSTRING lockPathname)
 {
     bool found = false;
     struct _stat64 lockFileInfo;
@@ -121,7 +121,7 @@
 // Create tilename from mapDefinition, scaleIndex, row, and column.
 // Remove lockfile, look for the tile in the cache, if not in cache create
 // lockfile and look for map in mapcache.
-MgByteReader* MgdTileService::GetTile(MgResourceIdentifier* mapDefinition,
+MgByteReader* MgPortableTileService::GetTile(MgResourceIdentifier* mapDefinition,
                                      CREFSTRING baseMapLayerGroupName,
                                      INT32 tileColumn,
                                      INT32 tileRow,
@@ -150,7 +150,7 @@
 
     if (NULL == mapDefinition || baseMapLayerGroupName.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdTileService.GetTile",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableTileService.GetTile",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -163,13 +163,13 @@
         arguments.Add(L"5");
         arguments.Add(buffer);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdTileService.GetTile",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableTileService.GetTile",
             __LINE__, __WFILE__, &arguments, L"MgInvalidScaleIndex", NULL);
     }
 
     // get the service from our helper method
     Ptr<MgResourceService> resourceService = GetResourceServiceForMapDef(mapDefinition,
-                                            L"MgdTileService.GetTile");
+                                            L"MgPortableTileService.GetTile");
     // Generate tile and lock pathnames.
     m_tileCache->GeneratePathnames(mapDefinition, scaleIndex, baseMapLayerGroupName,
         tileColumn, tileRow, tilePathname, lockPathname, false);
@@ -191,10 +191,10 @@
         // Attempt use a cached & serialized MgMap object
         Ptr<MgMemoryStreamHelper> cachedMap;
         STRING mapString = mapDefinition->ToString();
-        Ptr<MgdMap> map;
+        Ptr<MgPortableMap> map;
 
-        // Protect the serialized MgMap cache with a MgdMutex.  Stream reading is not
-        // thread safe so we need to deserialize the map within the MgdMutex to ensure
+        // Protect the serialized MgMap cache with a MgPortableMutex.  Stream reading is not
+        // thread safe so we need to deserialize the map within the MgPortableMutex to ensure
         // that a Rewind() is not called in the middle of a Deserialize().
         // Lockfile test and creation is in same protected scope.
         {
@@ -207,7 +207,7 @@
                 MgStringCollection arguments;
                 arguments.Add(lockPathname);
 
-                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdTileService.GetTile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableTileService.GetTile",
                     __LINE__, __WFILE__, &arguments, L"MgUnableToLockTileFile", NULL);
             }
 
@@ -228,7 +228,7 @@
                 MgStringCollection arguments;
                 arguments.Add(lockPathname);
 
-                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdTileService.GetTile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableTileService.GetTile",
                     __LINE__, __WFILE__, &arguments, L"MgUnableToOpenLockFile", NULL);
             }
             else
@@ -242,7 +242,7 @@
                 cachedMap = SAFE_ADDREF((*iter).second);
                 cachedMap->Rewind();
                 Ptr<MgStream> stream = new MgStream(cachedMap);
-                map = new MgdMap();
+                map = new MgPortableMap();
                 map->Deserialize(stream);
             }
             else
@@ -252,7 +252,7 @@
                 siteConn->Open(userInfo);
                 map = new MgMap(siteConn);
                 map->Create(resourceService, mapDefinition, mapString);*/
-                map = new MgdMap(mapDefinition, mapString);
+                map = new MgPortableMap(mapDefinition, mapString);
                 cachedMap = new MgMemoryStreamHelper();
                 Ptr<MgStream> stream = new MgStream(cachedMap);
                 map->Serialize(stream);
@@ -262,7 +262,7 @@
                 }
                 sm_mapCache[mapString] = SAFE_ADDREF((MgMemoryStreamHelper*)cachedMap);
             }
-        }   // end of MgdMutex scope
+        }   // end of MgPortableMutex scope
 
         double scale = map->GetFiniteDisplayScaleAt(scaleIndex);
         map->SetViewScale(scale);
@@ -275,7 +275,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdTileService::GetTile")
+    MG_CATCH(L"MgPortableTileService::GetTile")
 
     if (mgException != NULL)
     {
@@ -300,7 +300,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // look for the tile in the tilecache first
-MgByteReader* MgdTileService::GetTile(MgdMap* map,
+MgByteReader* MgPortableTileService::GetTile(MgPortableMap* map,
                                      CREFSTRING baseMapLayerGroupName,
                                      INT32 tileColumn,
                                      INT32 tileRow)
@@ -329,7 +329,7 @@
 
     if (NULL == map || baseMapLayerGroupName.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdTileService.GetTile",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableTileService.GetTile",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -340,7 +340,7 @@
     // if we don't find a nearest scale then something is wrong with the map
     if (scaleIndex < 0)
     {
-        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgdTileService.GetTile",
+        throw new MgException(MgExceptionCodes::MgInvalidMapDefinitionException, L"MgPortableTileService.GetTile",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -372,7 +372,7 @@
                 MgStringCollection arguments;
                 arguments.Add(lockPathname);
 
-                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdTileService.GetTile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableTileService.GetTile",
                     __LINE__, __WFILE__, &arguments, L"MgUnableToLockTileFile", NULL);
             }
 
@@ -393,7 +393,7 @@
                 MgStringCollection arguments;
                 arguments.Add(lockPathname);
 
-                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdTileService.GetTile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableTileService.GetTile",
                     __LINE__, __WFILE__, &arguments, L"MgUnableToOpenLockFile", NULL);
             }
             else
@@ -410,7 +410,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdTileService::GetTile")
+    MG_CATCH(L"MgPortableTileService::GetTile")
 
     if (mgException != NULL)
     {
@@ -435,14 +435,14 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // render a tile and store it in the cache
-MgByteReader* MgdTileService::GetTile(CREFSTRING tilePathname, MgdMap* map, INT32 scaleIndex,
+MgByteReader* MgPortableTileService::GetTile(CREFSTRING tilePathname, MgPortableMap* map, INT32 scaleIndex,
     CREFSTRING baseMapLayerGroupName, INT32 tileColumn, INT32 tileRow)
 {
     Ptr<MgByteReader> img;
 
     // get a rendering service instance
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-    Ptr<MgdRenderingService> svcRendering = static_cast<MgdRenderingService*>(fact->CreateService(MgServiceType::RenderingService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+    Ptr<MgPortableRenderingService> svcRendering = static_cast<MgPortableRenderingService*>(fact->CreateService(MgServiceType::RenderingService));
     assert(NULL != svcRendering);
 
     if (svcRendering != NULL)
@@ -469,8 +469,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // take a tile image and store it in the tilecache using lockfiles
-void MgdTileService::SetTile(MgByteReader* img,
-                                  MgdMap* map,
+void MgPortableTileService::SetTile(MgByteReader* img,
+                                  MgPortableMap* map,
                                   INT32 scaleIndex,
                                   CREFSTRING baseMapLayerGroupName,
                                   INT32 tileColumn,
@@ -483,7 +483,7 @@
 
     if (NULL == img || NULL == map || baseMapLayerGroupName.empty())
     {
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdTileService.SetTile",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableTileService.SetTile",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -496,7 +496,7 @@
         arguments.Add(L"3");
         arguments.Add(buffer);
 
-        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgdTileService.GetTile",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgPortableTileService.GetTile",
             __LINE__, __WFILE__, &arguments, L"MgInvalidScaleIndex", NULL);
     }
 
@@ -522,7 +522,7 @@
             MgStringCollection arguments;
             arguments.Add(lockPathname);
 
-            throw new MgException(MgExceptionCodes::MgFileIoException, L"MgdTileService.SetTile",
+            throw new MgException(MgExceptionCodes::MgFileIoException, L"MgPortableTileService.SetTile",
                 __LINE__, __WFILE__, &arguments, L"MgUnableToOpenLockFile", NULL);
         }
         else
@@ -534,7 +534,7 @@
     // cache the tile
     m_tileCache->Set(img, tilePathname);
 
-    MG_CATCH(L"MgdTileService.SetTile")
+    MG_CATCH(L"MgPortableTileService.SetTile")
 
     if (NULL != lockFile)
     {
@@ -547,11 +547,11 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 // accessor method for resource service
-MgResourceService* MgdTileService::GetResourceServiceForMapDef(MgResourceIdentifier* mapDefinition,
+MgResourceService* MgPortableTileService::GetResourceServiceForMapDef(MgResourceIdentifier* mapDefinition,
                                                                     CREFSTRING funcName)
 {
     // Get the service from service manager
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
     Ptr<MgResourceService> resourceService = static_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     assert(NULL != resourceService);
     /*
@@ -570,7 +570,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdTileService::ClearCache(MgdMap* map)
+void MgPortableTileService::ClearCache(MgPortableMap* map)
 {
     MG_LOG_OPERATION_MESSAGE(L"ClearCache");
 
@@ -585,7 +585,7 @@
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
     if (NULL == map)
-        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgdTileService.ClearCache", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgPortableTileService.ClearCache", __LINE__, __WFILE__, NULL, L"", NULL);
 
     ClearMapCache(resourceId->ToString());
 
@@ -594,7 +594,7 @@
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdTileService::ClearCache")
+    MG_CATCH(L"MgPortableTileService::ClearCache")
 
     if (mgException != NULL)
     {
@@ -616,7 +616,7 @@
 /// Any tile cache associated with the specified Map Definition resources
 /// will be cleared.
 ///
-bool MgdTileService::NotifyResourcesChanged(MgSerializableCollection* resources, bool strict)
+bool MgPortableTileService::NotifyResourcesChanged(MgSerializableCollection* resources, bool strict)
 {
     bool success = true;
 
@@ -643,7 +643,7 @@
                     // clear any tile cache associated with this map
                     m_tileCache->Clear(resource);
 
-                    MG_CATCH(L"MgdTileService.NotifyResourcesChanged")
+                    MG_CATCH(L"MgPortableTileService.NotifyResourcesChanged")
 
                     if (NULL != mgException.p)
                     {
@@ -656,7 +656,7 @@
                         /*
                         else
                         {
-                            MgdLogManager* logManager = MgdLogManager::GetInstance();
+                            MgPortableLogManager* logManager = MgPortableLogManager::GetInstance();
                             ACE_ASSERT(NULL != logManager);
                             logManager->LogSystemErrorEntry(mgException.p);
                         }*/
@@ -671,7 +671,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdTileService::SetConnectionProperties(MgConnectionProperties*)
+void MgPortableTileService::SetConnectionProperties(MgConnectionProperties*)
 {
     // Do nothing.  No connection properties are required for Server-side service objects.
 }
@@ -678,7 +678,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-void MgdTileService::ClearMapCache(CREFSTRING mapDefinition)
+void MgPortableTileService::ClearMapCache(CREFSTRING mapDefinition)
 {
     ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sm_mutex));
     MapCache::iterator iter = sm_mapCache.end();
@@ -716,7 +716,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-INT32 MgdTileService::GetDefaultTileSizeX()
+INT32 MgPortableTileService::GetDefaultTileSizeX()
 {
     INT32 ret = 0;
     MG_LOG_OPERATION_MESSAGE(L"GetDefaultTileSizeX");
@@ -727,12 +727,12 @@
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
     
-    ret = MgdTileParameters::tileWidth;
+    ret = MgPortableTileParameters::tileWidth;
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdTileService::GetDefaultTileSizeX")
+    MG_CATCH(L"MgPortableTileService::GetDefaultTileSizeX")
 
     if (mgException != NULL)
     {
@@ -750,7 +750,7 @@
 
 
 ///////////////////////////////////////////////////////////////////////////////
-INT32 MgdTileService::GetDefaultTileSizeY()
+INT32 MgPortableTileService::GetDefaultTileSizeY()
 {
     INT32 ret = 0;
     MG_LOG_OPERATION_MESSAGE(L"GetDefaultTileSizeY");
@@ -761,12 +761,12 @@
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_START();
     MG_LOG_OPERATION_MESSAGE_PARAMETERS_END();
 
-    ret = MgdTileParameters::tileHeight;
+    ret = MgPortableTileParameters::tileHeight;
 
     // Successful operation
     MG_LOG_OPERATION_MESSAGE_ADD_STRING(MgResources::Success.c_str());
 
-    MG_CATCH(L"MgdTileService::GetDefaultTileSizeY")
+    MG_CATCH(L"MgPortableTileService::GetDefaultTileSizeY")
 
     if (mgException != NULL)
     {

Modified: trunk/MgDev/Portable/MgPortable/Services/TileService.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/TileService.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/TileService.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,18 +21,18 @@
 #include "Tile/TileCache.h"
 /// \ingroup Desktop_Service_Module
 /// \{
-class MG_DESKTOP_API MgdTileService : public MgService
+class MG_DESKTOP_API MgPortableTileService : public MgService
 {
-    DECLARE_CLASSNAME(MgdTileService)
+    DECLARE_CLASSNAME(MgPortableTileService)
 
 INTERNAL_API:
-    MgdTileService();
+    MgPortableTileService();
 
 EXTERNAL_API:
-    virtual ~MgdTileService();
+    virtual ~MgPortableTileService();
 
 PUBLISHED_API:
-    virtual MgByteReader* GetTile(MgdMap* map,
+    virtual MgByteReader* GetTile(MgPortableMap* map,
                                   CREFSTRING baseMapLayerGroupName,
                                   INT32 tileColumn,
                                   INT32 tileRow);
@@ -43,7 +43,7 @@
                                   INT32 tileRow,
                                   INT32 scaleIndex);
 
-    virtual void ClearCache(MgdMap* map);
+    virtual void ClearCache(MgPortableMap* map);
 
     virtual INT32 GetDefaultTileSizeX();
 
@@ -52,7 +52,7 @@
 INTERNAL_API:
 
     virtual void SetTile(MgByteReader* img,
-                         MgdMap* map,
+                         MgPortableMap* map,
                          INT32 scaleIndex,
                          CREFSTRING baseMapLayerGroupName,
                          INT32 tileColumn,
@@ -77,7 +77,7 @@
 
     bool DetectTileLockFile(CREFSTRING lockPathname);
 
-    MgByteReader* GetTile(CREFSTRING tilePathname, MgdMap* map, INT32 scaleIndex,
+    MgByteReader* GetTile(CREFSTRING tilePathname, MgPortableMap* map, INT32 scaleIndex,
         CREFSTRING baseMapLayerGroupName, INT32 tileColumn, INT32 tileRow);
 
     void ClearMapCache(CREFSTRING mapName);
@@ -85,7 +85,7 @@
     MgResourceService* GetResourceServiceForMapDef(MgResourceIdentifier* mapDefinition, CREFSTRING funcName);
 
     // member data
-    Ptr<MgdTileCache> m_tileCache;
+    Ptr<MgPortableTileCache> m_tileCache;
 
     typedef std::map<STRING, MgMemoryStreamHelper*> MapCache;
 

Modified: trunk/MgDev/Portable/MgPortable/Services/Transaction.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Transaction.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Transaction.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,10 +21,10 @@
 #include "Services/Feature/FeatureDefs.h"
 #include "Services/Feature/FeatureConnection.h"
 
-MgdTransaction::MgdTransaction(MgdFeatureConnection* conn, MgResourceIdentifier* resource)
+MgPortableTransaction::MgPortableTransaction(MgPortableFeatureConnection* conn, MgResourceIdentifier* resource)
 {
-    CHECKARGUMENTNULL(conn, L"MgdTransaction::ctor");
-    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgdTransaction::ctor");
+    CHECKARGUMENTNULL(conn, L"MgPortableTransaction::ctor");
+    CHECK_FEATURE_SOURCE_ARGUMENT(resource, L"MgPortableTransaction::ctor");
 
     m_conn = SAFE_ADDREF(conn);
     FdoPtr<FdoIConnection> fdoConn = m_conn->GetConnection();
@@ -32,7 +32,7 @@
     m_trans = fdoConn->BeginTransaction();
     m_resource = SAFE_ADDREF(resource);
 }
-MgdTransaction::~MgdTransaction()
+MgPortableTransaction::~MgPortableTransaction()
 {
     SAFE_RELEASE(m_conn);
     FDO_SAFE_RELEASE(m_trans);
@@ -39,65 +39,65 @@
     SAFE_RELEASE(m_resource);
 }
 
-FdoITransaction* MgdTransaction::GetFdoTransaction()
+FdoITransaction* MgPortableTransaction::GetFdoTransaction()
 {
     return FDO_SAFE_ADDREF(m_trans);
 }
 
-MgdFeatureConnection* MgdTransaction::GetConnection()
+MgPortableFeatureConnection* MgPortableTransaction::GetConnection()
 {
     return SAFE_ADDREF(m_conn);
 }
 
-void MgdTransaction::Serialize(MgStream* stream)
+void MgPortableTransaction::Serialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdTransaction::Serialize");
+    NOT_IMPLEMENTED(L"MgPortableTransaction::Serialize");
 }
 
-void MgdTransaction::Deserialize(MgStream* stream)
+void MgPortableTransaction::Deserialize(MgStream* stream)
 {
-    NOT_IMPLEMENTED(L"MgdTransaction::Deserialize");
+    NOT_IMPLEMENTED(L"MgPortableTransaction::Deserialize");
 }
 
-void MgdTransaction::Commit()
+void MgPortableTransaction::Commit()
 {
     MG_FEATURE_SERVICE_TRY()
     m_trans->Commit();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdTransaction::Commit")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableTransaction::Commit")
 }
 
-void MgdTransaction::Rollback()
+void MgPortableTransaction::Rollback()
 {
     MG_FEATURE_SERVICE_TRY()
     m_trans->Rollback();
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdTransaction::Rollback")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableTransaction::Rollback")
 }
 
-MgResourceIdentifier* MgdTransaction::GetFeatureSource()
+MgResourceIdentifier* MgPortableTransaction::GetFeatureSource()
 {
     return SAFE_ADDREF(m_resource);
 }
 
-STRING MgdTransaction::AddSavePoint(CREFSTRING suggestName)
+STRING MgPortableTransaction::AddSavePoint(CREFSTRING suggestName)
 {
     STRING ret;
     MG_FEATURE_SERVICE_TRY()
     FdoString* name = m_trans->AddSavePoint(suggestName.c_str());
     ret = STRING(name);
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdTransaction::Rollback")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableTransaction::Rollback")
     return ret;
 }
 
-void MgdTransaction::ReleaseSavePoint(CREFSTRING savePointName)
+void MgPortableTransaction::ReleaseSavePoint(CREFSTRING savePointName)
 {
     MG_FEATURE_SERVICE_TRY()
     m_trans->ReleaseSavePoint(savePointName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdTransaction::ReleaseSavePoint")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableTransaction::ReleaseSavePoint")
 }
 
-void MgdTransaction::Rollback(CREFSTRING savePointName)
+void MgPortableTransaction::Rollback(CREFSTRING savePointName)
 {
     MG_FEATURE_SERVICE_TRY()
     m_trans->Rollback(savePointName.c_str());
-    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgdTransaction::Rollback")
+    MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgPortableTransaction::Rollback")
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/Services/Transaction.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/Services/Transaction.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/Services/Transaction.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,20 +18,20 @@
 #ifndef DESKTOP_TRANSACTION_H
 #define DESKTOP_TRANSACTION_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
-class MgdFeatureConnection;
+class MgPortableFeatureConnection;
 class FdoITransaction;
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdTransaction : public MgTransaction
+class MG_DESKTOP_API MgPortableTransaction : public MgTransaction
 {
 INTERNAL_API:
-    MgdTransaction(MgdFeatureConnection* conn, MgResourceIdentifier* resource);
-    virtual ~MgdTransaction();
+    MgPortableTransaction(MgPortableFeatureConnection* conn, MgResourceIdentifier* resource);
+    virtual ~MgPortableTransaction();
 
     FdoITransaction* GetFdoTransaction();
-    MgdFeatureConnection* GetConnection();
+    MgPortableFeatureConnection* GetConnection();
     virtual void Serialize(MgStream* stream);
     virtual void Deserialize(MgStream* stream);
 
@@ -55,7 +55,7 @@
 private:
     MgResourceIdentifier* m_resource;
     FdoITransaction* m_trans;
-    MgdFeatureConnection* m_conn;
+    MgPortableFeatureConnection* m_conn;
 
 };
 /// \}

Modified: trunk/MgDev/Portable/MgPortable/System/ConfigProperties.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ConfigProperties.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ConfigProperties.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -121,8 +121,8 @@
 #define MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH             1024
 
 // Default configuration filenames
-const STRING MgdConfigProperties::DefaultConfigurationFilename                               = L"webconfig.ini";
-const STRING MgdConfigProperties::ServerConfigurationFilename                                = L"serverconfig.ini";
+const STRING MgPortableConfigProperties::DefaultConfigurationFilename                               = L"webconfig.ini";
+const STRING MgPortableConfigProperties::ServerConfigurationFilename                                = L"serverconfig.ini";
 
 // Configuration file section/property names and default values
 
@@ -129,285 +129,285 @@
 // ******************************************************************
 // General Properties
 // ******************************************************************
-const STRING MgdConfigProperties::GeneralPropertiesSection                                   = L"GeneralProperties";
-const STRING MgdConfigProperties::GeneralPropertyLocale                                      = L"Locale";
-const STRING MgdConfigProperties::DefaultGeneralPropertyLocale                               = L"";
-const STRING MgdConfigProperties::GeneralPropertyDefaultMessageLocale                        = L"DefaultMessageLocale";
-const STRING MgdConfigProperties::DefaultGeneralPropertyDefaultMessageLocale                 = L"en";      // ISO 639-1 name
-const STRING MgdConfigProperties::GeneralPropertyFdoPath                                     = L"FdoPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyFdoPath                              = L"FDO/";
-const STRING MgdConfigProperties::GeneralPropertyMentorDictionaryPath                        = L"MentorDictionaryPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyMentorDictionaryPath                 = L"";
-const STRING MgdConfigProperties::GeneralPropertyLinuxMemDebug                               = L"LinuxMemDebug";
-const bool   MgdConfigProperties::DefaultGeneralPropertyLinuxMemDebug                        = false;
-const STRING MgdConfigProperties::GeneralPropertyResourcesPath                               = L"ResourcesPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyResourcesPath                        = L"Resources/";
-const STRING MgdConfigProperties::GeneralPropertyTempPath                                    = L"TempPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyTempPath                             = L"Temp/";
-const STRING MgdConfigProperties::GeneralPropertyWfsDocumentPath                             = L"WfsDocumentPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyWfsDocumentPath                      = L"Wfs/";
-const STRING MgdConfigProperties::GeneralPropertyWmsDocumentPath                             = L"WmsDocumentPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyWmsDocumentPath                      = L"Wms/";
-const STRING MgdConfigProperties::GeneralPropertyRenderer                                    = L"Renderer";
-const STRING MgdConfigProperties::DefaultGeneralPropertyRenderer                             = L"GD";
-const STRING MgdConfigProperties::GeneralPropertyPreCacheMaps                                = L"PreCacheMaps";
-const STRING MgdConfigProperties::DefaultGeneralPropertyPreCacheMaps                         = L"";
-const STRING MgdConfigProperties::GeneralPropertyLogsDelimiter                               = L"LogsDelimiter";
-const STRING MgdConfigProperties::DefaultGeneralPropertyLogsDelimiter                        = L"\t";
-const STRING MgdConfigProperties::GeneralPropertyLogsDetail                                  = L"LogsDetail";
-const STRING MgdConfigProperties::DefaultGeneralPropertyLogsDetail                           = L"";
-const STRING MgdConfigProperties::GeneralPropertyLogsPath                                    = L"LogsPath";
-const STRING MgdConfigProperties::DefaultGeneralPropertyLogsPath                             = L"Logs/";
-const STRING MgdConfigProperties::GeneralPropertyMaxLogFileSize                              = L"MaxLogFileSize";
-const INT32  MgdConfigProperties::DefaultGeneralPropertyMaxLogFileSize                       = 1024;
-const STRING MgdConfigProperties::GeneralPropertyMaxLogFileSizeEnabled                       = L"MaxLogFileSizeEnabled";
-const bool   MgdConfigProperties::DefaultGeneralPropertyMaxLogFileSizeEnabled                = false;
+const STRING MgPortableConfigProperties::GeneralPropertiesSection                                   = L"GeneralProperties";
+const STRING MgPortableConfigProperties::GeneralPropertyLocale                                      = L"Locale";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyLocale                               = L"";
+const STRING MgPortableConfigProperties::GeneralPropertyDefaultMessageLocale                        = L"DefaultMessageLocale";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyDefaultMessageLocale                 = L"en";      // ISO 639-1 name
+const STRING MgPortableConfigProperties::GeneralPropertyFdoPath                                     = L"FdoPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyFdoPath                              = L"FDO/";
+const STRING MgPortableConfigProperties::GeneralPropertyMentorDictionaryPath                        = L"MentorDictionaryPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyMentorDictionaryPath                 = L"";
+const STRING MgPortableConfigProperties::GeneralPropertyLinuxMemDebug                               = L"LinuxMemDebug";
+const bool   MgPortableConfigProperties::DefaultGeneralPropertyLinuxMemDebug                        = false;
+const STRING MgPortableConfigProperties::GeneralPropertyResourcesPath                               = L"ResourcesPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyResourcesPath                        = L"Resources/";
+const STRING MgPortableConfigProperties::GeneralPropertyTempPath                                    = L"TempPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyTempPath                             = L"Temp/";
+const STRING MgPortableConfigProperties::GeneralPropertyWfsDocumentPath                             = L"WfsDocumentPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyWfsDocumentPath                      = L"Wfs/";
+const STRING MgPortableConfigProperties::GeneralPropertyWmsDocumentPath                             = L"WmsDocumentPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyWmsDocumentPath                      = L"Wms/";
+const STRING MgPortableConfigProperties::GeneralPropertyRenderer                                    = L"Renderer";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyRenderer                             = L"GD";
+const STRING MgPortableConfigProperties::GeneralPropertyPreCacheMaps                                = L"PreCacheMaps";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyPreCacheMaps                         = L"";
+const STRING MgPortableConfigProperties::GeneralPropertyLogsDelimiter                               = L"LogsDelimiter";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyLogsDelimiter                        = L"\t";
+const STRING MgPortableConfigProperties::GeneralPropertyLogsDetail                                  = L"LogsDetail";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyLogsDetail                           = L"";
+const STRING MgPortableConfigProperties::GeneralPropertyLogsPath                                    = L"LogsPath";
+const STRING MgPortableConfigProperties::DefaultGeneralPropertyLogsPath                             = L"Logs/";
+const STRING MgPortableConfigProperties::GeneralPropertyMaxLogFileSize                              = L"MaxLogFileSize";
+const INT32  MgPortableConfigProperties::DefaultGeneralPropertyMaxLogFileSize                       = 1024;
+const STRING MgPortableConfigProperties::GeneralPropertyMaxLogFileSizeEnabled                       = L"MaxLogFileSizeEnabled";
+const bool   MgPortableConfigProperties::DefaultGeneralPropertyMaxLogFileSizeEnabled                = false;
 
 // ******************************************************************
 // Drawing Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::DrawingServicePropertiesSection                            = L"DrawingServiceProperties";
+const STRING MgPortableConfigProperties::DrawingServicePropertiesSection                            = L"DrawingServiceProperties";
 
 // ******************************************************************
 // Feature Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::FeatureServicePropertiesSection                            = L"FeatureServiceProperties";
-const STRING MgdConfigProperties::FeatureServicePropertyCacheSize                            = L"CacheSize";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyCacheSize                     = 100;
-const STRING MgdConfigProperties::FeatureServicePropertyCacheTimeLimit                       = L"CacheTimeLimit";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyCacheTimeLimit                = 86400;
-const STRING MgdConfigProperties::FeatureServicePropertyCacheTimerInterval                   = L"CacheTimerInterval";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyCacheTimerInterval            = 3600;
-const STRING MgdConfigProperties::FeatureServicePropertyDataCacheSize                        = L"DataCacheSize";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataCacheSize                 = 100;
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled            = L"DataConnectionPoolEnabled";
-const bool   MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled     = false;
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders  = L"DataConnectionPoolExcludedProviders";
-const STRING MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders = L""; // This means all providers are cached
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSize               = L"DataConnectionPoolSize";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize        = 50;
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom         = L"DataConnectionPoolSizeCustom";
-const STRING MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom  = L"";
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionTimeout                = L"DataConnectionTimeout";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionTimeout         = 600;
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionTimerInterval          = L"DataConnectionTimerInterval";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionTimerInterval   = 60;
-const STRING MgdConfigProperties::FeatureServicePropertyJoinQueryBatchSize                   = L"JoinQueryBatchSize";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize            = 100;
-const STRING MgdConfigProperties::FeatureServicePropertyDataConnectionUseLimit               = L"DataConnectionUseLimit";
-const STRING MgdConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit        = L"";
-const STRING MgdConfigProperties::FeatureServicePropertyDataTransactionTimeout               = L"DataTransactionTimeout";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataTransactionTimeout        = 360;
-const STRING MgdConfigProperties::FeatureServicePropertyDataTransactionTimerInterval         = L"DataTransactionTimerInterval";
-const INT32  MgdConfigProperties::DefaultFeatureServicePropertyDataTransactionTimerInterval  = 60;
-const STRING MgdConfigProperties::FeatureServicePropertyFDOConnectionTimeoutCustom           = L"FDOConnectionTimeoutCustom";
-const STRING MgdConfigProperties::DefaultFeatureServicePropertyFDOConnectionTimeoutCustom    = L"OSGeo.WMS:120";
-const STRING MgdConfigProperties::FeatureServicePropertyUseFdoJoinOptimization               = L"UseFdoJoinOptimization";
-const bool   MgdConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization        = true;
+const STRING MgPortableConfigProperties::FeatureServicePropertiesSection                            = L"FeatureServiceProperties";
+const STRING MgPortableConfigProperties::FeatureServicePropertyCacheSize                            = L"CacheSize";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyCacheSize                     = 100;
+const STRING MgPortableConfigProperties::FeatureServicePropertyCacheTimeLimit                       = L"CacheTimeLimit";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyCacheTimeLimit                = 86400;
+const STRING MgPortableConfigProperties::FeatureServicePropertyCacheTimerInterval                   = L"CacheTimerInterval";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyCacheTimerInterval            = 3600;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataCacheSize                        = L"DataCacheSize";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataCacheSize                 = 100;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled            = L"DataConnectionPoolEnabled";
+const bool   MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolEnabled     = false;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders  = L"DataConnectionPoolExcludedProviders";
+const STRING MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolExcludedProviders = L""; // This means all providers are cached
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSize               = L"DataConnectionPoolSize";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSize        = 50;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom         = L"DataConnectionPoolSizeCustom";
+const STRING MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionPoolSizeCustom  = L"";
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionTimeout                = L"DataConnectionTimeout";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionTimeout         = 600;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionTimerInterval          = L"DataConnectionTimerInterval";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionTimerInterval   = 60;
+const STRING MgPortableConfigProperties::FeatureServicePropertyJoinQueryBatchSize                   = L"JoinQueryBatchSize";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize            = 100;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataConnectionUseLimit               = L"DataConnectionUseLimit";
+const STRING MgPortableConfigProperties::DefaultFeatureServicePropertyDataConnectionUseLimit        = L"";
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataTransactionTimeout               = L"DataTransactionTimeout";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataTransactionTimeout        = 360;
+const STRING MgPortableConfigProperties::FeatureServicePropertyDataTransactionTimerInterval         = L"DataTransactionTimerInterval";
+const INT32  MgPortableConfigProperties::DefaultFeatureServicePropertyDataTransactionTimerInterval  = 60;
+const STRING MgPortableConfigProperties::FeatureServicePropertyFDOConnectionTimeoutCustom           = L"FDOConnectionTimeoutCustom";
+const STRING MgPortableConfigProperties::DefaultFeatureServicePropertyFDOConnectionTimeoutCustom    = L"OSGeo.WMS:120";
+const STRING MgPortableConfigProperties::FeatureServicePropertyUseFdoJoinOptimization               = L"UseFdoJoinOptimization";
+const bool   MgPortableConfigProperties::DefaultFeatureServicePropertyUseFdoJoinOptimization        = true;
 
 // ******************************************************************
 // Mapping Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::MappingServicePropertiesSection                            = L"MappingServiceProperties";
-const STRING MgdConfigProperties::MappingServicePropertyLegendFont                           = L"LegendFont";
-const STRING MgdConfigProperties::DefaultMappingServicePropertyLegendFont                    = L"Arial";
+const STRING MgPortableConfigProperties::MappingServicePropertiesSection                            = L"MappingServiceProperties";
+const STRING MgPortableConfigProperties::MappingServicePropertyLegendFont                           = L"LegendFont";
+const STRING MgPortableConfigProperties::DefaultMappingServicePropertyLegendFont                    = L"Arial";
 
 // ******************************************************************
 // Rendering Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::RenderingServicePropertiesSection                          = L"RenderingServiceProperties";
-const STRING MgdConfigProperties::RenderingServicePropertyTileExtentOffset                   = L"TileExtentOffset";
-const double MgdConfigProperties::DefaultRenderingServicePropertyTileExtentOffset            = 0.35;
-const STRING MgdConfigProperties::RenderingServicePropertyRasterGridSize                     = L"RasterGridSize";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSize              = 100;
-const STRING MgdConfigProperties::RenderingServicePropertyMinRasterGridSize                  = L"MinRasterGridSize";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyMinRasterGridSize           = 10;
-const STRING MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio        = L"RasterGridSizeOverrideRatio";
-const double MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatio = 0.25;
-const STRING MgdConfigProperties::RenderingServicePropertyRasterGridSizeForPlot              = L"RasterGridSizeForPlot";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeForPlot       = 50;
-const STRING MgdConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot           = L"MinRasterGridSizeForPlot";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyMinRasterGridSizeForPlot    = 5;
-const STRING MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot = L"RasterGridSizeOverrideRatioForPlot";
-const double MgdConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatioForPlot = 0.10;
-const STRING MgdConfigProperties::RenderingServicePropertyRenderSelectionBatchSize           = L"RenderSelectionBatchSize";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyRenderSelectionBatchSize    = 50000;
-const STRING MgdConfigProperties::RenderingServicePropertyClampPoints                        = L"ClampPoints";
-const bool   MgdConfigProperties::DefaultRenderingServicePropertyClampPoints                 = false;
-const STRING MgdConfigProperties::RenderingServicePropertyGeneralizeData                     = L"GeneralizeData";
-const bool   MgdConfigProperties::DefaultRenderingServicePropertyGeneralizeData              = false;
-const STRING MgdConfigProperties::RenderingServicePropertyMaxRasterImageWidth                = L"MaxRasterImageWidth";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth         = 2048;
-const STRING MgdConfigProperties::RenderingServicePropertyMaxRasterImageHeight               = L"MaxRasterImageHeight";
-const INT32  MgdConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight        = 2048;
+const STRING MgPortableConfigProperties::RenderingServicePropertiesSection                          = L"RenderingServiceProperties";
+const STRING MgPortableConfigProperties::RenderingServicePropertyTileExtentOffset                   = L"TileExtentOffset";
+const double MgPortableConfigProperties::DefaultRenderingServicePropertyTileExtentOffset            = 0.35;
+const STRING MgPortableConfigProperties::RenderingServicePropertyRasterGridSize                     = L"RasterGridSize";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSize              = 100;
+const STRING MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSize                  = L"MinRasterGridSize";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyMinRasterGridSize           = 10;
+const STRING MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio        = L"RasterGridSizeOverrideRatio";
+const double MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatio = 0.25;
+const STRING MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeForPlot              = L"RasterGridSizeForPlot";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeForPlot       = 50;
+const STRING MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot           = L"MinRasterGridSizeForPlot";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyMinRasterGridSizeForPlot    = 5;
+const STRING MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot = L"RasterGridSizeOverrideRatioForPlot";
+const double MgPortableConfigProperties::DefaultRenderingServicePropertyRasterGridSizeOverrideRatioForPlot = 0.10;
+const STRING MgPortableConfigProperties::RenderingServicePropertyRenderSelectionBatchSize           = L"RenderSelectionBatchSize";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyRenderSelectionBatchSize    = 50000;
+const STRING MgPortableConfigProperties::RenderingServicePropertyClampPoints                        = L"ClampPoints";
+const bool   MgPortableConfigProperties::DefaultRenderingServicePropertyClampPoints                 = false;
+const STRING MgPortableConfigProperties::RenderingServicePropertyGeneralizeData                     = L"GeneralizeData";
+const bool   MgPortableConfigProperties::DefaultRenderingServicePropertyGeneralizeData              = false;
+const STRING MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageWidth                = L"MaxRasterImageWidth";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageWidth         = 2048;
+const STRING MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageHeight               = L"MaxRasterImageHeight";
+const INT32  MgPortableConfigProperties::DefaultRenderingServicePropertyMaxRasterImageHeight        = 2048;
 
 // ******************************************************************
 // Font Alias Mappings section
 // ******************************************************************
-const STRING MgdConfigProperties::FontAliasMappingSection                                    = L"FontAliases";
+const STRING MgPortableConfigProperties::FontAliasMappingSection                                    = L"FontAliases";
 
 // ******************************************************************
 // Unmanaged Data Mappings section
 // ******************************************************************
-const STRING MgdConfigProperties::UnmanagedDataMappingsSection                               = L"UnmanagedDataMappings";
+const STRING MgPortableConfigProperties::UnmanagedDataMappingsSection                               = L"UnmanagedDataMappings";
 
 // ******************************************************************
 // Resource Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::ResourceServicePropertiesSection                               = L"ResourceServiceProperties";
-const STRING MgdConfigProperties::ResourceServicePropertyLibraryRepositoryPath                   = L"LibraryRepositoryPath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertyLibraryRepositoryPath            = L"Repositories/Library/Content/";
-const STRING MgdConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath             = L"LibraryResourceDataFilePath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertyLibraryResourceDataFilePath      = L"Repositories/Library/DataFiles/";
-const STRING MgdConfigProperties::ResourceServicePropertyPackagesPath                            = L"PackagesPath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertyPackagesPath                     = L"Packages/";
-const STRING MgdConfigProperties::ResourceServicePropertyResourceDataFileTrashFolderName         = L"ResourceDataFileTrashFolderName";
-const STRING MgdConfigProperties::DefaultResourceServicePropertyResourceDataFileTrashFolderName  = L"Trash";
-const STRING MgdConfigProperties::ResourceServicePropertyResourceSchemaFilePath                  = L"ResourceSchemaFilePath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertyResourceSchemaFilePath           = L"Schema/";
-const STRING MgdConfigProperties::ResourceServicePropertySessionRepositoryPath                   = L"SessionRepositoryPath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertySessionRepositoryPath            = L"Repositories/Session/Content/";
-const STRING MgdConfigProperties::ResourceServicePropertySessionResourceDataFilePath             = L"SessionResourceDataFilePath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertySessionResourceDataFilePath      = L"Repositories/Session/DataFiles/";
-const STRING MgdConfigProperties::ResourceServicePropertySiteRepositoryPath                      = L"SiteRepositoryPath";
-const STRING MgdConfigProperties::DefaultResourceServicePropertySiteRepositoryPath               = L"Repositories/Site/";
-const STRING MgdConfigProperties::ResourceServicePropertyResourceValidationEnabled               = L"ResourceValidationEnabled"; // for internal use only
-const bool   MgdConfigProperties::DefaultResourceServicePropertyResourceValidationEnabled        = true;
-const STRING MgdConfigProperties::ResourceServicePropertyRetryAttempts                           = L"RetryAttempts";             // for internal use only
-const INT32  MgdConfigProperties::DefaultResourceServicePropertyRetryAttempts                    = 50;
-const STRING MgdConfigProperties::ResourceServicePropertyRetryInterval                           = L"RetryInterval";             // for internal use only
-const INT32  MgdConfigProperties::DefaultResourceServicePropertyRetryInterval                    = 25;
-const STRING MgdConfigProperties::ResourceServicePropertySessionRepositoriesConfig               = L"SessionRepositoriesConfig";
-const STRING MgdConfigProperties::DefaultResourceServicePropertySessionRepositoriesConfig        = L"FilePerSession";
-const STRING MgdConfigProperties::ResourceServicePropertySessionRepositoriesLimit                = L"SessionRepositoriesLimit";
-const INT32  MgdConfigProperties::DefaultResourceServicePropertySessionRepositoriesLimit         = 200;
+const STRING MgPortableConfigProperties::ResourceServicePropertiesSection                               = L"ResourceServiceProperties";
+const STRING MgPortableConfigProperties::ResourceServicePropertyLibraryRepositoryPath                   = L"LibraryRepositoryPath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertyLibraryRepositoryPath            = L"Repositories/Library/Content/";
+const STRING MgPortableConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath             = L"LibraryResourceDataFilePath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertyLibraryResourceDataFilePath      = L"Repositories/Library/DataFiles/";
+const STRING MgPortableConfigProperties::ResourceServicePropertyPackagesPath                            = L"PackagesPath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertyPackagesPath                     = L"Packages/";
+const STRING MgPortableConfigProperties::ResourceServicePropertyResourceDataFileTrashFolderName         = L"ResourceDataFileTrashFolderName";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertyResourceDataFileTrashFolderName  = L"Trash";
+const STRING MgPortableConfigProperties::ResourceServicePropertyResourceSchemaFilePath                  = L"ResourceSchemaFilePath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertyResourceSchemaFilePath           = L"Schema/";
+const STRING MgPortableConfigProperties::ResourceServicePropertySessionRepositoryPath                   = L"SessionRepositoryPath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertySessionRepositoryPath            = L"Repositories/Session/Content/";
+const STRING MgPortableConfigProperties::ResourceServicePropertySessionResourceDataFilePath             = L"SessionResourceDataFilePath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertySessionResourceDataFilePath      = L"Repositories/Session/DataFiles/";
+const STRING MgPortableConfigProperties::ResourceServicePropertySiteRepositoryPath                      = L"SiteRepositoryPath";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertySiteRepositoryPath               = L"Repositories/Site/";
+const STRING MgPortableConfigProperties::ResourceServicePropertyResourceValidationEnabled               = L"ResourceValidationEnabled"; // for internal use only
+const bool   MgPortableConfigProperties::DefaultResourceServicePropertyResourceValidationEnabled        = true;
+const STRING MgPortableConfigProperties::ResourceServicePropertyRetryAttempts                           = L"RetryAttempts";             // for internal use only
+const INT32  MgPortableConfigProperties::DefaultResourceServicePropertyRetryAttempts                    = 50;
+const STRING MgPortableConfigProperties::ResourceServicePropertyRetryInterval                           = L"RetryInterval";             // for internal use only
+const INT32  MgPortableConfigProperties::DefaultResourceServicePropertyRetryInterval                    = 25;
+const STRING MgPortableConfigProperties::ResourceServicePropertySessionRepositoriesConfig               = L"SessionRepositoriesConfig";
+const STRING MgPortableConfigProperties::DefaultResourceServicePropertySessionRepositoriesConfig        = L"FilePerSession";
+const STRING MgPortableConfigProperties::ResourceServicePropertySessionRepositoriesLimit                = L"SessionRepositoriesLimit";
+const INT32  MgPortableConfigProperties::DefaultResourceServicePropertySessionRepositoriesLimit         = 200;
 
 // ******************************************************************
 // Site Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::SiteServicePropertiesSection                               = L"SiteServiceProperties";
-const STRING MgdConfigProperties::SiteServicePropertySessionTimeout                          = L"SessionTimeout";
-const INT32  MgdConfigProperties::DefaultSiteServicePropertySessionTimeout                   = 1200;
-const STRING MgdConfigProperties::SiteServicePropertySessionTimerInterval                    = L"SessionTimerInterval";
-const INT32  MgdConfigProperties::DefaultSiteServicePropertySessionTimerInterval             = 400;
+const STRING MgPortableConfigProperties::SiteServicePropertiesSection                               = L"SiteServiceProperties";
+const STRING MgPortableConfigProperties::SiteServicePropertySessionTimeout                          = L"SessionTimeout";
+const INT32  MgPortableConfigProperties::DefaultSiteServicePropertySessionTimeout                   = 1200;
+const STRING MgPortableConfigProperties::SiteServicePropertySessionTimerInterval                    = L"SessionTimerInterval";
+const INT32  MgPortableConfigProperties::DefaultSiteServicePropertySessionTimerInterval             = 400;
 
 // ******************************************************************
 // Tile Service Properties
 // ******************************************************************
-const STRING MgdConfigProperties::TileServicePropertiesSection                               = L"TileServiceProperties";
-const STRING MgdConfigProperties::TileServicePropertyRenderOnly                              = L"RenderOnly";
-const bool   MgdConfigProperties::DefaultTileServicePropertyRenderOnly                       = false;
-const STRING MgdConfigProperties::TileServicePropertyTileCachePath                           = L"TileCachePath";
-const STRING MgdConfigProperties::DefaultTileServicePropertyTileCachePath                    = L"Repositories/TileCache/";
-const STRING MgdConfigProperties::TileServicePropertyTileColumnsPerFolder                    = L"TileColumnsPerFolder";
-const INT32 MgdConfigProperties::DefaultTileServicePropertyTileColumnsPerFolder              = 30;
-const STRING MgdConfigProperties::TileServicePropertyTileRowsPerFolder                       = L"TileRowsPerFolder";
-const INT32 MgdConfigProperties::DefaultTileServicePropertyTileRowsPerFolder                 = 30;
-const STRING MgdConfigProperties::TileServicePropertyCreationCutoffTime                      = L"CreationCutoffTime";// for internal use only
-const INT32  MgdConfigProperties::DefaultTileServicePropertyCreationCutoffTime               = 120;
-const STRING MgdConfigProperties::TileServicePropertyPollingInterval                         = L"PollingInterval";   // for internal use only
-const INT32  MgdConfigProperties::DefaultTileServicePropertyPollingInterval                  = 1;
-const STRING MgdConfigProperties::TileServicePropertyTiledMapCacheSize                       = L"TiledMapCacheSize"; // for internal use only
-const INT32  MgdConfigProperties::DefaultTileServicePropertyTiledMapCacheSize                = 10;
-const STRING MgdConfigProperties::TileServicePropertyTileSizeX                               = L"DefaultTileSizeX";
-const INT32 MgdConfigProperties::DefaultTileServicePropertyTileSizeX                         = 300;
-const STRING MgdConfigProperties::TileServicePropertyTileSizeY                               = L"DefaultTileSizeY";
-const INT32 MgdConfigProperties::DefaultTileServicePropertyTileSizeY                         = 300;
-const STRING MgdConfigProperties::TileServicePropertyImageFormat                             = L"ImageFormat";
-const STRING MgdConfigProperties::DefaultTileServicePropertyImageFormat                      = L"PNG";
+const STRING MgPortableConfigProperties::TileServicePropertiesSection                               = L"TileServiceProperties";
+const STRING MgPortableConfigProperties::TileServicePropertyRenderOnly                              = L"RenderOnly";
+const bool   MgPortableConfigProperties::DefaultTileServicePropertyRenderOnly                       = false;
+const STRING MgPortableConfigProperties::TileServicePropertyTileCachePath                           = L"TileCachePath";
+const STRING MgPortableConfigProperties::DefaultTileServicePropertyTileCachePath                    = L"Repositories/TileCache/";
+const STRING MgPortableConfigProperties::TileServicePropertyTileColumnsPerFolder                    = L"TileColumnsPerFolder";
+const INT32 MgPortableConfigProperties::DefaultTileServicePropertyTileColumnsPerFolder              = 30;
+const STRING MgPortableConfigProperties::TileServicePropertyTileRowsPerFolder                       = L"TileRowsPerFolder";
+const INT32 MgPortableConfigProperties::DefaultTileServicePropertyTileRowsPerFolder                 = 30;
+const STRING MgPortableConfigProperties::TileServicePropertyCreationCutoffTime                      = L"CreationCutoffTime";// for internal use only
+const INT32  MgPortableConfigProperties::DefaultTileServicePropertyCreationCutoffTime               = 120;
+const STRING MgPortableConfigProperties::TileServicePropertyPollingInterval                         = L"PollingInterval";   // for internal use only
+const INT32  MgPortableConfigProperties::DefaultTileServicePropertyPollingInterval                  = 1;
+const STRING MgPortableConfigProperties::TileServicePropertyTiledMapCacheSize                       = L"TiledMapCacheSize"; // for internal use only
+const INT32  MgPortableConfigProperties::DefaultTileServicePropertyTiledMapCacheSize                = 10;
+const STRING MgPortableConfigProperties::TileServicePropertyTileSizeX                               = L"DefaultTileSizeX";
+const INT32 MgPortableConfigProperties::DefaultTileServicePropertyTileSizeX                         = 300;
+const STRING MgPortableConfigProperties::TileServicePropertyTileSizeY                               = L"DefaultTileSizeY";
+const INT32 MgPortableConfigProperties::DefaultTileServicePropertyTileSizeY                         = 300;
+const STRING MgPortableConfigProperties::TileServicePropertyImageFormat                             = L"ImageFormat";
+const STRING MgPortableConfigProperties::DefaultTileServicePropertyImageFormat                      = L"PNG";
 
 // ******************************************************************
 // Access Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::AccessLogPropertiesSection                                 = L"AccessLogProperties";
-const STRING MgdConfigProperties::AccessLogPropertyEnabled                                   = L"Enabled";
-const bool   MgdConfigProperties::DefaultAccessLogPropertyEnabled                            = true;
-const STRING MgdConfigProperties::AccessLogPropertyFilename                                  = L"Filename";
-const STRING MgdConfigProperties::DefaultAccessLogPropertyFilename                           = L"Access.log";
-const STRING MgdConfigProperties::AccessLogPropertyParameters                                = L"Parameters";
-const STRING MgdConfigProperties::DefaultAccessLogPropertyParameters                         = L"";
+const STRING MgPortableConfigProperties::AccessLogPropertiesSection                                 = L"AccessLogProperties";
+const STRING MgPortableConfigProperties::AccessLogPropertyEnabled                                   = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultAccessLogPropertyEnabled                            = true;
+const STRING MgPortableConfigProperties::AccessLogPropertyFilename                                  = L"Filename";
+const STRING MgPortableConfigProperties::DefaultAccessLogPropertyFilename                           = L"Access.log";
+const STRING MgPortableConfigProperties::AccessLogPropertyParameters                                = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultAccessLogPropertyParameters                         = L"";
 
 // ******************************************************************
 // Admin Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::AdminLogPropertiesSection                                  = L"AdminLogProperties";
-const STRING MgdConfigProperties::AdminLogPropertyEnabled                                    = L"Enabled";
-const bool   MgdConfigProperties::DefaultAdminLogPropertyEnabled                             = true;
-const STRING MgdConfigProperties::AdminLogPropertyFilename                                   = L"Filename";
-const STRING MgdConfigProperties::DefaultAdminLogPropertyFilename                            = L"Admin.log";
-const STRING MgdConfigProperties::AdminLogPropertyParameters                                 = L"Parameters";
-const STRING MgdConfigProperties::DefaultAdminLogPropertyParameters                          = L"";
+const STRING MgPortableConfigProperties::AdminLogPropertiesSection                                  = L"AdminLogProperties";
+const STRING MgPortableConfigProperties::AdminLogPropertyEnabled                                    = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultAdminLogPropertyEnabled                             = true;
+const STRING MgPortableConfigProperties::AdminLogPropertyFilename                                   = L"Filename";
+const STRING MgPortableConfigProperties::DefaultAdminLogPropertyFilename                            = L"Admin.log";
+const STRING MgPortableConfigProperties::AdminLogPropertyParameters                                 = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultAdminLogPropertyParameters                          = L"";
 
 // ******************************************************************
 // Authentication Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::AuthenticationLogPropertiesSection                         = L"AuthenticationLogProperties";
-const STRING MgdConfigProperties::AuthenticationLogPropertyEnabled                           = L"Enabled";
-const bool   MgdConfigProperties::DefaultAuthenticationLogPropertyEnabled                    = true;
-const STRING MgdConfigProperties::AuthenticationLogPropertyFilename                          = L"Filename";
-const STRING MgdConfigProperties::DefaultAuthenticationLogPropertyFilename                   = L"Authentication.log";
-const STRING MgdConfigProperties::AuthenticationLogPropertyParameters                        = L"Parameters";
-const STRING MgdConfigProperties::DefaultAuthenticationLogPropertyParameters                 = L"";
+const STRING MgPortableConfigProperties::AuthenticationLogPropertiesSection                         = L"AuthenticationLogProperties";
+const STRING MgPortableConfigProperties::AuthenticationLogPropertyEnabled                           = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultAuthenticationLogPropertyEnabled                    = true;
+const STRING MgPortableConfigProperties::AuthenticationLogPropertyFilename                          = L"Filename";
+const STRING MgPortableConfigProperties::DefaultAuthenticationLogPropertyFilename                   = L"Authentication.log";
+const STRING MgPortableConfigProperties::AuthenticationLogPropertyParameters                        = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultAuthenticationLogPropertyParameters                 = L"";
 
 // ******************************************************************
 // Error Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::ErrorLogPropertiesSection                                  = L"ErrorLogProperties";
-const STRING MgdConfigProperties::ErrorLogPropertyEnabled                                    = L"Enabled";
-const bool   MgdConfigProperties::DefaultErrorLogPropertyEnabled                             = true;
-const STRING MgdConfigProperties::ErrorLogPropertyFilename                                   = L"Filename";
-const STRING MgdConfigProperties::DefaultErrorLogPropertyFilename                            = L"Error.log";
-const STRING MgdConfigProperties::ErrorLogPropertyParameters                                 = L"Parameters";
-const STRING MgdConfigProperties::DefaultErrorLogPropertyParameters                          = L"";
+const STRING MgPortableConfigProperties::ErrorLogPropertiesSection                                  = L"ErrorLogProperties";
+const STRING MgPortableConfigProperties::ErrorLogPropertyEnabled                                    = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultErrorLogPropertyEnabled                             = true;
+const STRING MgPortableConfigProperties::ErrorLogPropertyFilename                                   = L"Filename";
+const STRING MgPortableConfigProperties::DefaultErrorLogPropertyFilename                            = L"Error.log";
+const STRING MgPortableConfigProperties::ErrorLogPropertyParameters                                 = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultErrorLogPropertyParameters                          = L"";
 
 // ******************************************************************
 // Performance Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::PerformanceLogPropertiesSection                            = L"PerformanceLogProperties";
-const STRING MgdConfigProperties::PerformanceLogPropertyEnabled                              = L"Enabled";
-const bool   MgdConfigProperties::DefaultPerformanceLogPropertyEnabled                       = false;
-const STRING MgdConfigProperties::PerformanceLogPropertyFilename                             = L"Filename";
-const STRING MgdConfigProperties::DefaultPerformanceLogPropertyFilename                      = L"Performance.log";
-const STRING MgdConfigProperties::PerformanceLogPropertyParameters                           = L"Parameters";
-const STRING MgdConfigProperties::DefaultPerformanceLogPropertyParameters                    = L"";
-const STRING MgdConfigProperties::PerformanceLogPropertyInterval                             = L"Interval";
-const INT32  MgdConfigProperties::DefaultPerformanceLogPropertyInterval                      = 300;
+const STRING MgPortableConfigProperties::PerformanceLogPropertiesSection                            = L"PerformanceLogProperties";
+const STRING MgPortableConfigProperties::PerformanceLogPropertyEnabled                              = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultPerformanceLogPropertyEnabled                       = false;
+const STRING MgPortableConfigProperties::PerformanceLogPropertyFilename                             = L"Filename";
+const STRING MgPortableConfigProperties::DefaultPerformanceLogPropertyFilename                      = L"Performance.log";
+const STRING MgPortableConfigProperties::PerformanceLogPropertyParameters                           = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultPerformanceLogPropertyParameters                    = L"";
+const STRING MgPortableConfigProperties::PerformanceLogPropertyInterval                             = L"Interval";
+const INT32  MgPortableConfigProperties::DefaultPerformanceLogPropertyInterval                      = 300;
 
 // ******************************************************************
 // Session Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::SessionLogPropertiesSection                                = L"SessionLogProperties";
-const STRING MgdConfigProperties::SessionLogPropertyEnabled                                  = L"Enabled";
-const bool   MgdConfigProperties::DefaultSessionLogPropertyEnabled                           = false;
-const STRING MgdConfigProperties::SessionLogPropertyFilename                                 = L"Filename";
-const STRING MgdConfigProperties::DefaultSessionLogPropertyFilename                          = L"Session.log";
-const STRING MgdConfigProperties::SessionLogPropertyParameters                               = L"Parameters";
-const STRING MgdConfigProperties::DefaultSessionLogPropertyParameters                        = L"";
+const STRING MgPortableConfigProperties::SessionLogPropertiesSection                                = L"SessionLogProperties";
+const STRING MgPortableConfigProperties::SessionLogPropertyEnabled                                  = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultSessionLogPropertyEnabled                           = false;
+const STRING MgPortableConfigProperties::SessionLogPropertyFilename                                 = L"Filename";
+const STRING MgPortableConfigProperties::DefaultSessionLogPropertyFilename                          = L"Session.log";
+const STRING MgPortableConfigProperties::SessionLogPropertyParameters                               = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultSessionLogPropertyParameters                        = L"";
 
 // ******************************************************************
 // Trace Log Properties
 // ******************************************************************
-const STRING MgdConfigProperties::TraceLogPropertiesSection                                  = L"TraceLogProperties";
-const STRING MgdConfigProperties::TraceLogPropertyEnabled                                    = L"Enabled";
-const bool   MgdConfigProperties::DefaultTraceLogPropertyEnabled                             = false;
-const STRING MgdConfigProperties::TraceLogPropertyFilename                                   = L"Filename";
-const STRING MgdConfigProperties::DefaultTraceLogPropertyFilename                            = L"Trace.log";
-const STRING MgdConfigProperties::TraceLogPropertyParameters                                 = L"Parameters";
-const STRING MgdConfigProperties::DefaultTraceLogPropertyParameters                          = L"";
+const STRING MgPortableConfigProperties::TraceLogPropertiesSection                                  = L"TraceLogProperties";
+const STRING MgPortableConfigProperties::TraceLogPropertyEnabled                                    = L"Enabled";
+const bool   MgPortableConfigProperties::DefaultTraceLogPropertyEnabled                             = false;
+const STRING MgPortableConfigProperties::TraceLogPropertyFilename                                   = L"Filename";
+const STRING MgPortableConfigProperties::DefaultTraceLogPropertyFilename                            = L"Trace.log";
+const STRING MgPortableConfigProperties::TraceLogPropertyParameters                                 = L"Parameters";
+const STRING MgPortableConfigProperties::DefaultTraceLogPropertyParameters                          = L"";
 
 ///////////////////////////////////////////////////////////////////////////////
 /// Common Configuration Validation Information Maps
 ///
-const MgConfigValidationInfo MgdConfigProperties::sm_cviGeneralProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviGeneralProperties[] =
 {
-    { MgdConfigProperties::GeneralPropertyLocale                                     , MgPropertyType::String    , MG_CONFIG_MIN_OPTIONAL_STRING_LENGTH  , MG_CONFIG_MAX_OPTIONAL_STRING_LENGTH  , L""                                       },
-    { MgdConfigProperties::GeneralPropertyDefaultMessageLocale                       , MgPropertyType::String    , MG_CONFIG_MIN_LOCALE_LENGTH           , MG_CONFIG_MAX_LOCALE_LENGTH           , L""                                       },
-    { MgdConfigProperties::GeneralPropertyFdoPath                                    , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::GeneralPropertyLinuxMemDebug                              , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::GeneralPropertyResourcesPath                              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::GeneralPropertyTempPath                                   , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::GeneralPropertyWfsDocumentPath                            , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::GeneralPropertyWmsDocumentPath                            , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::GeneralPropertyLocale                                     , MgPropertyType::String    , MG_CONFIG_MIN_OPTIONAL_STRING_LENGTH  , MG_CONFIG_MAX_OPTIONAL_STRING_LENGTH  , L""                                       },
+    { MgPortableConfigProperties::GeneralPropertyDefaultMessageLocale                       , MgPropertyType::String    , MG_CONFIG_MIN_LOCALE_LENGTH           , MG_CONFIG_MAX_LOCALE_LENGTH           , L""                                       },
+    { MgPortableConfigProperties::GeneralPropertyFdoPath                                    , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::GeneralPropertyLinuxMemDebug                              , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::GeneralPropertyResourcesPath                              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::GeneralPropertyTempPath                                   , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::GeneralPropertyWfsDocumentPath                            , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::GeneralPropertyWmsDocumentPath                            , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
@@ -415,143 +415,143 @@
 /// Server Configuration Validation Information Maps
 ///
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviDrawingServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviDrawingServiceProperties[] =
 {
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                  , L""                                        }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviFeatureServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviFeatureServiceProperties[] =
 {
-    { MgdConfigProperties::FeatureServicePropertyCacheSize                           , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_SIZE           , MG_CONFIG_MAX_FS_CACHE_SIZE           , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyCacheTimeLimit                      , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_TIMELIMIT      , MG_CONFIG_MAX_FS_CACHE_TIMELIMIT      , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyCacheTimerInterval                  , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_TIMERINTERVAL  , MG_CONFIG_MAX_FS_CACHE_TIMERINTERVAL  , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataCacheSize                       , MgPropertyType::Int32     , MG_CONFIG_MIN_CACHE_SIZE              , MG_CONFIG_MAX_CACHE_SIZE              , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled           , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSize              , MgPropertyType::Int32     , MG_CONFIG_MIN_CONNECTION_POOL_SIZE    , MG_CONFIG_MAX_CONNECTION_POOL_SIZE    , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom        , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionTimeout               , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionTimerInterval         , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyJoinQueryBatchSize                  , MgPropertyType::Int32     , MG_CONFIG_MIN_JOIN_QUERY_BATCH_SIZE   , MG_CONFIG_MAX_JOIN_QUERY_BATCH_SIZE   , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataConnectionUseLimit              , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataTransactionTimeout              , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
-    { MgdConfigProperties::FeatureServicePropertyDataTransactionTimerInterval        , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyCacheSize                           , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_SIZE           , MG_CONFIG_MAX_FS_CACHE_SIZE           , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyCacheTimeLimit                      , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_TIMELIMIT      , MG_CONFIG_MAX_FS_CACHE_TIMELIMIT      , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyCacheTimerInterval                  , MgPropertyType::Int32     , MG_CONFIG_MIN_FS_CACHE_TIMERINTERVAL  , MG_CONFIG_MAX_FS_CACHE_TIMERINTERVAL  , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataCacheSize                       , MgPropertyType::Int32     , MG_CONFIG_MIN_CACHE_SIZE              , MG_CONFIG_MAX_CACHE_SIZE              , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolEnabled           , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolExcludedProviders , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSize              , MgPropertyType::Int32     , MG_CONFIG_MIN_CONNECTION_POOL_SIZE    , MG_CONFIG_MAX_CONNECTION_POOL_SIZE    , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionPoolSizeCustom        , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionTimeout               , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionTimerInterval         , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyJoinQueryBatchSize                  , MgPropertyType::Int32     , MG_CONFIG_MIN_JOIN_QUERY_BATCH_SIZE   , MG_CONFIG_MAX_JOIN_QUERY_BATCH_SIZE   , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataConnectionUseLimit              , MgPropertyType::String    , MG_CONFIG_MIN_FS_CP_EXCLUDED_LENGTH   , MG_CONFIG_MAX_FS_CP_EXCLUDED_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataTransactionTimeout              , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
+    { MgPortableConfigProperties::FeatureServicePropertyDataTransactionTimerInterval        , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviMappingServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviMappingServiceProperties[] =
 {
-    { MgdConfigProperties::MappingServicePropertyLegendFont                          , MgPropertyType::String    , MG_CONFIG_MIN_FONT_NAME_LENGTH        , MG_CONFIG_MAX_FONT_NAME_LENGTH        , L""                                       },
+    { MgPortableConfigProperties::MappingServicePropertyLegendFont                          , MgPropertyType::String    , MG_CONFIG_MIN_FONT_NAME_LENGTH        , MG_CONFIG_MAX_FONT_NAME_LENGTH        , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviRenderingServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviRenderingServiceProperties[] =
 {
-    { MgdConfigProperties::RenderingServicePropertyTileExtentOffset                  , MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyRasterGridSize                    , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyMinRasterGridSize                 , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio       , MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyRasterGridSizeForPlot             , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot          , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot, MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyRenderSelectionBatchSize          , MgPropertyType::Int32     , MG_CONFIG_MIN_RENDER_SELECTION_SIZE   , MG_CONFIG_MAX_RENDER_SELECTION_SIZE   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyMaxRasterImageWidth               , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
-    { MgdConfigProperties::RenderingServicePropertyMaxRasterImageHeight              , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyTileExtentOffset                  , MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyRasterGridSize                    , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSize                 , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatio       , MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeForPlot             , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyMinRasterGridSizeForPlot          , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyRasterGridSizeOverrideRatioForPlot, MgPropertyType::Double    , 0.0                                   , 1.0                                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyRenderSelectionBatchSize          , MgPropertyType::Int32     , MG_CONFIG_MIN_RENDER_SELECTION_SIZE   , MG_CONFIG_MAX_RENDER_SELECTION_SIZE   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageWidth               , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
+    { MgPortableConfigProperties::RenderingServicePropertyMaxRasterImageHeight              , MgPropertyType::Int32     , 1                                     , MG_CONFIG_MAX_INT32                   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviResourceServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviResourceServiceProperties[] =
 {
-    { MgdConfigProperties::ResourceServicePropertyLibraryRepositoryPath              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath        , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertyPackagesPath                       , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertyResourceDataFileTrashFolderName    , MgPropertyType::String    , MG_CONFIG_MIN_FOLDER_NAME_LENGTH      , MG_CONFIG_MAX_FOLDER_NAME_LENGTH      , MG_CONFIG_FOLDER_NAME_RESERVED_CHARACTERS },
-    { MgdConfigProperties::ResourceServicePropertyResourceSchemaFilePath             , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertySessionRepositoryPath              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertySessionResourceDataFilePath        , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertySiteRepositoryPath                 , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::ResourceServicePropertyResourceValidationEnabled          , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::ResourceServicePropertyRetryAttempts                      , MgPropertyType::Int32     , 0                                     , 1000                                  , L""                                       },
-    { MgdConfigProperties::ResourceServicePropertyRetryInterval                      , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
-    { MgdConfigProperties::ResourceServicePropertySessionRepositoriesLimit           , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
+    { MgPortableConfigProperties::ResourceServicePropertyLibraryRepositoryPath              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertyLibraryResourceDataFilePath        , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertyPackagesPath                       , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertyResourceDataFileTrashFolderName    , MgPropertyType::String    , MG_CONFIG_MIN_FOLDER_NAME_LENGTH      , MG_CONFIG_MAX_FOLDER_NAME_LENGTH      , MG_CONFIG_FOLDER_NAME_RESERVED_CHARACTERS },
+    { MgPortableConfigProperties::ResourceServicePropertyResourceSchemaFilePath             , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertySessionRepositoryPath              , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertySessionResourceDataFilePath        , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertySiteRepositoryPath                 , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::ResourceServicePropertyResourceValidationEnabled          , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::ResourceServicePropertyRetryAttempts                      , MgPropertyType::Int32     , 0                                     , 1000                                  , L""                                       },
+    { MgPortableConfigProperties::ResourceServicePropertyRetryInterval                      , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
+    { MgPortableConfigProperties::ResourceServicePropertySessionRepositoriesLimit           , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviSiteServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviSiteServiceProperties[] =
 {
-    { MgdConfigProperties::SiteServicePropertySessionTimeout                         , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
-    { MgdConfigProperties::SiteServicePropertySessionTimerInterval                   , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
+    { MgPortableConfigProperties::SiteServicePropertySessionTimeout                         , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMEOUT                 , MG_CONFIG_MAX_TIMEOUT                 , L""                                       },
+    { MgPortableConfigProperties::SiteServicePropertySessionTimerInterval                   , MgPropertyType::Int32     , MG_CONFIG_MIN_TIMER_INTERVAL          , MG_CONFIG_MAX_TIMER_INTERVAL          , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviTileServiceProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviTileServiceProperties[] =
 {
-    { MgdConfigProperties::TileServicePropertyRenderOnly                             , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::TileServicePropertyTileCachePath                          , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgdConfigProperties::TileServicePropertyTileColumnsPerFolder                   , MgPropertyType::Int32     , 1                                     , 1000                                  , L""                                       },
-    { MgdConfigProperties::TileServicePropertyTileRowsPerFolder                      , MgPropertyType::Int32     , 1                                     , 1000                                  , L""                                       },
-    { MgdConfigProperties::TileServicePropertyCreationCutoffTime                     , MgPropertyType::Int32     , 1                                     , 600                                   , L""                                       },
-    { MgdConfigProperties::TileServicePropertyPollingInterval                        , MgPropertyType::Int32     , 1                                     , 60                                    , L""                                       },
-    { MgdConfigProperties::TileServicePropertyTiledMapCacheSize                      , MgPropertyType::Int32     , MG_CONFIG_MIN_CACHE_SIZE              , MG_CONFIG_MAX_CACHE_SIZE              , L""                                       },
-    { MgdConfigProperties::TileServicePropertyTileSizeX                              , MgPropertyType::Int32     , 50                                    , 10000                                 , L""                                       },
-    { MgdConfigProperties::TileServicePropertyTileSizeY                              , MgPropertyType::Int32     , 50                                    , 10000                                 , L""                                       },
-    { MgdConfigProperties::TileServicePropertyImageFormat                            , MgPropertyType::String    , 2                                     , 4                                     , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyRenderOnly                             , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyTileCachePath                          , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
+    { MgPortableConfigProperties::TileServicePropertyTileColumnsPerFolder                   , MgPropertyType::Int32     , 1                                     , 1000                                  , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyTileRowsPerFolder                      , MgPropertyType::Int32     , 1                                     , 1000                                  , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyCreationCutoffTime                     , MgPropertyType::Int32     , 1                                     , 600                                   , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyPollingInterval                        , MgPropertyType::Int32     , 1                                     , 60                                    , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyTiledMapCacheSize                      , MgPropertyType::Int32     , MG_CONFIG_MIN_CACHE_SIZE              , MG_CONFIG_MAX_CACHE_SIZE              , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyTileSizeX                              , MgPropertyType::Int32     , 50                                    , 10000                                 , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyTileSizeY                              , MgPropertyType::Int32     , 50                                    , 10000                                 , L""                                       },
+    { MgPortableConfigProperties::TileServicePropertyImageFormat                            , MgPropertyType::String    , 2                                     , 4                                     , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviAccessLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviAccessLogProperties[] =
 {
-    { MgdConfigProperties::AccessLogPropertyEnabled                                  , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::AccessLogPropertyFilename                                 , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::AccessLogPropertyParameters                               , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::AccessLogPropertyEnabled                                  , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::AccessLogPropertyFilename                                 , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::AccessLogPropertyParameters                               , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviAdminLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviAdminLogProperties[] =
 {
-    { MgdConfigProperties::AdminLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::AdminLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::AdminLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::AdminLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::AdminLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::AdminLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviAuthenticationLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviAuthenticationLogProperties[] =
 {
-    { MgdConfigProperties::AuthenticationLogPropertyEnabled                          , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::AuthenticationLogPropertyFilename                         , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::AuthenticationLogPropertyParameters                       , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::AuthenticationLogPropertyEnabled                          , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::AuthenticationLogPropertyFilename                         , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::AuthenticationLogPropertyParameters                       , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviErrorLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviErrorLogProperties[] =
 {
-    { MgdConfigProperties::ErrorLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::ErrorLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::ErrorLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::ErrorLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::ErrorLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::ErrorLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviPerformanceLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviPerformanceLogProperties[] =
 {
-    { MgdConfigProperties::PerformanceLogPropertyEnabled                             , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::PerformanceLogPropertyFilename                            , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::PerformanceLogPropertyParameters                          , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
-    { MgdConfigProperties::PerformanceLogPropertyInterval                            , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
+    { MgPortableConfigProperties::PerformanceLogPropertyEnabled                             , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::PerformanceLogPropertyFilename                            , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::PerformanceLogPropertyParameters                          , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::PerformanceLogPropertyInterval                            , MgPropertyType::Int32     , 0                                     , 60000                                 , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviSessionLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviSessionLogProperties[] =
 {
-    { MgdConfigProperties::SessionLogPropertyEnabled                                 , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::SessionLogPropertyFilename                                , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::SessionLogPropertyParameters                              , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::SessionLogPropertyEnabled                                 , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::SessionLogPropertyFilename                                , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::SessionLogPropertyParameters                              , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
 
-const MgConfigValidationInfo MgdConfigProperties::sm_cviTraceLogProperties[] =
+const MgConfigValidationInfo MgPortableConfigProperties::sm_cviTraceLogProperties[] =
 {
-    { MgdConfigProperties::TraceLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
-    { MgdConfigProperties::TraceLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
-    { MgdConfigProperties::TraceLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
+    { MgPortableConfigProperties::TraceLogPropertyEnabled                                   , MgPropertyType::Boolean   , 0                                     , 1                                     , L""                                       },
+    { MgPortableConfigProperties::TraceLogPropertyFilename                                  , MgPropertyType::String    , MG_CONFIG_MIN_FILE_NAME_LENGTH        , MG_CONFIG_MAX_FILE_NAME_LENGTH        , MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS   },
+    { MgPortableConfigProperties::TraceLogPropertyParameters                                , MgPropertyType::String    , MG_CONFIG_MIN_LOG_PARAMETERS_LENGTH   , MG_CONFIG_MAX_LOG_PARAMETERS_LENGTH   , L""                                       },
     { L""                                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
 };
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/System/ConfigProperties.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ConfigProperties.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ConfigProperties.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_CONFIG_PROPERTIES_H
 #define DESKTOP_CONFIG_PROPERTIES_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 //TODO: Remove un-used config properties
 
@@ -29,9 +29,9 @@
 /// organized into Property Sections.  These sections may be used in the API to
 /// set/get groups of configuration properties.
 /// INTERNAL_ONLY:
-class MG_DESKTOP_API MgdConfigProperties
+class MG_DESKTOP_API MgPortableConfigProperties
 {
-    DECLARE_CLASSNAME(MgdConfigProperties)
+    DECLARE_CLASSNAME(MgPortableConfigProperties)
 
 EXTERNAL_API:
 

Modified: trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ExceptionCodes.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,4 +17,4 @@
 
 #include "ExceptionCodes.h"
 
-const STRING MgdExceptionCodes::MgAliasNotFoundException = L"MgAliasNotFoundException";
+const STRING MgPortableExceptionCodes::MgAliasNotFoundException = L"MgAliasNotFoundException";

Modified: trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ExceptionCodes.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ExceptionCodes.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef DESKTOP_EXCEPTION_CODES_H
 #define DESKTOP_EXCEPTION_CODES_H
 
-class MG_DESKTOP_API MgdExceptionCodes
+class MG_DESKTOP_API MgPortableExceptionCodes
 {
 PUBLISHED_API:
     static const STRING MgAliasNotFoundException;    ///\if INTERNAL value("MgAliasNotFoundException") \endif

Modified: trunk/MgDev/Portable/MgPortable/System/Mutex.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/Mutex.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/Mutex.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -26,11 +26,11 @@
 #endif
 
 // Critical Section Class
-class MgdMutex
+class MgPortableMutex
 {
 public:
 
-    MgdMutex()
+    MgPortableMutex()
     {
         m_bInitialized = false;
         Initialize();
@@ -38,7 +38,7 @@
 
 #ifdef _WIN32
 
-    ~MgdMutex()
+    ~MgPortableMutex()
     {
         ::DeleteCriticalSection(&m_CritSect);
     }
@@ -67,7 +67,7 @@
 
 #else //LINUX
 
-    ~MgdMutex()
+    ~MgPortableMutex()
     {
         pthread_mutex_destroy(&m_CritSect);
     }
@@ -108,7 +108,7 @@
 class ScopedLock
 {
 public:
-    ScopedLock(MgdMutex& MgdMutex):m_mutex(MgdMutex)
+    ScopedLock(MgPortableMutex& MgPortableMutex):m_mutex(MgPortableMutex)
     {
         m_mutex.Enter();
     }
@@ -118,7 +118,7 @@
     }
 private:
     ScopedLock();
-    MgdMutex& m_mutex;
+    MgPortableMutex& m_mutex;
 };
 
 #endif
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/System/PlatformInit.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/PlatformInit.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/PlatformInit.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,17 +15,17 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Log/LogManager.h"
 #include "Fdo.h"
 #include "Services/Rendering/MappingUtil.h"
 #include "Services/Feature/FdoConnectionPool.h"
 
-bool MgdPlatform::sm_init = false;
+bool MgPortablePlatform::sm_init = false;
 
-bool MgdPlatform::IsInitialized() { return sm_init; }
+bool MgPortablePlatform::IsInitialized() { return sm_init; }
 
-void MgdPlatform::Initialize(CREFSTRING configFile)
+void MgPortablePlatform::Initialize(CREFSTRING configFile)
 {
     if (sm_init)
         return;
@@ -38,23 +38,23 @@
 
     // Get the resources path.
     STRING resourcesPath;
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, 
-                                   MgdConfigProperties::GeneralPropertyResourcesPath, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, 
+                                   MgPortableConfigProperties::GeneralPropertyResourcesPath, 
                                    resourcesPath, 
-                                   MgdConfigProperties::DefaultGeneralPropertyResourcesPath);
+                                   MgPortableConfigProperties::DefaultGeneralPropertyResourcesPath);
 
     // Get the default message locale.
     STRING defaultMessageLocale;
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyDefaultMessageLocale, defaultMessageLocale, MgdConfigProperties::DefaultGeneralPropertyDefaultMessageLocale);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyDefaultMessageLocale, defaultMessageLocale, MgPortableConfigProperties::DefaultGeneralPropertyDefaultMessageLocale);
 
     // Init log manager
-    MgdLogManager* pLogManager = MgdLogManager::GetInstance();
+    MgPortableLogManager* pLogManager = MgPortableLogManager::GetInstance();
     pLogManager->Initialize();
 
-    MgdServiceFactory::Initialize();
+    MgPortableServiceFactory::Initialize();
 
     // Init the Fdo Connection Pool
-    MgdFdoConnectionPool::Initialize(pConfiguration);
+    MgPortableFdoConnectionPool::Initialize(pConfiguration);
 
     // Init resources
     MgResources* pResources = MgResources::GetInstance();
@@ -63,10 +63,10 @@
 
     // Init FDO
     STRING fdoPath;
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, 
-                                   MgdConfigProperties::GeneralPropertyFdoPath, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, 
+                                   MgPortableConfigProperties::GeneralPropertyFdoPath, 
                                    fdoPath, 
-                                   MgdConfigProperties::DefaultGeneralPropertyFdoPath);
+                                   MgPortableConfigProperties::DefaultGeneralPropertyFdoPath);
 
     // Check if path ends with a '/' if not, add one if needed
     MgFileUtil::AppendSlashToEndOfPath(fdoPath);
@@ -73,10 +73,10 @@
 
     // Inject MENTOR_DICTIONARY_PATH
     STRING mentorDictPath;
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, 
-                                   MgdConfigProperties::GeneralPropertyMentorDictionaryPath, 
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, 
+                                   MgPortableConfigProperties::GeneralPropertyMentorDictionaryPath, 
                                    mentorDictPath, 
-                                   MgdConfigProperties::DefaultGeneralPropertyMentorDictionaryPath);
+                                   MgPortableConfigProperties::DefaultGeneralPropertyMentorDictionaryPath);
 
     #ifdef WIN32
     HMODULE hlib = NULL;
@@ -163,8 +163,8 @@
 
     if (NULL == hlib)
     {
-        ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgdPlatform::Initialize() - Failed to load FDO library.\n")));
-        throw new MgException(MgExceptionCodes::MgFdoException, L"MgdPlatform::Initialize",
+        ACE_DEBUG ((LM_DEBUG, ACE_TEXT("(%t) MgPortablePlatform::Initialize() - Failed to load FDO library.\n")));
+        throw new MgException(MgExceptionCodes::MgFdoException, L"MgPortablePlatform::Initialize",
              __LINE__, __WFILE__, NULL, L"MgFailedToLoadFdoLibrary", NULL);
     }
 
@@ -172,11 +172,11 @@
     FdoIDisposable::EnableGlobalThreadLocking(true);
 
     // Initialize Stylizer callback mechanism for non-fatal FDO exceptions
-    MgdMappingUtil::InitializeStylizerCallback();
+    MgPortableMappingUtil::InitializeStylizerCallback();
 
     // Precache the specified maps, which will prime any related caches
     STRING preCacheMaps;
-    pConfiguration->GetStringValue(MgdConfigProperties::GeneralPropertiesSection, MgdConfigProperties::GeneralPropertyPreCacheMaps, preCacheMaps, MgdConfigProperties::DefaultGeneralPropertyPreCacheMaps);
+    pConfiguration->GetStringValue(MgPortableConfigProperties::GeneralPropertiesSection, MgPortableConfigProperties::GeneralPropertyPreCacheMaps, preCacheMaps, MgPortableConfigProperties::DefaultGeneralPropertyPreCacheMaps);
 
     // Check if there is actually anything to precache
     if (!preCacheMaps.empty())
@@ -195,7 +195,7 @@
                     STRING mapRes = preCacheMapsCollection->GetItem(i);
                     ACE_DEBUG((LM_INFO, ACE_TEXT("  %W  "), mapRes.c_str()));
                     Ptr<MgResourceIdentifier> mapResId = new MgResourceIdentifier(mapRes);
-                    Ptr<MgdMap> map = new MgdMap(mapResId, L"PreCacheMap");
+                    Ptr<MgPortableMap> map = new MgPortableMap(mapResId, L"PreCacheMap");
                     ACE_DEBUG((LM_INFO, ACE_TEXT("<%W>\n"), MgResources::Success.c_str()));
                 }
                 catch(MgException* e)
@@ -211,24 +211,24 @@
         }
     }
 
-    MG_LOG_TRACE_ENTRY(L"MgdPlatform::Initialize()");
+    MG_LOG_TRACE_ENTRY(L"MgPortablePlatform::Initialize()");
 
     sm_init = true;
 }
 
-void MgdPlatform::Terminate()
+void MgPortablePlatform::Terminate()
 {
-    MG_LOG_TRACE_ENTRY(L"MgdPlatform::Terminate()");
+    MG_LOG_TRACE_ENTRY(L"MgPortablePlatform::Terminate()");
     MG_TRY()
 
-    MgdFdoConnectionPool::Cleanup();
+    MgPortableFdoConnectionPool::Cleanup();
 
     //This is important. Otherwise the process using this library will be left lingering
-    MgdLogManager* pLogManager = MgdLogManager::GetInstance();
+    MgPortableLogManager* pLogManager = MgPortableLogManager::GetInstance();
     pLogManager->StopLogThread();
 
-    Ptr<MgdServiceFactory> fact = new MgdServiceFactory();;
-    Ptr<MgdResourceService> resSvc = dynamic_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+    Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();;
+    Ptr<MgPortableResourceService> resSvc = dynamic_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
     resSvc->DeleteSessionFiles();
 
     XMLPlatformUtils::Terminate();
@@ -242,7 +242,7 @@
 static bool initStatic = InitializeStaticPlatformData();
 
 #define EXCEPTION_CLASS_CREATOR(className) \
-    fact->Register(MapGuide_Desktop_Exception_##className, Mgd##className::CreateObject);
+    fact->Register(MapGuide_Desktop_Exception_##className, MgPortable##className::CreateObject);
 
 bool InitializeStaticPlatformData()
 {
@@ -249,9 +249,9 @@
     MgClassFactory* fact = MgClassFactory::GetInstance();
 
     //put in the map any class that can be serialized
-    fact->Register(MapGuide_Desktop_MapLayer_Map, MgdMap::CreateObject);
-    fact->Register(MapGuide_Desktop_MapLayer_Layer, MgdLayer::CreateObject);
-    fact->Register(MapGuide_Desktop_MapLayer_Selection, MgdSelection::CreateObject);
+    fact->Register(MapGuide_Desktop_MapLayer_Map, MgPortableMap::CreateObject);
+    fact->Register(MapGuide_Desktop_MapLayer_Layer, MgPortableLayer::CreateObject);
+    fact->Register(MapGuide_Desktop_MapLayer_Selection, MgPortableSelection::CreateObject);
 
     return true;
 }
\ No newline at end of file

Modified: trunk/MgDev/Portable/MgPortable/System/PlatformInit.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/PlatformInit.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/PlatformInit.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,7 +25,7 @@
 /// A static utility class that provides the means for initializing and tearing down
 /// the MapGuide Platform. You must initialize the platform before you can use any
 /// service classes or the Coordinate System API.
-class MG_DESKTOP_API MgdPlatform
+class MG_DESKTOP_API MgPortablePlatform
 {
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////////
@@ -32,7 +32,7 @@
     ///\brief
     /// Gets whether the the MapGuide Desktop Platform has been initialized. You
     /// cannot use most MapGuide service classes until the platform has been
-    /// initialized. Call MgdPlatform::Initialize(CREFSTRING) to initialize the
+    /// initialized. Call MgPortablePlatform::Initialize(CREFSTRING) to initialize the
     /// platform.
     ///
     ///\return

Modified: trunk/MgDev/Portable/MgPortable/System/ThreadBase.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ThreadBase.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ThreadBase.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -21,7 +21,7 @@
 /// <summary>
 /// Constructor
 /// </summary>
-MgdThreadBase::MgdThreadBase (ACE_Thread_Manager &tm, INT32 nThreads) :
+MgPortableThreadBase::MgPortableThreadBase (ACE_Thread_Manager &tm, INT32 nThreads) :
     ACE_Task<ACE_MT_SYNCH> (&tm)
 {
     if(nThreads <= 0)
@@ -36,13 +36,13 @@
 /// <summary>
 /// Initialization. This activates the thread(s).
 /// </summary>
-INT32 MgdThreadBase::Activate()
+INT32 MgPortableThreadBase::Activate()
 {
     INT32 nResult = 0;
 
     if (activate(THR_DETACHED | THR_NEW_LWP, m_nThreads) == -1)
     {
-        ACE_ERROR ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("MgdThreadBase::activate")));
+        ACE_ERROR ((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("MgPortableThreadBase::activate")));
         nResult = -1;
     }
 

Modified: trunk/MgDev/Portable/MgPortable/System/ThreadBase.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/ThreadBase.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/ThreadBase.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,18 +15,18 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#ifndef MgdThreadBase_H
-#define MgdThreadBase_H
+#ifndef MgPortableThreadBase_H
+#define MgPortableThreadBase_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Foundation.h"
 
-class MG_DESKTOP_API MgdThreadBase : public ACE_Task<ACE_MT_SYNCH>
+class MG_DESKTOP_API MgPortableThreadBase : public ACE_Task<ACE_MT_SYNCH>
 {
     ///////////////////////////////////////////////////////
     /// Methods
 public:
-    MgdThreadBase (ACE_Thread_Manager &tm, INT32 nThreads);
+    MgPortableThreadBase (ACE_Thread_Manager &tm, INT32 nThreads);
 
     // ACE_Task methods
     virtual int svc() = 0;

Modified: trunk/MgDev/Portable/MgPortable/System/TimerUtil.cpp
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/TimerUtil.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/TimerUtil.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,14 +16,14 @@
 //
 
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TimerUtil.h"
 
 #ifdef WIN32
-LARGE_INTEGER MgdTimerUtil::frequency = {0};
-LARGE_INTEGER MgdTimerUtil::count = {0};
+LARGE_INTEGER MgPortableTimerUtil::frequency = {0};
+LARGE_INTEGER MgPortableTimerUtil::count = {0};
 #else
-timeval MgdTimerUtil::count = {0};
+timeval MgPortableTimerUtil::count = {0};
 #endif
 
 ///----------------------------------------------------------------------------
@@ -32,7 +32,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdTimerUtil::MgdTimerUtil()
+MgPortableTimerUtil::MgPortableTimerUtil()
 {
 }
 
@@ -42,7 +42,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-MgdTimerUtil::~MgdTimerUtil()
+MgPortableTimerUtil::~MgPortableTimerUtil()
 {
 }
 
@@ -52,7 +52,7 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-double MgdTimerUtil::GetTime()
+double MgPortableTimerUtil::GetTime()
 {
 #ifdef WIN32
     if(0 == frequency.QuadPart)
@@ -75,9 +75,9 @@
 /// </summary>
 ///----------------------------------------------------------------------------
 
-void MgdTimerUtil::GetFrequency(LARGE_INTEGER* pFrequency)
+void MgPortableTimerUtil::GetFrequency(LARGE_INTEGER* pFrequency)
 {
     if(!QueryPerformanceFrequency(pFrequency))
-        throw new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgdTimerUtil.GetFrequency", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgUnclassifiedException, L"MgPortableTimerUtil.GetFrequency", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 #endif

Modified: trunk/MgDev/Portable/MgPortable/System/TimerUtil.h
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/System/TimerUtil.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/System/TimerUtil.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -25,9 +25,9 @@
 #endif
 
 /// \cond INTERNAL
-class MG_DESKTOP_API MgdTimerUtil
+class MG_DESKTOP_API MgPortableTimerUtil
 {
-    DECLARE_CLASSNAME(MgdTimerUtil)
+    DECLARE_CLASSNAME(MgPortableTimerUtil)
 
 INTERNAL_API:
 
@@ -37,7 +37,7 @@
     ///
     ///
 
-    MgdTimerUtil();
+    MgPortableTimerUtil();
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -45,7 +45,7 @@
     ///
     ///
 
-    virtual ~MgdTimerUtil();
+    virtual ~MgPortableTimerUtil();
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
@@ -62,8 +62,8 @@
 
     /// Unimplemented Methods
 
-    MgdTimerUtil(const MgdTimerUtil& util);
-    MgdTimerUtil& operator=(const MgdTimerUtil& util);
+    MgPortableTimerUtil(const MgPortableTimerUtil& util);
+    MgPortableTimerUtil& operator=(const MgPortableTimerUtil& util);
 
     /// Helper Methods
 

Modified: trunk/MgDev/Portable/MgPortable/changelog.txt
===================================================================
--- trunk/MgDev/Desktop/MgDesktop/changelog.txt	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/MgPortable/changelog.txt	2022-10-10 10:10:45 UTC (rev 9974)
@@ -1,3 +1,12 @@
+4.0.0 (WIP)
+===========
+
+mg-desktop is now known as mg-portable (MapGuide Portable)
+
+ - OSGeo.MapGuide.Desktop renamed to OSGeo.MapGuide.Portable
+ - All classes starting with "Mgd" have been renamed to start with "MgPortable"
+ - For any other classes, other references to "Desktop" in class names have been replaced with "Portable"
+
 3.1.1.9378 (3 Apr 2018)
 =======================
 
@@ -230,7 +239,7 @@
    - MgQuitComponent for exiting the application.
  - MgLoadPackageComponent now accepts a MgLoadMapComponent that will be invoked when the package has been loaded
  - Allow deferred map loading (initialize viewer with MgMapViewerProvider, load the map later on)
- - Simplified constructor for MgDesktopMapViewerProvider
+ - Simplified constructor for MgPortableMapViewerProvider
  - MgComponent subclasses can indicate whether they can operate without a loaded map.
  - IMapViewer.ViewerInitialized event changed to IMapViewer.MapLoaded
 
@@ -280,7 +289,7 @@
  - OSGeo.MapGuide.Desktop.dll is no longer monolithic. It is modular, and now references the existing .net platform assemblies (OSGeo.MapGuide.Foundation.dll, OSGeo.MapGuide.Geometry.dll and OSGeo.MapGuide.PlatformBase.dll). Thus these assemblies also need to be referenced in addition to OSGeo.MapGuide.Desktop.dll
 
 Viewer Changelog:
- - Viewer now operates against MgPlatformBase. Instead of initializing the viewer with a MgdMap, you now initialize it with a MgMapViewerProvider (which currently has one implementation: MgDesktopMapViewerProvider). This is to allow for other MgPlatformBase derived libraries to work with the viewer in the future (eg. The official MapGuide API)
+ - Viewer now operates against MgPlatformBase. Instead of initializing the viewer with a MgdMap, you now initialize it with a MgMapViewerProvider (which currently has one implementation: MgPortableMapViewerProvider). This is to allow for other MgPlatformBase derived libraries to work with the viewer in the future (eg. The official MapGuide API)
  - Fix exceptions when querying for tooltips over visible layers that are initially not visible.
 
 NOTE: All OSGeo.MapGuide.* assemblies used by mg-desktop are signed. Take note of this when building libraries on top of these assemblies.

Copied: trunk/MgDev/Portable/Portable.sln (from rev 9814, sandbox/jng/vanilla_swig/Portable/Portable.sln)
===================================================================
--- trunk/MgDev/Portable/Portable.sln	                        (rev 0)
+++ trunk/MgDev/Portable/Portable.sln	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,178 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30717.126
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Foundation", "..\Common\Foundation\Foundation.vcxproj", "{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Geometry", "..\Common\Geometry\Geometry.vcxproj", "{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PlatformBase", "..\Common\PlatformBase\PlatformBase.vcxproj", "{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfModel", "..\Common\MdfModel\MdfModel.vcxproj", "{C50254F2-654A-48DE-AF5B-20605AEF8D10}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MdfParser", "..\Common\MdfParser\MdfParser.vcxproj", "{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Renderers", "..\Common\Renderers\Renderers.vcxproj", "{38161685-88ED-415E-A545-CCC17BE069AE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Stylization", "..\Common\Stylization\Stylization.vcxproj", "{341D5463-186E-49BA-B942-3D3BE28D65C0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsCommon", "..\Server\src\Gws\GwsCommon\GwsCommon.vcxproj", "{DB2CC2E3-4754-4932-B865-424A44E58FD0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsQueryEngine", "..\Server\src\Gws\GwsQueryEngine\GwsQueryEngine.vcxproj", "{8D947123-A12C-45DA-BD00-8B62DD5A0459}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsResource", "..\Server\src\Gws\GwsResource\GwsResource.vcxproj", "{8F654896-85DC-4F32-99B2-670D66B0FBF1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GwsInclude", "..\Server\src\Gws\Include\GwsInclude.vcxproj", "{E6B0012F-58F6-42F4-8F02-065C35829569}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MgPortable", "MgPortable\MgPortable.vcxproj", "{CBC0339F-E68B-48BA-9059-945483BEBDCA}"
+	ProjectSection(ProjectDependencies) = postProject
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4} = {F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459} = {8D947123-A12C-45DA-BD00-8B62DD5A0459}
+		{E6B0012F-58F6-42F4-8F02-065C35829569} = {E6B0012F-58F6-42F4-8F02-065C35829569}
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7} = {85882748-DD71-4D2B-9E5A-03AF8C8D91B7}
+		{341D5463-186E-49BA-B942-3D3BE28D65C0} = {341D5463-186E-49BA-B942-3D3BE28D65C0}
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425} = {A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}
+		{38161685-88ED-415E-A545-CCC17BE069AE} = {38161685-88ED-415E-A545-CCC17BE069AE}
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B} = {7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1} = {8F654896-85DC-4F32-99B2-670D66B0FBF1}
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0} = {D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0} = {DB2CC2E3-4754-4932-B865-424A44E58FD0}
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10} = {C50254F2-654A-48DE-AF5B-20605AEF8D10}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest", "UnitTest\UnitTest.vcxproj", "{67505883-F667-4C18-BCCA-63F3B76C64FF}"
+	ProjectSection(ProjectDependencies) = postProject
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA} = {CBC0339F-E68B-48BA-9059-945483BEBDCA}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Security", "..\Common\Security\Security.vcxproj", "{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|Win32.ActiveCfg = Debug|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|Win32.Build.0 = Debug|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.ActiveCfg = Debug|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Debug|x64.Build.0 = Debug|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|Win32.ActiveCfg = Release|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|Win32.Build.0 = Release|Win32
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.ActiveCfg = Release|x64
+		{A82ADC7D-4DA4-42F2-9BF6-DF5DCFB44425}.Release|x64.Build.0 = Release|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|Win32.Build.0 = Debug|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.ActiveCfg = Debug|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Debug|x64.Build.0 = Debug|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|Win32.ActiveCfg = Release|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|Win32.Build.0 = Release|Win32
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.ActiveCfg = Release|x64
+		{D954DAAC-E305-40CE-B3F3-C229A0BEF4F0}.Release|x64.Build.0 = Release|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|Win32.Build.0 = Debug|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.ActiveCfg = Debug|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Debug|x64.Build.0 = Debug|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|Win32.ActiveCfg = Release|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|Win32.Build.0 = Release|Win32
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.ActiveCfg = Release|x64
+		{F7334B1B-0EFA-47E3-8E66-DF158E61B7E4}.Release|x64.Build.0 = Release|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|Win32.ActiveCfg = Debug|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|Win32.Build.0 = Debug|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.ActiveCfg = Debug|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Debug|x64.Build.0 = Debug|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|Win32.ActiveCfg = Release|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|Win32.Build.0 = Release|Win32
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.ActiveCfg = Release|x64
+		{C50254F2-654A-48DE-AF5B-20605AEF8D10}.Release|x64.Build.0 = Release|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|Win32.ActiveCfg = Debug|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|Win32.Build.0 = Debug|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.ActiveCfg = Debug|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Debug|x64.Build.0 = Debug|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|Win32.ActiveCfg = Release|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|Win32.Build.0 = Release|Win32
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.ActiveCfg = Release|x64
+		{85882748-DD71-4D2B-9E5A-03AF8C8D91B7}.Release|x64.Build.0 = Release|x64
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|Win32.ActiveCfg = Debug|Win32
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|Win32.Build.0 = Debug|Win32
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|x64.ActiveCfg = Debug|x64
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Debug|x64.Build.0 = Debug|x64
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|Win32.ActiveCfg = Release|Win32
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|Win32.Build.0 = Release|Win32
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|x64.ActiveCfg = Release|x64
+		{38161685-88ED-415E-A545-CCC17BE069AE}.Release|x64.Build.0 = Release|x64
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|Win32.ActiveCfg = Debug|Win32
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|Win32.Build.0 = Debug|Win32
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|x64.ActiveCfg = Debug|x64
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Debug|x64.Build.0 = Debug|x64
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|Win32.ActiveCfg = Release|Win32
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|Win32.Build.0 = Release|Win32
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|x64.ActiveCfg = Release|x64
+		{341D5463-186E-49BA-B942-3D3BE28D65C0}.Release|x64.Build.0 = Release|x64
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|Win32.ActiveCfg = Debug|Win32
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|Win32.Build.0 = Debug|Win32
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|x64.ActiveCfg = Debug|x64
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Debug|x64.Build.0 = Debug|x64
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|Win32.ActiveCfg = Release|Win32
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|Win32.Build.0 = Release|Win32
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|x64.ActiveCfg = Release|x64
+		{DB2CC2E3-4754-4932-B865-424A44E58FD0}.Release|x64.Build.0 = Release|x64
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|Win32.ActiveCfg = Debug|Win32
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|Win32.Build.0 = Debug|Win32
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|x64.ActiveCfg = Debug|x64
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Debug|x64.Build.0 = Debug|x64
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|Win32.ActiveCfg = Release|Win32
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|Win32.Build.0 = Release|Win32
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|x64.ActiveCfg = Release|x64
+		{8D947123-A12C-45DA-BD00-8B62DD5A0459}.Release|x64.Build.0 = Release|x64
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|Win32.Build.0 = Debug|Win32
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|x64.ActiveCfg = Debug|x64
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Debug|x64.Build.0 = Debug|x64
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|Win32.ActiveCfg = Release|Win32
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|Win32.Build.0 = Release|Win32
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|x64.ActiveCfg = Release|x64
+		{8F654896-85DC-4F32-99B2-670D66B0FBF1}.Release|x64.Build.0 = Release|x64
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|Win32.Build.0 = Debug|Win32
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|x64.ActiveCfg = Debug|x64
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Debug|x64.Build.0 = Debug|x64
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|Win32.ActiveCfg = Release|Win32
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|Win32.Build.0 = Release|Win32
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|x64.ActiveCfg = Release|x64
+		{E6B0012F-58F6-42F4-8F02-065C35829569}.Release|x64.Build.0 = Release|x64
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|Win32.ActiveCfg = Debug|Win32
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|Win32.Build.0 = Debug|Win32
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|x64.ActiveCfg = Debug|x64
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Debug|x64.Build.0 = Debug|x64
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|Win32.ActiveCfg = Release|Win32
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|Win32.Build.0 = Release|Win32
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|x64.ActiveCfg = Release|x64
+		{CBC0339F-E68B-48BA-9059-945483BEBDCA}.Release|x64.Build.0 = Release|x64
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|Win32.ActiveCfg = Debug|Win32
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|Win32.Build.0 = Debug|Win32
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|x64.ActiveCfg = Debug|x64
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Debug|x64.Build.0 = Debug|x64
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|Win32.ActiveCfg = Release|Win32
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|Win32.Build.0 = Release|Win32
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|x64.ActiveCfg = Release|x64
+		{67505883-F667-4C18-BCCA-63F3B76C64FF}.Release|x64.Build.0 = Release|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|Win32.ActiveCfg = Debug|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|Win32.Build.0 = Debug|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.ActiveCfg = Debug|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Debug|x64.Build.0 = Debug|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|Win32.ActiveCfg = Release|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|Win32.Build.0 = Release|Win32
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.ActiveCfg = Release|x64
+		{7C1C5695-C51C-4017-ABEF-BC3032CBAF3B}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {0313274F-0C94-4CDC-AEB2-1A1F4E23E4DB}
+	EndGlobalSection
+EndGlobal

Copied: trunk/MgDev/Portable/PortableDotNet.sln (from rev 9814, sandbox/jng/vanilla_swig/Portable/PortableDotNet.sln)
===================================================================
--- trunk/MgDev/Portable/PortableDotNet.sln	                        (rev 0)
+++ trunk/MgDev/Portable/PortableDotNet.sln	2022-10-10 10:10:45 UTC (rev 9974)
@@ -0,0 +1,76 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Express 2012 for Windows Desktop
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetHarness", "DotNetHarness\DotNetHarness.csproj", "{A5881D59-BD24-4A3A-A707-F18A25724D29}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetUnitTest", "DotNetUnitTest\DotNetUnitTest.csproj", "{FDA196F0-3C55-4360-B207-BA5EF6D746F8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewer", "MapViewer\MapViewer.csproj", "{D46ED17B-329B-4D80-9181-FEF8307EFCBB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewer.Desktop", "MapViewer.Desktop\MapViewer.Desktop.csproj", "{E2001B46-F226-4F7B-911E-252B9644236E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapViewerTest", "MapViewerTest\MapViewerTest.csproj", "{E2FC8B99-0638-4C01-86C4-1B625D966981}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MgAppLayout", "MgAppLayout\MgAppLayout.csproj", "{F6054D81-E857-49FB-945F-AC2ECD9BB27A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x64.ActiveCfg = Debug|x64
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x64.Build.0 = Debug|x64
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x86.ActiveCfg = Debug|x86
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Debug|x86.Build.0 = Debug|x86
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x64.ActiveCfg = Release|x64
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x64.Build.0 = Release|x64
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x86.ActiveCfg = Release|x86
+		{A5881D59-BD24-4A3A-A707-F18A25724D29}.Release|x86.Build.0 = Release|x86
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x64.ActiveCfg = Debug|x64
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x64.Build.0 = Debug|x64
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x86.ActiveCfg = Debug|x86
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Debug|x86.Build.0 = Debug|x86
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x64.ActiveCfg = Release|x64
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x64.Build.0 = Release|x64
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x86.ActiveCfg = Release|x86
+		{FDA196F0-3C55-4360-B207-BA5EF6D746F8}.Release|x86.Build.0 = Release|x86
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x64.Build.0 = Debug|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Debug|x86.Build.0 = Debug|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x64.ActiveCfg = Release|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x64.Build.0 = Release|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x86.ActiveCfg = Release|Any CPU
+		{D46ED17B-329B-4D80-9181-FEF8307EFCBB}.Release|x86.Build.0 = Release|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x64.Build.0 = Debug|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Debug|x86.Build.0 = Debug|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x64.ActiveCfg = Release|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x64.Build.0 = Release|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x86.ActiveCfg = Release|Any CPU
+		{E2001B46-F226-4F7B-911E-252B9644236E}.Release|x86.Build.0 = Release|Any CPU
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x64.ActiveCfg = Debug|x64
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x64.Build.0 = Debug|x64
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x86.ActiveCfg = Debug|x86
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Debug|x86.Build.0 = Debug|x86
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x64.ActiveCfg = Release|x64
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x64.Build.0 = Release|x64
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x86.ActiveCfg = Release|x86
+		{E2FC8B99-0638-4C01-86C4-1B625D966981}.Release|x86.Build.0 = Release|x86
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x64.ActiveCfg = Debug|x64
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x64.Build.0 = Debug|x64
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x86.ActiveCfg = Debug|x86
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Debug|x86.Build.0 = Debug|x86
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x64.ActiveCfg = Release|x64
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x64.Build.0 = Release|x64
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x86.ActiveCfg = Release|x86
+		{F6054D81-E857-49FB-945F-AC2ECD9BB27A}.Release|x86.Build.0 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Modified: trunk/MgDev/Portable/Samples/AdvancedSample/MainForm.cs
===================================================================
--- trunk/MgDev/Desktop/Samples/AdvancedSample/MainForm.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/AdvancedSample/MainForm.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -54,7 +54,7 @@
             //Create our runtime map
             MgdMap map = new MgdMap(mapDefId);
             //Create our viewer provider
-            MgMapViewerProvider provider = new MgDesktopMapViewerProvider(map);
+            MgMapViewerProvider provider = new MgPortableMapViewerProvider(map);
             //Initialize our viewer with this provider
             mgMapViewer1.Init(provider);
         }

Modified: trunk/MgDev/Portable/Samples/AdvancedSample/Properties/AssemblyInfo.cs
===================================================================
--- trunk/MgDev/Desktop/Samples/AdvancedSample/Properties/AssemblyInfo.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/AdvancedSample/Properties/AssemblyInfo.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -5,11 +5,11 @@
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
-[assembly: AssemblyTitle("MgDesktopSample")]
+[assembly: AssemblyTitle("MgPortableSample")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("MgDesktopSample")]
+[assembly: AssemblyProduct("MgPortableSample")]
 [assembly: AssemblyCopyright("Copyright ©  2012")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]

Modified: trunk/MgDev/Portable/Samples/BasicSample/MainForm.cs
===================================================================
--- trunk/MgDev/Desktop/Samples/BasicSample/MainForm.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/BasicSample/MainForm.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -53,7 +53,7 @@
             //Create our runtime map
             MgdMap map = new MgdMap(mapDefId);
             //Create our viewer provider
-            MgMapViewerProvider provider = new MgDesktopMapViewerProvider(map);
+            MgMapViewerProvider provider = new MgPortableMapViewerProvider(map);
             //Initialize our viewer with this provider
             mgMapViewer1.Init(provider);
         }

Modified: trunk/MgDev/Portable/Samples/FreeFormExample/MainForm.cs
===================================================================
--- trunk/MgDev/Desktop/Samples/FreeFormExample/MainForm.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/FreeFormExample/MainForm.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -58,7 +58,7 @@
             //Create our runtime map
             MgdMap map = new MgdMap(mapDefId);
             //Create our viewer provider
-            MgMapViewerProvider provider = new MgDesktopMapViewerProvider(map);
+            MgMapViewerProvider provider = new MgPortableMapViewerProvider(map);
             //Initialize our viewer with this provider
             mgMapViewer1.Init(provider);
             UpdateButtonCheckedState();

Modified: trunk/MgDev/Portable/Samples/SampleExtension/SamplesTaskPane.cs
===================================================================
--- trunk/MgDev/Desktop/Samples/SampleExtension/SamplesTaskPane.cs	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/SampleExtension/SamplesTaskPane.cs	2022-10-10 10:10:45 UTC (rev 9974)
@@ -39,7 +39,7 @@
             _viewer.ClearSelection();
             MgResourceIdentifier mdfId = new MgResourceIdentifier("Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition");
             MgdMap map = new MgdMap(mdfId);
-            MgDesktopMapViewerProvider provider = new MgDesktopMapViewerProvider(map);
+            MgPortableMapViewerProvider provider = new MgPortableMapViewerProvider(map);
             Shell.Instance.ReloadViewer(provider);
         }
     }

Modified: trunk/MgDev/Portable/Samples/samples_readme.txt
===================================================================
--- trunk/MgDev/Desktop/Samples/samples_readme.txt	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/Samples/samples_readme.txt	2022-10-10 10:10:45 UTC (rev 9974)
@@ -3,7 +3,7 @@
 
 The following samples all require the Sheboygan sample dataset. For these samples to build, copy your mg-desktop files (and its subfolders) into the Lib directory, you must use the correct build of mg-desktop for the version of VS you are using to open this solution file:
 
- - MgDesktopSamples.sln: mg-desktop .net Framework 4.0, VC11 build
+ - MgPortableSamples.sln: mg-desktop .net Framework 4.0, VC11 build
 
 Note that in order to use mg-desktop, your main executable must have CPU architecture set to x86 (because these are .net wrappers to 32-bit unmanaged dlls). All the executable projects in this solution have their CPU architecture set to x86
 

Modified: trunk/MgDev/Portable/UnitTest/CMakeLists.txt
===================================================================
--- trunk/MgDev/Desktop/UnitTest/CMakeLists.txt	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/CMakeLists.txt	2022-10-10 10:10:45 UTC (rev 9974)
@@ -2,8 +2,8 @@
     ${XERCESC_INCLUDE_DIR}
     ${FDO_INCLUDE_DIR}
     ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/../MgDesktop
-    ${CMAKE_CURRENT_SOURCE_DIR}/../MgDesktop/Services
+    ${CMAKE_CURRENT_SOURCE_DIR}/../MgPortable
+    ${CMAKE_CURRENT_SOURCE_DIR}/../MgPortable/Services
     ${CPPUNIT_INCLUDE_DIR}
     ${MG_COMMON_DIR}/PlatformBase
     ${MG_COMMON_DIR}/CoordinateSystem
@@ -15,7 +15,7 @@
     ${MG_COMMON_DIR}/Stylization
 )
 
-set (MgDesktopUnitTest_SRCS
+set (MgPortableUnitTest_SRCS
     main.cpp
     TestFeatureService.cpp
     #TestKmlService.cpp
@@ -30,12 +30,12 @@
     TestTileService.cpp
 )
 
-add_executable(MgDesktopUnitTest ${MgDesktopUnitTest_SRCS})
-add_sanitizers(MgDesktopUnitTest)
-set_target_properties( MgDesktopUnitTest
+add_executable(MgPortableUnitTest ${MgPortableUnitTest_SRCS})
+add_sanitizers(MgPortableUnitTest)
+set_target_properties( MgPortableUnitTest
     PROPERTIES OUTPUT_NAME "UnitTest" )
 
-target_link_libraries(MgDesktopUnitTest
+target_link_libraries(MgPortableUnitTest
     ${ACE_LIBRARY}
     ${FDO_LIBRARY}
     ${XERCESC_LIBRARIES}
@@ -45,5 +45,5 @@
     MgFoundation${MG_VERSION_SUFFIX}
     MgPlatformBase${MG_VERSION_SUFFIX}
     MgSecurity${MG_VERSION_SUFFIX}
-    MgDesktop${MG_VERSION_SUFFIX}
+    MgPortable${MG_VERSION_SUFFIX}
 )
\ No newline at end of file

Modified: trunk/MgDev/Portable/UnitTest/CppUnitExtensions.h
===================================================================
--- trunk/MgDev/Desktop/UnitTest/CppUnitExtensions.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/CppUnitExtensions.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -51,7 +51,7 @@
  * \ingroup Assertions
  * Example of usage:
  * \code
- *   MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+ *   MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
  *   CPPUNIT_ASSERT_THROW_MG(mgr->DeleteLog(L""), MgNullArgumentException*);
  * \endcode
  */

Modified: trunk/MgDev/Portable/UnitTest/TestFeatureService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestFeatureService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestFeatureService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -16,7 +16,7 @@
 //
 
 #include "Services/Feature/FeatureUtil.h"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "CppUnitExtensions.h"
 #include "Fdo.h"
 #include <ctime>
@@ -41,7 +41,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -81,7 +81,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -125,7 +125,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -171,7 +171,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -217,7 +217,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -263,7 +263,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -309,7 +309,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -357,7 +357,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -425,7 +425,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -488,7 +488,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -537,7 +537,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -617,7 +617,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -876,7 +876,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -929,8 +929,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_SelectFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1054,8 +1054,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_SelectFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1074,7 +1074,7 @@
 
         resource = new MgResourceIdentifier(L"Library://UnitTests/Data/Sheboygan_VotingDistricts.FeatureSource");
         className = L"VotingDistricts";
-        Ptr<MgdScrollableFeatureReader> reader = pService->SelectFeaturesExtended(resource, className, options);
+        Ptr<MgPortableScrollableFeatureReader> reader = pService->SelectFeaturesExtended(resource, className, options);
         INT32 count = reader->Count();
         REQUIRE(11 == count);
 
@@ -1157,7 +1157,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1209,8 +1209,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_InsertFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1306,13 +1306,13 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pResSvc = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pResSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_InsertFeaturesBatch", __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_InsertFeaturesBatch", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1519,8 +1519,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_UpdateFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1593,8 +1593,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdFeatureService> pService = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableFeatureService> pService = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_DeleteFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1640,7 +1640,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1689,7 +1689,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1737,7 +1737,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1819,7 +1819,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1864,7 +1864,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -1929,7 +1929,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_GetFeatures", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1969,7 +1969,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_CloseFeatureReader", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2010,7 +2010,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_GetSqlRows", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2050,7 +2050,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_CloseSqlReader", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2092,7 +2092,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_GetRaster", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2135,7 +2135,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_GetDataRows", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2175,7 +2175,7 @@
 {
     try
     {
-        Ptr<MgFeatureService> pService = MgdServiceFactory::CreateFeatureService();
+        Ptr<MgFeatureService> pService = MgPortableServiceFactory::CreateFeatureService();
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_CloseDataReader", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2216,7 +2216,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2274,7 +2274,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2348,7 +2348,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2529,7 +2529,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         if (fact == 0)
         {
             throw new MgException(MgExceptionCodes::MgNullReferenceException, L"TestFeatureService.TestCase_SavePoint", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2668,7 +2668,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2752,7 +2752,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2856,7 +2856,7 @@
     {
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nTestFeatureService::TestCase_BenchmarkSelectFeatures() - Start\n")));
 
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
         Ptr<MgFeatureService> pService = dynamic_cast<MgFeatureService*>(factory->CreateService(MgServiceType::FeatureService));
         if (pService == 0)
         {
@@ -2919,13 +2919,13 @@
     STRING password = L"";
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
         Ptr<MgFeatureService> featSvc = dynamic_cast<MgFeatureService*>(factory->CreateService(MgServiceType::FeatureService));
         if (featSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_SecuredCredentials", __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdResourceService> resSvc = dynamic_cast<MgdResourceService*>(factory->CreateService(MgServiceType::ResourceService));
+        Ptr<MgPortableResourceService> resSvc = dynamic_cast<MgPortableResourceService*>(factory->CreateService(MgServiceType::ResourceService));
         if (resSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestCase_SecuredCredentials", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -2985,10 +2985,10 @@
     }
 }
 
-static MgdMap* CreateTestMap()
+static MgPortableMap* CreateTestMap()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/SheboyganWriteable.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres);
+    MgPortableMap* map = new MgPortableMap(mdfres);
     //map->Create(mdfres, L"UnitTestSheboygan");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
@@ -3011,10 +3011,10 @@
 {
     try
     {
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
         Ptr<MgLayerCollection> layers = map->GetLayers();
 
-        Ptr<MgdLayer> parcels = static_cast<MgdLayer*>(layers->GetItem(L"Parcels"));
+        Ptr<MgPortableLayer> parcels = static_cast<MgPortableLayer*>(layers->GetItem(L"Parcels"));
         
         Ptr<MgPropertyCollection> propVals = new MgPropertyCollection();
 
@@ -3108,10 +3108,10 @@
 {
     try
     {
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
         Ptr<MgLayerCollection> layers = map->GetLayers();
 
-        Ptr<MgdLayer> parcels = static_cast<MgdLayer*>(layers->GetItem(L"Parcels"));
+        Ptr<MgPortableLayer> parcels = static_cast<MgPortableLayer*>(layers->GetItem(L"Parcels"));
 
         Ptr<MgPropertyCollection> propVals = new MgPropertyCollection();
 
@@ -3182,10 +3182,10 @@
 {
     try
     {
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
         Ptr<MgLayerCollection> layers = map->GetLayers();
 
-        Ptr<MgdLayer> parcels = static_cast<MgdLayer*>(layers->GetItem(L"Parcels"));
+        Ptr<MgPortableLayer> parcels = static_cast<MgPortableLayer*>(layers->GetItem(L"Parcels"));
 
         STRING filter = L"Autogenerated_SDF_ID = ";
         wchar_t sdfNum[10];
@@ -3223,13 +3223,13 @@
 {
     try
     {
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
         Ptr<MgLayerCollection> layers = map->GetLayers();
 
-        Ptr<MgdLayer> parcels = static_cast<MgdLayer*>(layers->GetItem(L"Parcels"));
+        Ptr<MgPortableLayer> parcels = static_cast<MgPortableLayer*>(layers->GetItem(L"Parcels"));
 
         Ptr<MgFeatureQueryOptions> options = new MgFeatureQueryOptions();
-        Ptr<MgdScrollableFeatureReader> reader = parcels->SelectFeaturesExtended(options);
+        Ptr<MgPortableScrollableFeatureReader> reader = parcels->SelectFeaturesExtended(options);
         INT32 count = reader->Count();
         REQUIRE(17565 == count);
 
@@ -3302,7 +3302,7 @@
         Ptr<MgByteSource> fsContent = new MgByteSource(L"../UnitTestFiles/UT_Parcels_Sdf_Join.fs");
         Ptr<MgByteReader> fsReader = fsContent->GetReader();
 
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3402,7 +3402,7 @@
         Ptr<MgByteSource> fsContent = new MgByteSource(L"../UnitTestFiles/UT_Parcels_SQLite_Join.fs");
         Ptr<MgByteReader> fsReader = fsContent->GetReader();
 
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3498,7 +3498,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3607,7 +3607,7 @@
     try
     {
         //Setup our test data
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3614,7 +3614,7 @@
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkMergeSortJoin",
                 __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> featSvc = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> featSvc = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (featSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkMergeSortJoin",
@@ -3735,7 +3735,7 @@
     try
     {
         //Setup our test data
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3742,7 +3742,7 @@
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin",
                 __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> featSvc = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> featSvc = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (featSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkBatchSortedBlockJoin",
@@ -3863,7 +3863,7 @@
     try
     {
         //Setup our test data
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -3870,7 +3870,7 @@
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin",
                 __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> featSvc = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> featSvc = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (featSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkNestedLoopsSortedBlockJoin",
@@ -3993,7 +3993,7 @@
     fsIdStr += L".FeatureSource";
     STRING fileNameStr = name;
     fileNameStr += L".sdf";
-    Ptr<MgClassDefinition> cls = MgdFeatureUtil::CloneMgClassDefinition(classDefinition);
+    Ptr<MgClassDefinition> cls = MgPortableFeatureUtil::CloneMgClassDefinition(classDefinition);
     cls->SetName(name);
 
     //Flip the autogeneration bit (just in case) 
@@ -4103,7 +4103,7 @@
     return propVals.Detach();
 }
 
-static void Insert(MgdFeatureService* featSvc, MgReader* reader, MgResourceIdentifier* fsId, CREFSTRING className, MgPropertyCollection* propVals)
+static void Insert(MgPortableFeatureService* featSvc, MgReader* reader, MgResourceIdentifier* fsId, CREFSTRING className, MgPropertyCollection* propVals)
 {
     for (INT32 i = 0; i < propVals->GetCount(); i++)
     {
@@ -4222,7 +4222,7 @@
     try
     {
         //Setup our test data
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -4229,7 +4229,7 @@
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkNestedLoopsJoin",
                 __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> featSvc = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> featSvc = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (featSvc == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService::TestCase_BenchmarkNestedLoopsJoin",
@@ -4356,7 +4356,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         if (fact == 0)
         {
             throw new MgException(MgExceptionCodes::MgNullReferenceException, L"TestFeatureService.TestCase_UpdateFeaturesPartialFailure", __LINE__, __WFILE__, nullptr, L"", nullptr);

Modified: trunk/MgDev/Portable/UnitTest/TestKmlService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestKmlService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestKmlService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TestKmlService.h"
 #include "ServiceManager.h"
 #include "ServerResourceService.h"

Modified: trunk/MgDev/Portable/UnitTest/TestLogManager.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestLogManager.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestLogManager.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Log/LogManager.h"
 #include "TestLogManagerThread.h"
 #include "FoundationDefs.h"
@@ -71,16 +71,16 @@
 ///----------------------------------------------------------------------------
 /// Test Case Description:
 ///
-/// This test case checks to see if there is a valid MgdLogManager and that
-/// there is only 1 MgdLogManager.
+/// This test case checks to see if there is a valid MgPortableLogManager and that
+/// there is only 1 MgPortableLogManager.
 ///----------------------------------------------------------------------------
 TEST_CASE("ValidLogManager", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE(pMgdLogManager != nullptr);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE(pMgPortableLogManager != nullptr);
 
-    MgdLogManager* pMgdLogManager2 = MgdLogManager::GetInstance();
-    REQUIRE(pMgdLogManager == pMgdLogManager2);
+    MgPortableLogManager* pMgPortableLogManager2 = MgPortableLogManager::GetInstance();
+    REQUIRE(pMgPortableLogManager == pMgPortableLogManager2);
 }
 
 ///----------------------------------------------------------------------------
@@ -90,8 +90,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetLogsPath", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    CREFSTRING path = pMgdLogManager->GetLogsPath();
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    CREFSTRING path = pMgPortableLogManager->GetLogsPath();
 
     REQUIRE(path.length() > 0);
 }
@@ -132,16 +132,16 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Create a few files
-        STRING path = pMgdLogManager->GetLogsPath();
+        STRING path = pMgPortableLogManager->GetLogsPath();
         CreateFile(path + TestName, L"");
         CreateFile(path + JunkName, L"");
         CreateFile(path + TestName2, L"");
         CreateFile(path + JunkName2, L"");
 
-        Ptr<MgPropertyCollection> logs = pMgdLogManager->EnumerateLogs();
+        Ptr<MgPropertyCollection> logs = pMgPortableLogManager->EnumerateLogs();
 
         // Make sure the files show up in the enumeration
         Ptr<MgStringProperty> testNameProp = new MgStringProperty(L"LogNameProperty", TestName);
@@ -176,15 +176,15 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
-        pMgdLogManager->DeleteLog(TestName);
-        pMgdLogManager->DeleteLog(NewTestName);
-        pMgdLogManager->DeleteLog(JunkName);
-        pMgdLogManager->DeleteLog(TestName2);
-        pMgdLogManager->DeleteLog(JunkName2);
+        pMgPortableLogManager->DeleteLog(TestName);
+        pMgPortableLogManager->DeleteLog(NewTestName);
+        pMgPortableLogManager->DeleteLog(JunkName);
+        pMgPortableLogManager->DeleteLog(TestName2);
+        pMgPortableLogManager->DeleteLog(JunkName2);
 
-        Ptr<MgPropertyCollection> logs = pMgdLogManager->EnumerateLogs();
+        Ptr<MgPropertyCollection> logs = pMgPortableLogManager->EnumerateLogs();
 
         REQUIRE(!logs->Contains(TestName));
         REQUIRE(!logs->Contains(NewTestName));
@@ -213,26 +213,26 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Create test file
-        STRING path = pMgdLogManager->GetLogsPath();
+        STRING path = pMgPortableLogManager->GetLogsPath();
         CreateFile(path + TestName, L"");
 
         // Rename the test file
-        pMgdLogManager->RenameLog(TestName, NewTestName);
+        pMgPortableLogManager->RenameLog(TestName, NewTestName);
 
-        Ptr<MgPropertyCollection> logs = pMgdLogManager->EnumerateLogs();
+        Ptr<MgPropertyCollection> logs = pMgPortableLogManager->EnumerateLogs();
 
         Ptr<MgStringProperty> newTestNameProp = new MgStringProperty(L"LogNameProperty", NewTestName);
         REQUIRE(logs->Contains(newTestNameProp));
 
-        REQUIRE_THROWS_MG(pMgdLogManager->RenameLog(L"", NewTestName), MgNullArgumentException);
-        REQUIRE_THROWS_MG(pMgdLogManager->RenameLog(NewTestName, L""), MgNullArgumentException);
-        REQUIRE_THROWS_MG(pMgdLogManager->RenameLog(TestName, TestName), MgDuplicateFileException);
-        REQUIRE_THROWS_MG(pMgdLogManager->RenameLog(L"DoesNotExist.log", L"NewDoesNotExist.log"), MgFileNotFoundException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->RenameLog(L"", NewTestName), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->RenameLog(NewTestName, L""), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->RenameLog(TestName, TestName), MgDuplicateFileException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->RenameLog(L"DoesNotExist.log", L"NewDoesNotExist.log"), MgFileNotFoundException);
 #ifdef _WIN32
-        REQUIRE_THROWS_MG(pMgdLogManager->RenameLog(NewTestName, L"?"), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->RenameLog(NewTestName, L"?"), MgInvalidArgumentException);
 #endif
     }
     catch (MgException* e)
@@ -256,21 +256,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsAccessLogEnabled();
-        STRING originalName = pMgdLogManager->GetAccessLogFileName();
-        STRING originalParams = pMgdLogManager->GetAccessLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsAccessLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetAccessLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetAccessLogParameters();
 
-        pMgdLogManager->SetAccessLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetAccessLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsAccessLogEnabled();
-        STRING name = pMgdLogManager->GetAccessLogFileName();
-        STRING params = pMgdLogManager->GetAccessLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsAccessLogEnabled();
+        STRING name = pMgPortableLogManager->GetAccessLogFileName();
+        STRING params = pMgPortableLogManager->GetAccessLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetAccessLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetAccessLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -297,8 +297,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearAccessLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearAccessLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -320,10 +320,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAccessLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAccessLogFileName();
-    pMgdLogManager->SetAccessLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAccessLogFileName();
+    pMgPortableLogManager->SetAccessLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -334,16 +334,16 @@
     try
     {
         Ptr<MgByteReader> byteReader;
-        byteReader = pMgdLogManager->GetAccessLog();
+        byteReader = pMgPortableLogManager->GetAccessLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetAccessLog(1);
+        byteReader = pMgPortableLogManager->GetAccessLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
 
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -350,7 +350,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         throw;
     }
 
@@ -365,10 +365,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAccessLogByDate", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAccessLogFileName();
-    pMgdLogManager->SetAccessLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAccessLogFileName();
+    pMgPortableLogManager->SetAccessLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -386,7 +386,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -393,7 +393,7 @@
         // from & to date are the same and at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -400,7 +400,7 @@
         // from & to date are the same and not at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
@@ -407,7 +407,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -414,7 +414,7 @@
         // spans two different files
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 8, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4 + LastEntry));
 
@@ -421,7 +421,7 @@
         // spans two different files, the first of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 6, 23, 59, 59, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -428,7 +428,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -435,30 +435,30 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAccessLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAccessLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAccessLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAccessLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAccessLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAccessLog(fromDate, toDate), MgInvalidArgumentException);
 
         // Search a log file with an invalid log entry as the first entry
         CreateFile(path + JunkName, L"asdfasdfasdf");
-        pMgdLogManager->SetAccessLogFileName(JunkName);
+        pMgPortableLogManager->SetAccessLogFileName(JunkName);
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAccessLog(fromDate, toDate), MgInvalidLogEntryException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAccessLog(fromDate, toDate), MgInvalidLogEntryException);
 
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -465,7 +465,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         throw;
     }
 }
@@ -478,8 +478,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAccessLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetAccessLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetAccessLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -491,21 +491,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsAdminLogEnabled();
-        STRING originalName = pMgdLogManager->GetAdminLogFileName();
-        STRING originalParams = pMgdLogManager->GetAdminLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsAdminLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetAdminLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetAdminLogParameters();
 
-        pMgdLogManager->SetAdminLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetAdminLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsAdminLogEnabled();
-        STRING name = pMgdLogManager->GetAdminLogFileName();
-        STRING params = pMgdLogManager->GetAdminLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsAdminLogEnabled();
+        STRING name = pMgPortableLogManager->GetAdminLogFileName();
+        STRING params = pMgPortableLogManager->GetAdminLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetAdminLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetAdminLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -532,8 +532,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearAdminLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearAdminLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -555,10 +555,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAdminLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAdminLogFileName();
-    pMgdLogManager->SetAdminLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAdminLogFileName();
+    pMgPortableLogManager->SetAdminLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -568,15 +568,15 @@
 
     try
     {
-        Ptr<MgByteReader> byteReader = pMgdLogManager->GetAdminLog();
+        Ptr<MgByteReader> byteReader = pMgPortableLogManager->GetAdminLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetAdminLog(1);
+        byteReader = pMgPortableLogManager->GetAdminLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -583,7 +583,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
         throw;
     }
 
@@ -598,10 +598,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAdminLogByData", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAdminLogFileName();
-    pMgdLogManager->SetAdminLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAdminLogFileName();
+    pMgPortableLogManager->SetAdminLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -619,7 +619,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -626,7 +626,7 @@
         // from & to date are the same and at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -633,7 +633,7 @@
         // from & to date are the same and not at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
@@ -640,7 +640,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -647,7 +647,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -654,23 +654,23 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAdminLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAdminLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAdminLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAdminLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAdminLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAdminLog(fromDate, toDate), MgInvalidArgumentException);
 
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -677,7 +677,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAdminLogFileName(originalName);
+        pMgPortableLogManager->SetAdminLogFileName(originalName);
         throw;
     }
 }
@@ -690,8 +690,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAdminLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetAdminLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetAdminLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -703,21 +703,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsAuthenticationLogEnabled();
-        STRING originalName = pMgdLogManager->GetAuthenticationLogFileName();
-        STRING originalParams = pMgdLogManager->GetAuthenticationLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsAuthenticationLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetAuthenticationLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetAuthenticationLogParameters();
 
-        pMgdLogManager->SetAuthenticationLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetAuthenticationLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsAuthenticationLogEnabled();
-        STRING name = pMgdLogManager->GetAuthenticationLogFileName();
-        STRING params = pMgdLogManager->GetAuthenticationLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsAuthenticationLogEnabled();
+        STRING name = pMgPortableLogManager->GetAuthenticationLogFileName();
+        STRING params = pMgPortableLogManager->GetAuthenticationLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetAuthenticationLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetAuthenticationLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -744,8 +744,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearAuthenticationLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearAuthenticationLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -767,10 +767,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAuthenticationLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAuthenticationLogFileName();
-    pMgdLogManager->SetAuthenticationLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAuthenticationLogFileName();
+    pMgPortableLogManager->SetAuthenticationLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -780,15 +780,15 @@
 
     try
     {
-        Ptr<MgByteReader> byteReader = pMgdLogManager->GetAuthenticationLog();
+        Ptr<MgByteReader> byteReader = pMgPortableLogManager->GetAuthenticationLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetAuthenticationLog(1);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -795,7 +795,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
         throw;
     }
 
@@ -810,10 +810,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAuthenticationLogByDate", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAuthenticationLogFileName();
-    pMgdLogManager->SetAuthenticationLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAuthenticationLogFileName();
+    pMgPortableLogManager->SetAuthenticationLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -831,7 +831,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -838,7 +838,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -845,7 +845,7 @@
         // spans two different files
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 8, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4 + LastEntry));
 
@@ -852,7 +852,7 @@
         // spans two different files, the first of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 6, 23, 59, 59, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -859,7 +859,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -866,23 +866,23 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetAuthenticationLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAuthenticationLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAuthenticationLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetAuthenticationLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetAuthenticationLog(fromDate, toDate), MgInvalidArgumentException);
 
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -889,7 +889,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAuthenticationLogFileName(originalName);
+        pMgPortableLogManager->SetAuthenticationLogFileName(originalName);
         throw;
     }
 }
@@ -902,8 +902,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetAuthenticationLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetAuthenticationLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetAuthenticationLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -915,21 +915,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsErrorLogEnabled();
-        STRING originalName = pMgdLogManager->GetErrorLogFileName();
-        STRING originalParams = pMgdLogManager->GetErrorLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsErrorLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetErrorLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetErrorLogParameters();
 
-        pMgdLogManager->SetErrorLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetErrorLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsErrorLogEnabled();
-        STRING name = pMgdLogManager->GetErrorLogFileName();
-        STRING params = pMgdLogManager->GetErrorLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsErrorLogEnabled();
+        STRING name = pMgPortableLogManager->GetErrorLogFileName();
+        STRING params = pMgPortableLogManager->GetErrorLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetErrorLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetErrorLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -956,8 +956,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearErrorLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearErrorLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -979,10 +979,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetErrorLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetErrorLogFileName();
-    pMgdLogManager->SetErrorLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetErrorLogFileName();
+    pMgPortableLogManager->SetErrorLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -992,15 +992,15 @@
 
     try
     {
-        Ptr<MgByteReader> byteReader = pMgdLogManager->GetErrorLog();
+        Ptr<MgByteReader> byteReader = pMgPortableLogManager->GetErrorLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetErrorLog(1);
+        byteReader = pMgPortableLogManager->GetErrorLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1007,7 +1007,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
         throw;
     }
 
@@ -1022,10 +1022,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetErrorLogByDate", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetErrorLogFileName();
-    pMgdLogManager->SetErrorLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetErrorLogFileName();
+    pMgPortableLogManager->SetErrorLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -1043,7 +1043,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -1050,7 +1050,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -1057,7 +1057,7 @@
         // spans two different files
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 8, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4 + LastEntry));
 
@@ -1064,7 +1064,7 @@
         // spans two different files, the first of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 6, 23, 59, 59, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -1071,7 +1071,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -1078,23 +1078,23 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetErrorLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetErrorLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetErrorLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetErrorLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetErrorLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetErrorLog(fromDate, toDate), MgInvalidArgumentException);
 
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1101,7 +1101,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetErrorLogFileName(originalName);
+        pMgPortableLogManager->SetErrorLogFileName(originalName);
         throw;
     }
 }
@@ -1114,8 +1114,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetErrorLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetErrorLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetErrorLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -1127,21 +1127,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsSessionLogEnabled();
-        STRING originalName = pMgdLogManager->GetSessionLogFileName();
-        STRING originalParams = pMgdLogManager->GetSessionLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsSessionLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetSessionLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetSessionLogParameters();
 
-        pMgdLogManager->SetSessionLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetSessionLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsSessionLogEnabled();
-        STRING name = pMgdLogManager->GetSessionLogFileName();
-        STRING params = pMgdLogManager->GetSessionLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsSessionLogEnabled();
+        STRING name = pMgPortableLogManager->GetSessionLogFileName();
+        STRING params = pMgPortableLogManager->GetSessionLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetSessionLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetSessionLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -1168,8 +1168,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearSessionLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearSessionLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -1191,10 +1191,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetSessionLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetSessionLogFileName();
-    pMgdLogManager->SetSessionLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetSessionLogFileName();
+    pMgPortableLogManager->SetSessionLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -1204,15 +1204,15 @@
 
     try
     {
-        Ptr<MgByteReader> byteReader = pMgdLogManager->GetSessionLog();
+        Ptr<MgByteReader> byteReader = pMgPortableLogManager->GetSessionLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetSessionLog(1);
+        byteReader = pMgPortableLogManager->GetSessionLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1219,7 +1219,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
         throw;
     }
 
@@ -1234,10 +1234,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetSessionLogByDate", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetSessionLogFileName();
-    pMgdLogManager->SetSessionLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetSessionLogFileName();
+    pMgPortableLogManager->SetSessionLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -1255,7 +1255,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -1262,7 +1262,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -1269,7 +1269,7 @@
         // spans two different files
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 8, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4 + LastEntry));
 
@@ -1276,7 +1276,7 @@
         // spans two different files, the first of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 6, 23, 59, 59, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -1283,7 +1283,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -1290,23 +1290,23 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetSessionLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetSessionLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetSessionLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetSessionLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetSessionLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetSessionLog(fromDate, toDate), MgInvalidArgumentException);
 
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1313,7 +1313,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetSessionLogFileName(originalName);
+        pMgPortableLogManager->SetSessionLogFileName(originalName);
         throw;
     }
 }
@@ -1326,8 +1326,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetSessionLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetSessionLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetSessionLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -1339,21 +1339,21 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
 
         // Save original information
-        bool bOriginalEnabled = pMgdLogManager->IsTraceLogEnabled();
-        STRING originalName = pMgdLogManager->GetTraceLogFileName();
-        STRING originalParams = pMgdLogManager->GetTraceLogParameters();
+        bool bOriginalEnabled = pMgPortableLogManager->IsTraceLogEnabled();
+        STRING originalName = pMgPortableLogManager->GetTraceLogFileName();
+        STRING originalParams = pMgPortableLogManager->GetTraceLogParameters();
 
-        pMgdLogManager->SetTraceLogInfo(false, TestName, TestParameters);
+        pMgPortableLogManager->SetTraceLogInfo(false, TestName, TestParameters);
 
-        bool bEnabled = pMgdLogManager->IsTraceLogEnabled();
-        STRING name = pMgdLogManager->GetTraceLogFileName();
-        STRING params = pMgdLogManager->GetTraceLogParameters();
+        bool bEnabled = pMgPortableLogManager->IsTraceLogEnabled();
+        STRING name = pMgPortableLogManager->GetTraceLogFileName();
+        STRING params = pMgPortableLogManager->GetTraceLogParameters();
 
         // Restore original info
-        pMgdLogManager->SetTraceLogInfo(bOriginalEnabled, originalName, originalParams);
+        pMgPortableLogManager->SetTraceLogInfo(bOriginalEnabled, originalName, originalParams);
 
         REQUIRE(bEnabled == false);
         REQUIRE(wcscmp(name.c_str(), TestName) == 0);
@@ -1380,8 +1380,8 @@
 {
     try
     {
-        MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-        bool bResult = pMgdLogManager->ClearTraceLog();
+        MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+        bool bResult = pMgPortableLogManager->ClearTraceLog();
         REQUIRE(bResult);
     }
     catch (MgException* e)
@@ -1403,10 +1403,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetTraceLog", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetTraceLogFileName();
-    pMgdLogManager->SetTraceLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetTraceLogFileName();
+    pMgPortableLogManager->SetTraceLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -1416,15 +1416,15 @@
 
     try
     {
-        Ptr<MgByteReader> byteReader = pMgdLogManager->GetTraceLog();
+        Ptr<MgByteReader> byteReader = pMgPortableLogManager->GetTraceLog();
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        byteReader = pMgdLogManager->GetTraceLog(1);
+        byteReader = pMgPortableLogManager->GetTraceLog(1);
         lastLogEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1431,7 +1431,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
         throw;
     }
 
@@ -1446,10 +1446,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetTraceLogByDate", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetTraceLogFileName();
-    pMgdLogManager->SetTraceLogFileName(DynamicTestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetTraceLogFileName();
+    pMgPortableLogManager->SetTraceLogFileName(DynamicTestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4;
     CreateFile(path + DynamicTestNameDate1, contents);
@@ -1467,7 +1467,7 @@
         // from & to dates are at exact time an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 51, 13, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 54, 19, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry1 + Entry2 + Entry3));
 
@@ -1474,7 +1474,7 @@
         // from & to dates are at not at exact times an entry was made
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 56, 0, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4));
 
@@ -1481,7 +1481,7 @@
         // spans two different files
         fromDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
         toDate = new MgDateTime(2005, 3, 8, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == (Entry2 + Entry3 + Entry4 + LastEntry));
 
@@ -1488,7 +1488,7 @@
         // spans two different files, the first of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 6, 23, 59, 59, 0);
         toDate = new MgDateTime(2005, 3, 7, 16, 52, 0, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == Entry1);
 
@@ -1495,7 +1495,7 @@
         // spans two different files, the second of which doesn't exist
         fromDate = new MgDateTime(2005, 3, 8, 0, 0, 0, 0);
         toDate = new MgDateTime(2005, 3, 9, 0, 0, 0, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents == LastEntry);
 
@@ -1502,23 +1502,23 @@
         // from date is after the latest entry in the log files
         fromDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
         toDate = new MgDateTime(2006, 1, 1, 1, 0, 0, 0);
-        byteReader = pMgdLogManager->GetTraceLog(fromDate, toDate);
+        byteReader = pMgPortableLogManager->GetTraceLog(fromDate, toDate);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
         REQUIRE(logContents.length() == 0);
 
         // Use a null value for the date
-        REQUIRE_THROWS_MG(pMgdLogManager->GetTraceLog(nullptr, toDate), MgNullArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetTraceLog(nullptr, toDate), MgNullArgumentException);
 
         // Use dates more than 24 hours apart
         fromDate = new MgDateTime(2005, 2, 18, 14, 0, 0, 0);
         toDate = new MgDateTime(2005, 2, 19, 18, 0, 0, 0);
-        REQUIRE_THROWS_MG(pMgdLogManager->GetTraceLog(fromDate, toDate), MgInvalidArgumentException);
+        REQUIRE_THROWS_MG(pMgPortableLogManager->GetTraceLog(fromDate, toDate), MgInvalidArgumentException);
 
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1525,7 +1525,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetTraceLogFileName(originalName);
+        pMgPortableLogManager->SetTraceLogFileName(originalName);
         throw;
     }
 }
@@ -1538,8 +1538,8 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetTraceLogInvalid", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    REQUIRE_THROWS_MG(pMgdLogManager->GetTraceLog(-1), MgArgumentOutOfRangeException);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    REQUIRE_THROWS_MG(pMgPortableLogManager->GetTraceLog(-1), MgArgumentOutOfRangeException);
 }
 
 ///----------------------------------------------------------------------------
@@ -1553,9 +1553,9 @@
     STRING logEntry;
     STRING::size_type pos;
 
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    bool bOriginalEnabled = pMgdLogManager->IsAccessLogEnabled();
-    pMgdLogManager->SetAccessLogEnabled(true);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    bool bOriginalEnabled = pMgPortableLogManager->IsAccessLogEnabled();
+    pMgPortableLogManager->SetAccessLogEnabled(true);
 
     STRING entry = L"TestAccessEntry";
     MG_LOG_ACCESS_ENTRY(entry, L"TestClient", L"TestClientIp", L"TestUser");
@@ -1563,11 +1563,11 @@
     // Give the server time to write out the entry as it is on a different thread
     ACE_OS::sleep(2);
 
-    pMgdLogManager->SetAccessLogEnabled(bOriginalEnabled);
+    pMgPortableLogManager->SetAccessLogEnabled(bOriginalEnabled);
 
     try
     {
-        byteReader = pMgdLogManager->GetAccessLog(1);
+        byteReader = pMgPortableLogManager->GetAccessLog(1);
         logEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
     }
     catch (MgException* e)
@@ -1597,9 +1597,9 @@
     STRING logEntry;
     STRING::size_type pos;
 
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    bool bOriginalEnabled = pMgdLogManager->IsAdminLogEnabled();
-    pMgdLogManager->SetAdminLogEnabled(true);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    bool bOriginalEnabled = pMgPortableLogManager->IsAdminLogEnabled();
+    pMgPortableLogManager->SetAdminLogEnabled(true);
 
     STRING entry = L"TestAdminEntry";
     MG_LOG_ADMIN_ENTRY(entry, L"TestClient", L"TestClientIp", L"TestUser");
@@ -1607,11 +1607,11 @@
     // Give the server time to write out the entry as it is on a different thread
     ACE_OS::sleep(2);
 
-    pMgdLogManager->SetAdminLogEnabled(bOriginalEnabled);
+    pMgPortableLogManager->SetAdminLogEnabled(bOriginalEnabled);
 
     try
     {
-        byteReader = pMgdLogManager->GetAdminLog(1);
+        byteReader = pMgPortableLogManager->GetAdminLog(1);
         logEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
     }
     catch (MgException* e)
@@ -1640,9 +1640,9 @@
     STRING logEntry;
     STRING::size_type pos;
 
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    bool bOriginalEnabled = pMgdLogManager->IsAuthenticationLogEnabled();
-    pMgdLogManager->SetAuthenticationLogEnabled(true);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    bool bOriginalEnabled = pMgPortableLogManager->IsAuthenticationLogEnabled();
+    pMgPortableLogManager->SetAuthenticationLogEnabled(true);
 
     STRING entry = L"TestAuthenticationEntry";
     MG_LOG_AUTHENTICATION_ENTRY(entry);
@@ -1650,11 +1650,11 @@
     // Give the server time to write out the entry as it is on a different thread
     ACE_OS::sleep(2);
 
-    pMgdLogManager->SetAdminLogEnabled(bOriginalEnabled);
+    pMgPortableLogManager->SetAdminLogEnabled(bOriginalEnabled);
 
     try
     {
-        byteReader = pMgdLogManager->GetAuthenticationLog(1);
+        byteReader = pMgPortableLogManager->GetAuthenticationLog(1);
         logEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
     }
     catch (MgException* e)
@@ -1683,9 +1683,9 @@
     STRING logEntry;
     STRING::size_type pos;
 
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    bool bOriginalEnabled = pMgdLogManager->IsErrorLogEnabled();
-    pMgdLogManager->SetErrorLogEnabled(true);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    bool bOriginalEnabled = pMgPortableLogManager->IsErrorLogEnabled();
+    pMgPortableLogManager->SetErrorLogEnabled(true);
 
     STRING entry = L"TestErrorEntry";
     MG_LOG_ERROR_ENTRY(entry);
@@ -1693,11 +1693,11 @@
     // Give the server time to write out the entry as it is on a different thread
     ACE_OS::sleep(2);
 
-    pMgdLogManager->SetErrorLogEnabled(bOriginalEnabled);
+    pMgPortableLogManager->SetErrorLogEnabled(bOriginalEnabled);
 
     try
     {
-        byteReader = pMgdLogManager->GetErrorLog(1);
+        byteReader = pMgPortableLogManager->GetErrorLog(1);
         logEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
     }
     catch (MgException* e)
@@ -1726,9 +1726,9 @@
     STRING logEntry;
     STRING::size_type pos;
 
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    bool bOriginalEnabled = pMgdLogManager->IsTraceLogEnabled();
-    pMgdLogManager->SetTraceLogEnabled(true);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    bool bOriginalEnabled = pMgPortableLogManager->IsTraceLogEnabled();
+    pMgPortableLogManager->SetTraceLogEnabled(true);
 
     STRING entry = L"TestTraceEntry";
     MG_LOG_TRACE_ENTRY(entry);
@@ -1736,11 +1736,11 @@
     // Give the server time to write out the entry as it is on a different thread
     ACE_OS::sleep(2);
 
-    pMgdLogManager->SetTraceLogEnabled(bOriginalEnabled);
+    pMgPortableLogManager->SetTraceLogEnabled(bOriginalEnabled);
 
     try
     {
-        byteReader = pMgdLogManager->GetTraceLog(1);
+        byteReader = pMgPortableLogManager->GetTraceLog(1);
         logEntry = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
     }
     catch (MgException* e)
@@ -1766,10 +1766,10 @@
 ///----------------------------------------------------------------------------
 TEST_CASE("GetLogFile", "[LogManager]")
 {
-    MgdLogManager* pMgdLogManager = MgdLogManager::GetInstance();
-    STRING path = pMgdLogManager->GetLogsPath();
-    STRING originalName = pMgdLogManager->GetAccessLogFileName();
-    pMgdLogManager->SetAccessLogFileName(TestName);
+    MgPortableLogManager* pMgPortableLogManager = MgPortableLogManager::GetInstance();
+    STRING path = pMgPortableLogManager->GetLogsPath();
+    STRING originalName = pMgPortableLogManager->GetAccessLogFileName();
+    pMgPortableLogManager->SetAccessLogFileName(TestName);
 
     STRING contents = Entry1 + Entry2 + Entry3 + Entry4 + LastEntry;
     CreateFile(path + TestName, contents);
@@ -1780,14 +1780,14 @@
     try
     {
         Ptr<MgByteReader> byteReader;
-        byteReader = pMgdLogManager->GetLogFile(TestName);
+        byteReader = pMgPortableLogManager->GetLogFile(TestName);
         logContents = MgUtil::MultiByteToWideChar(MgUtil::GetTextFromReader(byteReader));
 
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
     }
     catch (MgException* e)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         STRING message = e->GetDetails(TestServiceFactory::TEST_LOCALE);
         SAFE_RELEASE(e);
         FAIL(MG_WCHAR_TO_CHAR(message.c_str()));
@@ -1794,7 +1794,7 @@
     }
     catch (...)
     {
-        pMgdLogManager->SetAccessLogFileName(originalName);
+        pMgPortableLogManager->SetAccessLogFileName(originalName);
         throw;
     }
 

Modified: trunk/MgDev/Portable/UnitTest/TestLogManagerThread.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestLogManagerThread.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestLogManagerThread.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TestLogManagerThread.h"
 //#include "ServerManager.h"
 #include "Log/LogType.h"
@@ -29,7 +29,7 @@
 
 int TestLogManagerThread::svc()
 {
-    MgdLogManager* pMan = MgdLogManager::GetInstance();
+    MgPortableLogManager* pMan = MgPortableLogManager::GetInstance();
     if (nullptr == pMan)
     {
         throw new MgException(MgExceptionCodes::MgNullReferenceException, L"TestLogManagerThread.svc", __LINE__, __WFILE__, nullptr, L"", nullptr);

Modified: trunk/MgDev/Portable/UnitTest/TestMappingService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestMappingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestMappingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #include "CatchHelperMacros.h"
 #include "TestServiceFactory.h"
@@ -25,60 +25,60 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdMappingService> pService = dynamic_cast<MgdMappingService*>(
+        Ptr<MgPortableMappingService> pService = dynamic_cast<MgPortableMappingService*>(
             factory->CreateService(MgServiceType::MappingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mapRes1 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map1 = new MgdMap(mapRes1, L"UnitTestSheboygan1");
+        Ptr<MgPortableMap> map1 = new MgPortableMap(mapRes1, L"UnitTestSheboygan1");
         map1->SetViewScale(200e+6);
 
         // make another runtime map
         Ptr<MgResourceIdentifier> mapRes2 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map2 = new MgdMap(mapRes2, L"UnitTestSheboygan2");
+        Ptr<MgPortableMap> map2 = new MgPortableMap(mapRes2, L"UnitTestSheboygan2");
         map2->SetViewScale(100e+6);
 
         // make yet another runtime map
         Ptr<MgResourceIdentifier> mapRes3 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map3 = new MgdMap(mapRes3, L"UnitTestSheboygan3");
+        Ptr<MgPortableMap> map3 = new MgPortableMap(mapRes3, L"UnitTestSheboygan3");
         map3->SetViewScale(20e+6);
 
         // make a 4th runtime map
         Ptr<MgResourceIdentifier> mapRes4 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map4 = new MgdMap(mapRes4, L"UnitTestSheboygan4");
+        Ptr<MgPortableMap> map4 = new MgPortableMap(mapRes4, L"UnitTestSheboygan4");
         map4->SetViewScale(20e+6);
 
         // Create the DwfVersion
-        Ptr<MgdDwfVersion> version = new MgdDwfVersion();
+        Ptr<MgPortableDwfVersion> version = new MgPortableDwfVersion();
 
         // Create some plotSpecs
-        Ptr<MgdPlotSpecification> plotSpec1 = new MgdPlotSpecification(8.5f, 11.f, L"in", 0.5, 0.5, 0.5, 0.5);
-        Ptr<MgdPlotSpecification> plotSpec2 = new MgdPlotSpecification(11.f, 8.5f, L"in", 1, 1, 1, 1);
-        Ptr<MgdPlotSpecification> plotSpec3 = new MgdPlotSpecification(8.f, 11.f, L"in", 0.25, 0.25, 0.25, 0.25);
-        Ptr<MgdPlotSpecification> plotSpec4 = new MgdPlotSpecification(8.5f, 11.f, L"in", 0.25, 0.25, 0.25, 0.25);
+        Ptr<MgPortablePlotSpecification> plotSpec1 = new MgPortablePlotSpecification(8.5f, 11.f, L"in", 0.5, 0.5, 0.5, 0.5);
+        Ptr<MgPortablePlotSpecification> plotSpec2 = new MgPortablePlotSpecification(11.f, 8.5f, L"in", 1, 1, 1, 1);
+        Ptr<MgPortablePlotSpecification> plotSpec3 = new MgPortablePlotSpecification(8.f, 11.f, L"in", 0.25, 0.25, 0.25, 0.25);
+        Ptr<MgPortablePlotSpecification> plotSpec4 = new MgPortablePlotSpecification(8.5f, 11.f, L"in", 0.25, 0.25, 0.25, 0.25);
 
         Ptr<MgResourceIdentifier> allElementsLayout = new MgResourceIdentifier(L"Library://UnitTests/PrintLayouts/AllElements.PrintLayout");
-        Ptr<MgdLayout> layout = new MgdLayout(allElementsLayout, L"Layout1", MgdUnitType::USEnglish);
+        Ptr<MgPortableLayout> layout = new MgPortableLayout(allElementsLayout, L"Layout1", MgPortableUnitType::USEnglish);
 
         // Create some MapPlots
-        Ptr<MgdMapPlot> mapPlot1 = new MgdMapPlot(map1, plotSpec1, layout);
+        Ptr<MgPortableMapPlot> mapPlot1 = new MgPortableMapPlot(map1, plotSpec1, layout);
 
         Ptr<MgCoordinate> center = new MgCoordinateXY(-100, 40);
         double scale = 50e+6;
-        Ptr<MgdMapPlot> mapPlot2 = new MgdMapPlot(map2, center, scale, plotSpec2, layout);
+        Ptr<MgPortableMapPlot> mapPlot2 = new MgPortableMapPlot(map2, center, scale, plotSpec2, layout);
 
         Ptr<MgCoordinate> ll = new MgCoordinateXY(-130, 45);
         Ptr<MgCoordinate> ur = new MgCoordinateXY(-100, 60);
         Ptr<MgEnvelope> extent = new MgEnvelope(ll, ur);
-        Ptr<MgdMapPlot> mapPlot3 = new MgdMapPlot(map3, extent, false, plotSpec3, layout);
+        Ptr<MgPortableMapPlot> mapPlot3 = new MgPortableMapPlot(map3, extent, false, plotSpec3, layout);
 
-        Ptr<MgdMapPlot> mapPlot4 = new MgdMapPlot(map4, extent, true, plotSpec4, layout);
+        Ptr<MgPortableMapPlot> mapPlot4 = new MgPortableMapPlot(map4, extent, true, plotSpec4, layout);
 
         // Setup the MapPlot collection
-        Ptr<MgdMapPlotCollection> mapPlots = new MgdMapPlotCollection();
+        Ptr<MgPortableMapPlotCollection> mapPlots = new MgPortableMapPlotCollection();
         mapPlots->Add(mapPlot1);
         mapPlots->Add(mapPlot2);
         mapPlots->Add(mapPlot3);
@@ -110,28 +110,28 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdMappingService> pService = dynamic_cast<MgdMappingService*>(
+        Ptr<MgPortableMappingService> pService = dynamic_cast<MgPortableMappingService*>(
             factory->CreateService(MgServiceType::MappingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mapRes1 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map1 = new MgdMap(mapRes1, L"UnitTestSheboygan1");
+        Ptr<MgPortableMap> map1 = new MgPortableMap(mapRes1, L"UnitTestSheboygan1");
         map1->SetViewScale(400e+6);
 
-        Ptr<MgdDwfVersion> version = new MgdDwfVersion();
+        Ptr<MgPortableDwfVersion> version = new MgPortableDwfVersion();
 
         Ptr<MgResourceIdentifier> allElementsLayout = new MgResourceIdentifier(L"Library://UnitTests/PrintLayouts/AllElements.PrintLayout");
 
-        Ptr<MgdPlotSpecification> plotSpec = new MgdPlotSpecification(8.5f, 11.f, L"inches", .5, .5, .5, .5);
+        Ptr<MgPortablePlotSpecification> plotSpec = new MgPortablePlotSpecification(8.5f, 11.f, L"inches", .5, .5, .5, .5);
         Ptr<MgCoordinate> center = new MgCoordinateXY(-120, 40);
         double scale = 20e+6;
         Ptr<MgCoordinate> ll = new MgCoordinateXY(-180, 0);
         Ptr<MgCoordinate> ur = new MgCoordinateXY(0, 90);
         MgEnvelope extents(ll, ur);
-        Ptr<MgdLayout> layout = new MgdLayout(allElementsLayout, L"TestTitle", MgdUnitType::USEnglish);
+        Ptr<MgPortableLayout> layout = new MgPortableLayout(allElementsLayout, L"TestTitle", MgPortableUnitType::USEnglish);
 
         // call the API
         Ptr<MgByteReader> eplot = pService->GeneratePlot(map1, plotSpec, nullptr, version);
@@ -160,28 +160,28 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdMappingService> pService = dynamic_cast<MgdMappingService*>(
+        Ptr<MgPortableMappingService> pService = dynamic_cast<MgPortableMappingService*>(
             factory->CreateService(MgServiceType::MappingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mapRes1 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map1 = new MgdMap(mapRes1, L"UnitTestSheboygan1");
+        Ptr<MgPortableMap> map1 = new MgPortableMap(mapRes1, L"UnitTestSheboygan1");
         map1->SetViewScale(400e+6);
 
-        Ptr<MgdDwfVersion> version = new MgdDwfVersion();
+        Ptr<MgPortableDwfVersion> version = new MgPortableDwfVersion();
 
         Ptr<MgResourceIdentifier> allElementsLayout = new MgResourceIdentifier(L"Library://UnitTests/PrintLayouts/AllElements.PrintLayout");
 
-        Ptr<MgdPlotSpecification> plotSpec = new MgdPlotSpecification(8.f, 11.f, L"inches", .5, .5, .5, .5);
+        Ptr<MgPortablePlotSpecification> plotSpec = new MgPortablePlotSpecification(8.f, 11.f, L"inches", .5, .5, .5, .5);
         Ptr<MgCoordinate> center = new MgCoordinateXY(-120, 40);
         double scale = 20e+6;
         Ptr<MgCoordinate> ll = new MgCoordinateXY(-180, 0);
         Ptr<MgCoordinate> ur = new MgCoordinateXY(0, 90);
         MgEnvelope extents(ll, ur);
-        Ptr<MgdLayout> layout = new MgdLayout(allElementsLayout, L"TestTitle", MgdUnitType::USEnglish);
+        Ptr<MgPortableLayout> layout = new MgPortableLayout(allElementsLayout, L"TestTitle", MgPortableUnitType::USEnglish);
 
         // call the API
         Ptr<MgByteReader> eplot = pService->GeneratePlot(map1, center, scale, plotSpec, layout, version);
@@ -209,28 +209,28 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdMappingService> pService = dynamic_cast<MgdMappingService*>(
+        Ptr<MgPortableMappingService> pService = dynamic_cast<MgPortableMappingService*>(
             factory->CreateService(MgServiceType::MappingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mapRes1 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map1 = new MgdMap(mapRes1, L"UnitTestSheboygan1");
+        Ptr<MgPortableMap> map1 = new MgPortableMap(mapRes1, L"UnitTestSheboygan1");
         map1->SetViewScale(400e+6);
 
-        Ptr<MgdDwfVersion> version = new MgdDwfVersion();
+        Ptr<MgPortableDwfVersion> version = new MgPortableDwfVersion();
 
         Ptr<MgResourceIdentifier> allElementsLayout = new MgResourceIdentifier(L"Library://UnitTests/PrintLayouts/AllElements.PrintLayout");
 
-        Ptr<MgdPlotSpecification> plotSpec = new MgdPlotSpecification(11.f, 8.5f, L"inches", .5, .5, .5, .5);
+        Ptr<MgPortablePlotSpecification> plotSpec = new MgPortablePlotSpecification(11.f, 8.5f, L"inches", .5, .5, .5, .5);
         Ptr<MgCoordinate> center = new MgCoordinateXY(-120, 40);
         double scale = 20e+6;
         Ptr<MgCoordinate> ll = new MgCoordinateXY(-180, 0);
         Ptr<MgCoordinate> ur = new MgCoordinateXY(0, 90);
         Ptr<MgEnvelope> extents = new MgEnvelope(ll, ur);
-        Ptr<MgdLayout> layout = new MgdLayout(allElementsLayout, L"TestTitle", MgdUnitType::USEnglish);
+        Ptr<MgPortableLayout> layout = new MgPortableLayout(allElementsLayout, L"TestTitle", MgPortableUnitType::USEnglish);
 
         // call the API
         Ptr<MgByteReader> eplot = pService->GeneratePlot(map1, extents, false, plotSpec, layout, version);
@@ -258,28 +258,28 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdMappingService> pService = dynamic_cast<MgdMappingService*>(
+        Ptr<MgPortableMappingService> pService = dynamic_cast<MgPortableMappingService*>(
             factory->CreateService(MgServiceType::MappingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mapRes1 = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-        Ptr<MgdMap> map1 = new MgdMap(mapRes1, L"UnitTestSheboygan1");
+        Ptr<MgPortableMap> map1 = new MgPortableMap(mapRes1, L"UnitTestSheboygan1");
         map1->SetViewScale(400e+6);
 
-        Ptr<MgdDwfVersion> version = new MgdDwfVersion();
+        Ptr<MgPortableDwfVersion> version = new MgPortableDwfVersion();
 
         Ptr<MgResourceIdentifier> allElementsLayout = new MgResourceIdentifier(L"Library://UnitTests/PrintLayouts/AllElements.PrintLayout");
 
-        Ptr<MgdPlotSpecification> plotSpec = new MgdPlotSpecification(8.f, 11.f, L"inches", .5, .5, .5, .5);
+        Ptr<MgPortablePlotSpecification> plotSpec = new MgPortablePlotSpecification(8.f, 11.f, L"inches", .5, .5, .5, .5);
         Ptr<MgCoordinate> center = new MgCoordinateXY(-120, 40);
         double scale = 20e+6;
         Ptr<MgCoordinate> ll = new MgCoordinateXY(-180, 0);
         Ptr<MgCoordinate> ur = new MgCoordinateXY(0, 90);
         Ptr<MgEnvelope> extents = new MgEnvelope(ll, ur);
-        Ptr<MgdLayout> layout = new MgdLayout(allElementsLayout, L"TestTitle", MgdUnitType::USEnglish);
+        Ptr<MgPortableLayout> layout = new MgPortableLayout(allElementsLayout, L"TestTitle", MgPortableUnitType::USEnglish);
 
         // call the API
         Ptr<MgByteReader> eplot = pService->GeneratePlot(map1, extents, true, plotSpec, nullptr, version);

Modified: trunk/MgDev/Portable/UnitTest/TestPerformance.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestPerformance.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestPerformance.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TestPerformance.h"
 #include "CppUnitExtensions.h"
 #include "ServiceManager.h"

Modified: trunk/MgDev/Portable/UnitTest/TestProfilingService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestProfilingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestProfilingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "StylizationDefs.h"
 
 #include "CatchHelperMacros.h"
@@ -22,10 +22,10 @@
 #include "TestServiceFactory.h"
 #include "catch.hpp"
 
-static MgdMap* CreateTestMap()
+static MgPortableMap* CreateTestMap()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres, L"UnitTestSheboygan");
+    MgPortableMap* map = new MgPortableMap(mdfres, L"UnitTestSheboygan");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
     Ptr<MgPoint> ptNewCenter = new MgPoint(coordNewCenter);
@@ -38,10 +38,10 @@
     return map;
 }
 
-static MgdMap* CreateTestMapWithWatermark()
+static MgPortableMap* CreateTestMapWithWatermark()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/SheboyganWithWatermark.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres, L"UnitTestSheboyganWithWatermark");
+    MgPortableMap* map = new MgPortableMap(mdfres, L"UnitTestSheboyganWithWatermark");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
     Ptr<MgPoint> ptNewCenter = new MgPoint(coordNewCenter);
@@ -54,7 +54,7 @@
     return map;
 }
 
-static MgdSelection* CreateSelection(MgdMap* map)
+static MgPortableSelection* CreateSelection(MgPortableMap* map)
 {
     // make a selection in normal map
     STRING layerId;
@@ -72,7 +72,7 @@
     selectionStr.append(layerId);
     selectionStr.append(L"\"><Class id=\"SHP_Schema:HydrographicPolygons\"><ID>HQAAAA==</ID></Class></Layer></FeatureSet>");
 
-    MgdSelection* selection = new MgdSelection(map, selectionStr);
+    MgPortableSelection* selection = new MgPortableSelection(map, selectionStr);
     return selection;
 }
 
@@ -80,22 +80,22 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdProfilingService> pService = dynamic_cast<MgdProfilingService*>(
+        Ptr<MgPortableProfilingService> pService = dynamic_cast<MgPortableProfilingService*>(
             factory->CreateService(MgServiceType::ProfilingService));
         assert(pService.p != nullptr);
 
         // make a runtime normal map
-        Ptr<MgdMap> map = CreateTestMap();
-        Ptr<MgdSelection> selectionOnMap = CreateSelection(map);
+        Ptr<MgPortableMap> map = CreateTestMap();
+        Ptr<MgPortableSelection> selectionOnMap = CreateSelection(map);
 
         // make a runtime map with watermark
-        Ptr<MgdMap> mapWithWatermark = CreateTestMapWithWatermark();
-        Ptr<MgdSelection> selectionOnMapWithWatermark = CreateSelection(mapWithWatermark);
+        Ptr<MgPortableMap> mapWithWatermark = CreateTestMapWithWatermark();
+        Ptr<MgPortableSelection> selectionOnMapWithWatermark = CreateSelection(mapWithWatermark);
 
         // make a rendering option
-        Ptr<MgdRenderingOptions> options = new MgdRenderingOptions(L"PNG",MgdRenderingOptions::RenderSelection| MgdRenderingOptions::RenderLayers| MgdRenderingOptions::KeepSelection,nullptr);
+        Ptr<MgPortableRenderingOptions> options = new MgPortableRenderingOptions(L"PNG",MgPortableRenderingOptions::RenderSelection| MgPortableRenderingOptions::RenderLayers| MgPortableRenderingOptions::KeepSelection,nullptr);
         
         // profile rendering normal map
         Ptr<MgByteReader> rdr1 = pService->ProfileRenderDynamicOverlay(map, nullptr, options);
@@ -129,22 +129,22 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdProfilingService> pService = dynamic_cast<MgdProfilingService*>(
+        Ptr<MgPortableProfilingService> pService = dynamic_cast<MgPortableProfilingService*>(
             factory->CreateService(MgServiceType::ProfilingService));
         assert(pService.p != nullptr);
 
         // make a runtime normal map
-        Ptr<MgdMap> map = CreateTestMap();
-        Ptr<MgdSelection> selectionOnMap = CreateSelection(map);
+        Ptr<MgPortableMap> map = CreateTestMap();
+        Ptr<MgPortableSelection> selectionOnMap = CreateSelection(map);
 
         // make a runtime map with watermark
-        Ptr<MgdMap> mapWithWatermark = CreateTestMapWithWatermark();
-        Ptr<MgdSelection> selectionOnMapWithWatermark = CreateSelection(mapWithWatermark);
+        Ptr<MgPortableMap> mapWithWatermark = CreateTestMapWithWatermark();
+        Ptr<MgPortableSelection> selectionOnMapWithWatermark = CreateSelection(mapWithWatermark);
 
         // make a rendering option
-        Ptr<MgdRenderingOptions> options = new MgdRenderingOptions(L"PNG",MgdRenderingOptions::RenderSelection| MgdRenderingOptions::RenderLayers| MgdRenderingOptions::KeepSelection,nullptr);
+        Ptr<MgPortableRenderingOptions> options = new MgPortableRenderingOptions(L"PNG",MgPortableRenderingOptions::RenderSelection| MgPortableRenderingOptions::RenderLayers| MgPortableRenderingOptions::KeepSelection,nullptr);
 
         Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
         Ptr<MgColor> bgc = new MgColor(255, 255, 255, 255);

Modified: trunk/MgDev/Portable/UnitTest/TestRenderingService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestRenderingService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestRenderingService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "StylizationDefs.h"
 
 #include "CatchHelperMacros.h"
@@ -33,10 +33,10 @@
     return ret;
 }
 
-static MgdMap* CreateTestMapWithWatermark()
+static MgPortableMap* CreateTestMapWithWatermark()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/SheboyganWithWatermark.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres);
+    MgPortableMap* map = new MgPortableMap(mdfres);
     //map->Create(mdfres, L"UnitTestSheboyganWithWatermark");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
@@ -50,10 +50,10 @@
     return map;
 }
 
-static MgdMap* CreateTestMap()
+static MgPortableMap* CreateTestMap()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/Sheboygan.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres);
+    MgPortableMap* map = new MgPortableMap(mdfres);
     //map->Create(mdfres, L"UnitTestSheboygan");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
@@ -67,10 +67,10 @@
     return map;
 }
 
-static MgdMap* CreateTestStylizationFunctionMap()
+static MgPortableMap* CreateTestStylizationFunctionMap()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/StylizationFuncs.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres);
+    MgPortableMap* map = new MgPortableMap(mdfres);
     //map->Create(mdfres, L"StylizationFuncs");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
@@ -84,10 +84,10 @@
     return map;
 }
 
-static MgdMap* CreateTestTiledMap()
+static MgPortableMap* CreateTestTiledMap()
 {
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/BaseMap.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres, L"UnitTestSheboyganTiled");
+    MgPortableMap* map = new MgPortableMap(mdfres, L"UnitTestSheboyganTiled");
 
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
     Ptr<MgPoint> ptNewCenter = new MgPoint(coordNewCenter);
@@ -101,7 +101,7 @@
 }
 
 // creates a selection bounds in mapping space
-static MgPolygon* CreateSelectionPolygon(MgdMap* map, double width, double height)
+static MgPolygon* CreateSelectionPolygon(MgPortableMap* map, double width, double height)
 {
     Ptr<MgPoint> centerPt = map->GetViewCenter();
     Ptr<MgCoordinate> center = centerPt->GetCoordinate();
@@ -130,14 +130,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
 //        clock_t t0 = clock();
 
@@ -178,18 +178,18 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestTiledMap();
+        Ptr<MgPortableMap> map = CreateTestTiledMap();
 
 //        clock_t t0 = clock();
 
-        Ptr<MgdRenderingOptions> renderOpts = new MgdRenderingOptions(imageFormat, MgdRenderingOptions::RenderLayers | MgdRenderingOptions::RenderBaseLayers, nullptr);
+        Ptr<MgPortableRenderingOptions> renderOpts = new MgPortableRenderingOptions(imageFormat, MgPortableRenderingOptions::RenderLayers | MgPortableRenderingOptions::RenderBaseLayers, nullptr);
 
         map->SetViewScale(12000.0);
 //        for (int i=0; i<10; i++)
@@ -199,7 +199,7 @@
             rdr1->ToFile(GetPath(L"../UnitTestFiles/RenderDynamicOverlayTiled_WithBase12k", imageFormat, extension));
 //        }
 
-        Ptr<MgdRenderingOptions> renderOpts2 = new MgdRenderingOptions(imageFormat, MgdRenderingOptions::RenderLayers, nullptr);
+        Ptr<MgPortableRenderingOptions> renderOpts2 = new MgPortableRenderingOptions(imageFormat, MgPortableRenderingOptions::RenderLayers, nullptr);
 
 //        for (int i=0; i<100; i++)
 //        {
@@ -228,14 +228,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // call the API using scales of 75000 and 12000
         map->SetViewScale(75000.0);
@@ -262,14 +262,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMapWithWatermark();
+        Ptr<MgPortableMap> map = CreateTestMapWithWatermark();
 
         // call the API using scales of 75000 and 12000
         map->SetViewScale(75000.0);
@@ -297,9 +297,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -308,7 +308,7 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // call the API using scales of 75000 and 12000
         Ptr<MgColor> bgc = new MgColor(255, 255, 255, 255);
@@ -349,13 +349,13 @@
         group3->SetDisplayInLegend(false);
         layerGroups->Add(group3);
 
-        Ptr<MgdLayer> layer = new MgdLayer(resId, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(resId, svcResource);
         layer->SetName(L"HydroPolygons");
         layer->SetLegendLabel(L"HydroPolygons (Test Group)");
         layer->SetGroup(group);
         layer->SetDisplayInLegend(true);
 
-        Ptr<MgdLayer> layer2 = new MgdLayer(ldfRail, svcResource);
+        Ptr<MgPortableLayer> layer2 = new MgPortableLayer(ldfRail, svcResource);
         layer2->SetName(L"RailUnderNestedGroup");
         layer2->SetLegendLabel(L"Rail (Nest Child)");
         layer2->SetGroup(group2);
@@ -395,14 +395,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
         map->SetViewScale(75000.0);
         Ptr<MgColor> bgc = new MgColor(255, 255, 255, 255);
 
@@ -453,13 +453,13 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
-        Ptr<MgdMap> map = CreateTestStylizationFunctionMap();
+        Ptr<MgPortableMap> map = CreateTestStylizationFunctionMap();
         
         // call the API using a scale of 75000
         map->SetViewScale(75000.0);
@@ -495,9 +495,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -506,11 +506,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/MultiFTS.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -539,9 +539,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -550,11 +550,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/MultiCTS.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -583,9 +583,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -594,11 +594,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/MultiFTSWithTheme.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -627,9 +627,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -638,11 +638,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/MultiCTSWithTheme.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -671,9 +671,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -682,11 +682,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/MultiFTSSingleCTS.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -716,9 +716,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -727,11 +727,11 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // Insert our test layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/SingleFTSMultiCTS.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetLegendLabel(layerDef->GetName());
         Ptr<MgLayerCollection> layers = map->GetLayers();
         layers->Insert(0, layer);
@@ -760,9 +760,9 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
@@ -771,7 +771,7 @@
         REQUIRE(svcResource.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // call the API using a scale of 60000
         map->SetViewScale(60000.0);
@@ -784,7 +784,7 @@
 
         // Insert our watermarked rail layer
         Ptr<MgResourceIdentifier> layerDef = new MgResourceIdentifier(L"Library://UnitTests/Layers/RailWatermark.LayerDefinition");
-        Ptr<MgdLayer> layer = new MgdLayer(layerDef, svcResource);
+        Ptr<MgPortableLayer> layer = new MgPortableLayer(layerDef, svcResource);
         layer->SetName(L"Rail");
         layer->SetLegendLabel(layerDef->GetName());
         layers->Insert(0, layer);
@@ -791,7 +791,7 @@
         map->Save();
 
         Ptr<MgColor> selColor = new MgColor(0, 0, 255);
-        Ptr<MgdRenderingOptions> renderOpts = new MgdRenderingOptions(imageFormat, MgdRenderingOptions::RenderLayers | MgdRenderingOptions::RenderBaseLayers, selColor);
+        Ptr<MgPortableRenderingOptions> renderOpts = new MgPortableRenderingOptions(imageFormat, MgPortableRenderingOptions::RenderLayers | MgPortableRenderingOptions::RenderBaseLayers, selColor);
         Ptr<MgByteReader> img = pService->RenderDynamicOverlay(map, nullptr, renderOpts);
         img->ToFile(GetPath(L"../UnitTestFiles/LayerWatermarkOn", imageFormat, extension));
 
@@ -816,15 +816,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/Capitals.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestSymbology");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestSymbology");
 
         INT32 pixels = 512;
 
@@ -858,15 +858,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/CapitalsParam.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestSymbology");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestSymbology");
 
         INT32 pixels = 512;
 
@@ -900,15 +900,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/Lines.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestSymbology");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestSymbology");
 
         INT32 pixels = 512;
 
@@ -942,15 +942,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/LinesCrossTick.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestSymbology");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestSymbology");
 
         INT32 pixels = 512;
 
@@ -984,15 +984,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/UT_Annotation1.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestAnnotation1");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestAnnotation1");
 
         INT32 pixels = 512;
 
@@ -1026,15 +1026,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/UT_Annotation2.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestAnnotation2");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestAnnotation2");
 
         INT32 pixels = 512;
 
@@ -1068,15 +1068,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/UT_Annotation3.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestAnnotation3");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestAnnotation3");
 
         INT32 pixels = 512;
 
@@ -1110,15 +1110,15 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
         Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/UT_SymbologyPolygons.MapDefinition");
-        Ptr<MgdMap> map = new MgdMap(mdfres, L"UnitTestSymbologyPolygons");
+        Ptr<MgPortableMap> map = new MgPortableMap(mdfres, L"UnitTestSymbologyPolygons");
 
         Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.733253, 43.746199);
         Ptr<MgPoint> ptNewCenter = new MgPoint(coordNewCenter);
@@ -1204,14 +1204,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgdRenderingService> pService = dynamic_cast<MgdRenderingService*>(
+        Ptr<MgPortableRenderingService> pService = dynamic_cast<MgPortableRenderingService*>(
             factory->CreateService(MgServiceType::RenderingService));
         REQUIRE(pService.p != nullptr);
 
         // make a runtime map
-        Ptr<MgdMap> map = CreateTestMap();
+        Ptr<MgPortableMap> map = CreateTestMap();
 
         // call the API using a scale of 75000
         map->SetViewScale(75000.0);
@@ -1220,7 +1220,7 @@
         layerNames1->Add(L"Rail");
         layerNames1->Add(L"HydrographicPolygons");
         Ptr<MgPolygon> poly1 = CreateSelectionPolygon(map, 0.3, 0.3);
-        Ptr<MgdFeatureInformation> fi1 = pService->QueryFeatures(map, layerNames1, poly1, MgFeatureSpatialOperations::Within, -1);
+        Ptr<MgPortableFeatureInformation> fi1 = pService->QueryFeatures(map, layerNames1, poly1, MgFeatureSpatialOperations::Within, -1);
 
         // call the API using a scale of 12000
         map->SetViewScale(12000.0);
@@ -1229,7 +1229,7 @@
         layerNames2->Add(L"Rail");
         layerNames2->Add(L"Parcels");
         Ptr<MgPolygon> poly2 = CreateSelectionPolygon(map, 0.05, 0.05);
-        Ptr<MgdFeatureInformation> fi2 = pService->QueryFeatures(map, layerNames2, poly2, MgFeatureSpatialOperations::Within, -1);
+        Ptr<MgPortableFeatureInformation> fi2 = pService->QueryFeatures(map, layerNames2, poly2, MgFeatureSpatialOperations::Within, -1);
     }
     catch (MgException* e)
     {

Modified: trunk/MgDev/Portable/UnitTest/TestResourceService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestResourceService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestResourceService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "Services/Resource/ResourceContentCache.h"
 #include "Fdo.h"
 #include <ctime>
@@ -75,7 +75,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -101,7 +101,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -127,7 +127,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -153,7 +153,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -179,7 +179,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -206,7 +206,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -241,7 +241,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -267,7 +267,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> service = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
 
         if (nullptr == service)
@@ -306,7 +306,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -338,7 +338,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -379,7 +379,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -456,7 +456,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -508,7 +508,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -545,7 +545,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -583,7 +583,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -627,7 +627,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -653,7 +653,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -679,7 +679,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -705,7 +705,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -732,7 +732,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -770,7 +770,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -810,7 +810,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -850,7 +850,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -892,7 +892,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -929,7 +929,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -1021,7 +1021,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -1029,12 +1029,12 @@
         }
 
         // Try to enumerate mappings
-        Ptr<MgByteReader> byteReader0 = pService->EnumerateUnmanagedData(L"", false, MgdUnmanagedDataType::Folders, L"");
+        Ptr<MgByteReader> byteReader0 = pService->EnumerateUnmanagedData(L"", false, MgPortableUnmanagedDataType::Folders, L"");
         STRING mimeType0 = byteReader0->GetMimeType();
         REQUIRE(wcscmp(mimeType0.c_str(), MgMimeType::Xml.c_str()) == 0);
 
         // Enumerate all unmanaged data files
-        Ptr<MgByteReader> byteReader1 = pService->EnumerateUnmanagedData(L"", true, MgdUnmanagedDataType::Files, L"");
+        Ptr<MgByteReader> byteReader1 = pService->EnumerateUnmanagedData(L"", true, MgPortableUnmanagedDataType::Files, L"");
         STRING mimeType1 = byteReader1->GetMimeType();
         REQUIRE(wcscmp(mimeType1.c_str(), MgMimeType::Xml.c_str()) == 0);
     }
@@ -1050,7 +1050,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -1077,7 +1077,7 @@
         }
 
         //Evict all cached copies to avoid distortion of results due to caching
-        MgdResourceContentCache* cache = MgdResourceContentCache::GetInstance();
+        MgPortableResourceContentCache* cache = MgPortableResourceContentCache::GetInstance();
         cache->Clear();
 
         clock_t clock_start = clock();
@@ -1136,7 +1136,7 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
@@ -1167,8 +1167,8 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdResourceService> pService = dynamic_cast<MgdResourceService*>(fact->CreateService(MgServiceType::ResourceService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableResourceService> pService = dynamic_cast<MgPortableResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == 0)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestResourceService.TestCase_PackageNoOpUpdateRepository", __LINE__, __WFILE__, nullptr, L"", nullptr);

Modified: trunk/MgDev/Portable/UnitTest/TestServiceFactory.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestServiceFactory.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestServiceFactory.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -66,13 +66,13 @@
     // The whole test run starting
     void testRunStarting(Catch::TestRunInfo const& testRunInfo) override {
 
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
         Ptr<MgResourceService> pService = dynamic_cast<MgResourceService*>(fact->CreateService(MgServiceType::ResourceService));
         if (pService == nullptr)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestStart", __LINE__, __WFILE__, nullptr, L"", nullptr);
         }
-        Ptr<MgdFeatureService> featSvc = dynamic_cast<MgdFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
+        Ptr<MgPortableFeatureService> featSvc = dynamic_cast<MgPortableFeatureService*>(fact->CreateService(MgServiceType::FeatureService));
         if (featSvc == nullptr)
         {
             throw new MgException(MgExceptionCodes::MgServiceNotAvailableException, L"TestFeatureService.TestStart", __LINE__, __WFILE__, nullptr, L"", nullptr);
@@ -1066,9 +1066,9 @@
 
     // The whole test run ending
     void testRunEnded(Catch::TestRunStats const& testRunStats) override {
-        Ptr<MgdServiceFactory> factory = new MgdServiceFactory();
+        Ptr<MgPortableServiceFactory> factory = new MgPortableServiceFactory();
 
-        Ptr<MgResourceService> pService = dynamic_cast<MgdResourceService*>(
+        Ptr<MgResourceService> pService = dynamic_cast<MgPortableResourceService*>(
             factory->CreateService(MgServiceType::ResourceService));
         assert(pService.p != nullptr);
 
@@ -1550,7 +1550,7 @@
 #ifdef DEBUG
         ACE_DEBUG((LM_INFO, ACE_TEXT("\nConnection Pool status: \n\n")));
         std::vector<PoolCacheEntry*> entries;
-        MgdFdoConnectionPool::GetCacheInfo(entries);
+        MgPortableFdoConnectionPool::GetCacheInfo(entries);
         for (std::vector<PoolCacheEntry*>::iterator it = entries.begin(); it != entries.end(); it++)
         {
             STRING resId = (*it)->ResourceId;

Modified: trunk/MgDev/Portable/UnitTest/TestServiceFactory.h
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestServiceFactory.h	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestServiceFactory.h	2022-10-10 10:10:45 UTC (rev 9974)
@@ -18,7 +18,7 @@
 #ifndef _TESTSERVICEFACTORY_H
 #define _TESTSERVICEFACTORY_H
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #include <string>
 #include <set>

Modified: trunk/MgDev/Portable/UnitTest/TestTileService.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/TestTileService.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/TestTileService.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -15,7 +15,7 @@
 //  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-#include "MgDesktop.h"
+#include "MgPortable.h"
 
 #include "CatchHelperMacros.h"
 #include "TestServiceFactory.h"
@@ -34,7 +34,7 @@
 ////////////////////////////////////////////////////////////////
 /// Helpers
 ////////////////////////////////////////////////////////////////
-static MgdMap* CreateMap(CREFSTRING mapName = L"")
+static MgPortableMap* CreateMap(CREFSTRING mapName = L"")
 {
     // set a default name if not supplied
     STRING name = (mapName.empty()) ? L"UnitTestBaseMap" : mapName;
@@ -41,7 +41,7 @@
 
     // make a runtime map
     Ptr<MgResourceIdentifier> mdfres = new MgResourceIdentifier(L"Library://UnitTests/Maps/BaseMap.MapDefinition");
-    MgdMap* map = new MgdMap(mdfres, name);
+    MgPortableMap* map = new MgPortableMap(mdfres, name);
 
     // set the view
     Ptr<MgCoordinate> coordNewCenter = new MgCoordinateXY(-87.723636, 43.715015);
@@ -72,7 +72,7 @@
     INT32 threadId;
     bool done;
     bool saveTile;
-    Ptr<MgdMap> map;
+    Ptr<MgPortableMap> map;
     INT32 tileRow;
     INT32 tileCol;
 };
@@ -92,7 +92,7 @@
     INT32 tileRow  = threadData->tileRow;
     INT32 tileCol  = threadData->tileCol;
     bool saveTile  = threadData->saveTile;
-    Ptr<MgdMap> map = threadData->map;
+    Ptr<MgPortableMap> map = threadData->map;
     #ifdef _DEBUG
     printf("> thread %d started, tile %d,%d\n", threadId, tileRow, tileCol);
     #endif
@@ -100,8 +100,8 @@
     try
     {
         // get the tile service instance
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdTileService> svcTile = static_cast<MgdTileService*>(fact->CreateService(MgServiceType::TileService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableTileService> svcTile = static_cast<MgPortableTileService*>(fact->CreateService(MgServiceType::TileService));
         assert(svcTile != nullptr);
 
         // get the tile
@@ -152,7 +152,7 @@
         ACE_Thread_Manager* manager = ACE_Thread_Manager::instance();
 
         // make the runtime map
-        Ptr<MgdMap> map = CreateMap();
+        Ptr<MgPortableMap> map = CreateMap();
 
         // set up the tile indices
         INT32 numTileRows = tileRowMax - tileRowMin + 1;
@@ -179,7 +179,7 @@
             // each thread works with its own instance of the map
             Ptr<MgMemoryStreamHelper> helper = new MgMemoryStreamHelper();
             Ptr<MgStream> stream = new MgStream(helper);
-            Ptr<MgdMap> newMap = new MgdMap();
+            Ptr<MgPortableMap> newMap = new MgPortableMap();
             map->Serialize(stream);
             newMap->Deserialize(stream);
 
@@ -288,7 +288,7 @@
     INT32 threadId = threadData->threadId;
     INT32 tileRow  = threadData->tileRow;
     INT32 tileCol  = threadData->tileCol;
-    Ptr<MgdMap> map = threadData->map;
+    Ptr<MgPortableMap> map = threadData->map;
     #ifdef _DEBUG
     printf("> thread %d started, tile %d,%d\n", threadId, tileRow, tileCol);
     #endif
@@ -296,8 +296,8 @@
     try
     {
         // get the tile service instance
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdTileService> svcTile = static_cast<MgdTileService*>(fact->CreateService(MgServiceType::TileService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableTileService> svcTile = static_cast<MgPortableTileService*>(fact->CreateService(MgServiceType::TileService));
         assert(svcTile != nullptr);
 
         // find the finite display scale closest to the requested map scale
@@ -358,7 +358,7 @@
         ACE_Thread_Manager* manager = ACE_Thread_Manager::instance();
 
         // make the runtime map
-        Ptr<MgdMap> map = CreateMap();
+        Ptr<MgPortableMap> map = CreateMap();
 
         // set up the tile indices
         INT32 numTileRows = tileRowMax - tileRowMin + 1;
@@ -385,7 +385,7 @@
             // each thread works with its own instance of the map
             Ptr<MgMemoryStreamHelper> helper = new MgMemoryStreamHelper();
             Ptr<MgStream> stream = new MgStream(helper);
-            Ptr<MgdMap> newMap = new MgdMap();
+            Ptr<MgPortableMap> newMap = new MgPortableMap();
             map->Serialize(stream);
             newMap->Deserialize(stream);
 
@@ -547,7 +547,7 @@
         ACE_Thread_Manager* manager = ACE_Thread_Manager::instance();
 
         // make the runtime map
-        Ptr<MgdMap> map = CreateMap();
+        Ptr<MgPortableMap> map = CreateMap();
 
         // set up the tile indices
         INT32 numTileRows = tileRowMax - tileRowMin + 1;
@@ -574,7 +574,7 @@
             // each thread works with its own instance of the map
             Ptr<MgMemoryStreamHelper> helper = new MgMemoryStreamHelper();
             Ptr<MgStream> stream = new MgStream(helper);
-            Ptr<MgdMap> newMap = new MgdMap();
+            Ptr<MgPortableMap> newMap = new MgPortableMap();
             map->Serialize(stream);
             newMap->Deserialize(stream);
 
@@ -666,14 +666,14 @@
 {
     try
     {
-        Ptr<MgdServiceFactory> fact = new MgdServiceFactory();
-        Ptr<MgdTileService> m_svcTile = dynamic_cast<MgdTileService*>(fact->CreateService(MgServiceType::TileService));
+        Ptr<MgPortableServiceFactory> fact = new MgPortableServiceFactory();
+        Ptr<MgPortableTileService> m_svcTile = dynamic_cast<MgPortableTileService*>(fact->CreateService(MgServiceType::TileService));
 
         // call the API with a nullptr argument
         REQUIRE_THROWS_MG(m_svcTile->ClearCache(nullptr), MgNullArgumentException);
 
         // call the API with a map having a different name
-        Ptr<MgdMap> map = CreateMap(L"blah");
+        Ptr<MgPortableMap> map = CreateMap(L"blah");
         m_svcTile->ClearCache(map);
 
         // call the API with the run time map

Modified: trunk/MgDev/Portable/UnitTest/UnitTest.vcxproj
===================================================================
--- trunk/MgDev/Desktop/UnitTest/UnitTest.vcxproj	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/UnitTest.vcxproj	2022-10-10 10:10:45 UTC (rev 9974)
@@ -76,7 +76,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -85,7 +85,7 @@
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktopd.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortabled.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration);..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\Lib\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <TargetMachine>MachineX86</TargetMachine>
@@ -99,7 +99,7 @@
 xcopy /S /Y /I ..\..\Oem\gd\build\win32\gd\Debug\gd.dll $(OutDir)
 xcopy /S /Y /I ..\..\Oem\FDO\Bin\Debug\*.* $(OutDir)FDO\
 xcopy /S /Y /I ..\..\Server\bin\Debug\MgGws*.* $(OutDir)
-xcopy /Y ..\MgDesktop\bin\$(Configuration)\*.* $(OutDir)
+xcopy /Y ..\MgPortable\bin\$(Configuration)\*.* $(OutDir)
 xcopy /S /Y /I ..\..\UnitTest\TestData\DrawingService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\SDF\*.* $(OutDir)..\UnitTestFiles\
@@ -124,7 +124,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -133,7 +133,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktopd.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortabled.lib;FDO.lib;FDOCommon.lib;ACEd.lib;MgFoundationd.lib;MgGeometryd.lib;MgMdfModeld.lib;MgMdfParserd.lib;MgPlatformBased.lib;MgRenderersd.lib;MgStylizationd.lib;xerces-c_3mgD.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)64;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\Lib\debug64</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <TargetMachine>MachineX64</TargetMachine>
@@ -147,7 +147,7 @@
 xcopy /S /Y /I ..\..\Oem\gd\build\win32\gd\Debug64\gd.dll $(OutDir)
 xcopy /S /Y /I ..\..\Oem\FDO\Bin\Debug64\*.* $(OutDir)FDO\
 xcopy /S /Y /I ..\..\Server\bin\Debug64\MgGws*.* $(OutDir)
-xcopy /Y ..\MgDesktop\bin\Debug64\*.* $(OutDir)
+xcopy /Y ..\MgPortable\bin\Debug64\*.* $(OutDir)
 xcopy /S /Y /I ..\..\UnitTest\TestData\DrawingService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\SDF\*.* $(OutDir)..\UnitTestFiles\
@@ -170,7 +170,7 @@
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -178,7 +178,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktop.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortable.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib\$(Configuration);..\..\Oem\FDO\Lib;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration);..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration);..\..\Common\lib\$(Configuration);..\Lib\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <DelayLoadDLLs>FDO.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -195,7 +195,7 @@
 xcopy /S /Y /I ..\..\Oem\gd\build\win32\gd\Release\gd.dll $(OutDir)
 xcopy /S /Y /I ..\..\Oem\FDO\Bin\Release\*.* $(OutDir)FDO\
 xcopy /S /Y /I ..\..\Server\bin\Release\MgGws*.* $(OutDir)
-xcopy /Y ..\MgDesktop\bin\$(Configuration)\*.* $(OutDir)
+xcopy /Y ..\MgPortable\bin\$(Configuration)\*.* $(OutDir)
 xcopy /S /Y /I ..\..\UnitTest\TestData\DrawingService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\SDF\*.* $(OutDir)..\UnitTestFiles\
@@ -222,7 +222,7 @@
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgDesktop;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\Common\Foundation;..\..\Common\PlatformBase;..\..\Common\Geometry;..\..\Common\MdfModel;..\..\Common\MdfParser;..\..\Oem\ACE\ACE_wrappers;..\..\Oem\dbxml\xerces-c-src\src;..\..\Oem\FDO\Inc;..\..\Oem\FDO\Inc\ExpressionEngine;..\..\Common\Renderers;..\..\Common\Stylization;..\..\Oem\DWFTK\develop\global\src;..\..\Oem\DWFTK\develop\global\src\dwf;..\..\Oem\catch2;..\MgPortable;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -230,7 +230,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>MgDesktop.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>MgPortable.lib;FDO.lib;FDOCommon.lib;ACE.lib;MgFoundation.lib;MgGeometry.lib;MgMdfModel.lib;MgMdfParser.lib;MgPlatformBase.lib;MgRenderers.lib;MgStylization.lib;xerces-c_3mg.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\..\Oem\ACE\ACE_wrappers\lib64\$(Configuration);..\..\Oem\FDO\Lib64;..\..\Oem\DWFTK\develop\global\lib\static\$(Configuration)64;..\..\Oem\dbxml\xerces-c-src\Build\$(Configuration)64;..\..\Common\lib\$(Configuration)64;..\Lib\release64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <DelayLoadDLLs>FDO.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -247,7 +247,7 @@
 xcopy /S /Y /I ..\..\Oem\gd\build\win32\gd\Release64\gd.dll $(OutDir)
 xcopy /S /Y /I ..\..\Oem\FDO\Bin\Release64\*.* $(OutDir)FDO\
 xcopy /S /Y /I ..\..\Server\bin\Release64\MgGws*.* $(OutDir)
-xcopy /Y ..\MgDesktop\bin\release64\*.* $(OutDir)
+xcopy /Y ..\MgPortable\bin\release64\*.* $(OutDir)
 xcopy /S /Y /I ..\..\UnitTest\TestData\DrawingService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\*.* $(OutDir)..\UnitTestFiles\
 xcopy /Y /I ..\..\UnitTest\TestData\FeatureService\SDF\*.* $(OutDir)..\UnitTestFiles\

Modified: trunk/MgDev/Portable/UnitTest/main.cpp
===================================================================
--- trunk/MgDev/Desktop/UnitTest/main.cpp	2022-10-10 10:00:53 UTC (rev 9973)
+++ trunk/MgDev/Portable/UnitTest/main.cpp	2022-10-10 10:10:45 UTC (rev 9974)
@@ -17,7 +17,7 @@
 
 #define CATCH_CONFIG_RUNNER
 #include "catch.hpp"
-#include "MgDesktop.h"
+#include "MgPortable.h"
 #include "TestServiceFactory.h"
 #include <fstream>
 
@@ -70,7 +70,7 @@
     SetErrorMode(SEM_FAILCRITICALERRORS);
     long lStart = GetTickCount();
 #endif
-    MgdPlatform::Initialize(L"Platform.ini");
+    MgPortablePlatform::Initialize(L"Platform.ini");
 #ifdef WIN32
     ACE_DEBUG((LM_INFO, ACE_TEXT("Platform Initialization time in %dms\n"), (GetTickCount()-lStart)));
 #endif
@@ -94,7 +94,7 @@
 
     Catch::Session session;
     int nResult = session.run(argc, argv);
-    MgdPlatform::Terminate();
+    MgPortablePlatform::Terminate();
 
     return nResult;
 }
\ No newline at end of file



More information about the mapguide-commits mailing list