[mapguide-commits] r9814 - in sandbox/jng/vanilla_swig/Portable: MgPortable MgPortable/Log MgPortable/MapLayer MgPortable/Services MgPortable/Services/Drawing MgPortable/Services/Feature MgPortable/Services/Feature/Commands MgPortable/Services/Rendering MgPortable/Services/Resource MgPortable/Services/Stylization MgPortable/Services/Tile MgPortable/System UnitTest

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Nov 28 05:37:50 PST 2020


Author: jng
Date: 2020-11-28 05:37:49 -0800 (Sat, 28 Nov 2020)
New Revision: 9814

Modified:
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDefs.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Matrix.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/UniqueFunction.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgInputStream.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/Mutex.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.cpp
   sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.h
   sandbox/jng/vanilla_swig/Portable/MgPortable/changelog.txt
   sandbox/jng/vanilla_swig/Portable/UnitTest/CppUnitExtensions.h
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestFeatureService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManager.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManagerThread.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestMappingService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestProfilingService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestRenderingService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestResourceService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestServiceFactory.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/TestTileService.cpp
   sandbox/jng/vanilla_swig/Portable/UnitTest/main.cpp
Log:
Mgd -> MgPortable renaming

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogDetail.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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 "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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogEntryData.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogManager.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Log/LogThread.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,14 +21,14 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Layer.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,17 +20,17 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Map.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/MapLayer/Selection.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,15 +23,15 @@
 
 /// \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);

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DataReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,17 +21,17 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Drawing/DrawingServiceUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/DrawingService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/BooleanDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ByteDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ApplySchema.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -24,12 +24,12 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,61 +20,61 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/CreateFeatureSource.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DeleteCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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,7 +1460,7 @@
         }
     }
 
-    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)
     {
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/DescribeSchema.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/EnumerateDataStores.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdEnumerateDataStores
+class MgPortableEnumerateDataStores
 {
 public:
-    MgdEnumerateDataStores();
-    ~MgdEnumerateDataStores();
+    MgPortableEnumerateDataStores();
+    ~MgPortableEnumerateDataStores();
 
 
     MgByteReader* EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString);

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/ExtendedSelectCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureManipulationCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/FeatureServiceCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetConnectionPropertyValues.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetFeatureProviders.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetFeatureProviders
+class MgPortableGetFeatureProviders
 {
 public:
-    MgdGetFeatureProviders();
-    ~MgdGetFeatureProviders();
+    MgPortableGetFeatureProviders();
+    ~MgPortableGetFeatureProviders();
 
 
     MgByteReader* GetFeatureProviders();

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetLongTransactions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetProviderCapabilities.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSchemaMapping.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 #include "System/XmlUtil.h"
 #include "Fdo.h"
 
-class MgdGetSchemaMapping
+class MgPortableGetSchemaMapping
 {
 public:
-    MgdGetSchemaMapping();
-    ~MgdGetSchemaMapping();
+    MgPortableGetSchemaMapping();
+    ~MgPortableGetSchemaMapping();
 
 
     MgByteReader* GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString);

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/GetSpatialContexts.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,13 +23,13 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/InsertCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectAggregateCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SelectFeatures.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/SqlCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,13 +23,13 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateCommand.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Commands/UpdateFeatures.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,15 +23,15 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -26,7 +26,7 @@
 
 /// \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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DateTimeDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/DoubleDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionPool.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoConnectionUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoFilterCollection.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoForcedOneToOneFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FdoReaderCollection.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureClassCacheItem.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureConnection.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDefs.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDefs.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDefs.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureDistribution.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureGeometricFunctions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureNumericFunctions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSchemaCacheItem.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -18,15 +18,15 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCache.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -22,15 +22,15 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureServiceCacheEntry.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSetReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureSourceCacheItem.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureStringFunctions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/FeatureUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -45,7 +45,7 @@
 
 class MgReader;
 
-class MG_DESKTOP_API MgdFeatureUtil
+class MG_DESKTOP_API MgPortableFeatureUtil
 {
 public:
 

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GeometryDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsConnectionPool.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/GwsFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int16DataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int32DataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Int64DataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/JoinFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Matrix.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Matrix.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/Matrix.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/MgCSTrans.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,7 +17,7 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProjectedFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/ProxyDataReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -22,8 +22,8 @@
 
 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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -18,173 +18,173 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RasterHelper.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/RdbmsFeatureSourceParams.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SingleDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/SpatialContextCacheItem.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/StringDataReaderCreator.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/TransformCache.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,18 +21,18 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/UniqueFunction.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/UniqueFunction.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Feature/UniqueFunction.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,17 +23,17 @@
 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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/FeatureService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ImageFormats.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,7 +21,7 @@
 #include "MgPortable.h"
 /// \ingroup Desktop_Misc_Module
 /// \{
-class MG_DESKTOP_API MgdImageFormats
+class MG_DESKTOP_API MgPortableImageFormats
 {
 PUBLISHED_API:
     /// \internal

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/MappingService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -3,11 +3,11 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ProfilingService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -3,8 +3,8 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomLogoInfo.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/CustomTextInfo.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,11 +17,11 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/DwfVersion.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInfoRenderer.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,20 +17,20 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/FeatureInformation.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,24 +17,24 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/Layout.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/LegendPlotUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,18 +21,18 @@
 
 //////////////////////////////////////////////////////////////
 // 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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlot.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,11 +17,11 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotCollection.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MapPlotInstruction.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/MappingUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PlotSpecification.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,24 +21,24 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/PrintLayout.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgInputStream.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgInputStream.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgInputStream.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgRaster.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -22,12 +22,12 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RSMgSymbolManager.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -24,11 +24,11 @@
 // 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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/RenderingOptions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -19,22 +19,22 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Rendering/UnitType.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/RenderingService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ByteSourceDwfInputStreamImpl.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationInfo.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/OperationParameter.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -18,36 +18,36 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceContentCache.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,15 +20,15 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourceDefs.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageHandler.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageLoader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestHandler.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ResourcePackageManifestParser.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -19,19 +19,19 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataManager.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/UnmanagedDataType.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileHandler.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Resource/ZipFileReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ResourceService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,14 +21,14 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ScrollableFeatureReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,19 +21,19 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/ServiceFactory.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/SqlReader.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,16 +21,16 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Stylization/SEMgSymbolManager.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -23,11 +23,11 @@
 
 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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileCache.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Tile/TileDefs.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,7 +20,7 @@
 
 #include "MgPortable.h"
 
-class MG_DESKTOP_API MgdTileParameters
+class MG_DESKTOP_API MgPortableTileParameters
 {
 INTERNAL_API:
     static INT32 tileWidth;         // width for all tiles

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -19,15 +19,15 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/TileService.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/Services/Transaction.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,18 +20,18 @@
 
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ConfigProperties.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -17,4 +17,4 @@
 
 #include "ExceptionCodes.h"
 
-const STRING MgdExceptionCodes::MgAliasNotFoundException = L"MgAliasNotFoundException";
+const STRING MgPortableExceptionCodes::MgAliasNotFoundException = L"MgAliasNotFoundException";

Modified: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ExceptionCodes.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/Mutex.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/Mutex.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/Mutex.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -21,11 +21,11 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/PlatformInit.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/ThreadBase.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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 "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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -20,10 +20,10 @@
 #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: sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/System/TimerUtil.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/MgPortable/changelog.txt
===================================================================
--- sandbox/jng/vanilla_swig/Portable/MgPortable/changelog.txt	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/MgPortable/changelog.txt	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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)
 =======================
 

Modified: sandbox/jng/vanilla_swig/Portable/UnitTest/CppUnitExtensions.h
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/CppUnitExtensions.h	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/CppUnitExtensions.h	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestFeatureService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestFeatureService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestFeatureService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManager.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManager.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManager.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManagerThread.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManagerThread.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestLogManagerThread.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestMappingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestMappingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestMappingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestProfilingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestProfilingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestProfilingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestRenderingService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestRenderingService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestRenderingService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestResourceService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestResourceService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestResourceService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestServiceFactory.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestServiceFactory.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestServiceFactory.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/TestTileService.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/TestTileService.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/TestTileService.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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: sandbox/jng/vanilla_swig/Portable/UnitTest/main.cpp
===================================================================
--- sandbox/jng/vanilla_swig/Portable/UnitTest/main.cpp	2020-11-28 13:10:51 UTC (rev 9813)
+++ sandbox/jng/vanilla_swig/Portable/UnitTest/main.cpp	2020-11-28 13:37:49 UTC (rev 9814)
@@ -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