// This file is autogenerated by ClassMapGen. DO NOT EDIT using System; using System.Collections.Generic; using System.Linq; using System.Reflection; namespace OSGeo.MapGuide { internal static class MgClassMap { static HashSet assemblyNames; static Dictionary classIdCtorMap; static Dictionary nameClassMap; static MgClassMap() { assemblyNames = new HashSet { "OSGeo.MapGuide.Foundation", "OSGeo.MapGuide.Geometry", "OSGeo.MapGuide.PlatformBase", "OSGeo.MapGuide.MapGuideCommon", "OSGeo.MapGuide.Web", "OSGeo.MapGuide.Portable" }; classIdCtorMap = new Dictionary(); var classNameMap = new Dictionary(); nameClassMap = new Dictionary(); if (HasAssemblyInAppDomain("OSGeo.MapGuide.Foundation")) { classIdCtorMap[1000] = TryResolveConstructor("OSGeo.MapGuide.MgDisposableCollection"); classIdCtorMap[1002] = TryResolveConstructor("OSGeo.MapGuide.MgPropertyCollection"); classIdCtorMap[1003] = TryResolveConstructor("OSGeo.MapGuide.MgStringCollection"); classIdCtorMap[1004] = TryResolveConstructor("OSGeo.MapGuide.MgStringPropertyCollection"); classIdCtorMap[1005] = TryResolveConstructor("OSGeo.MapGuide.MgBatchPropertyCollection"); classIdCtorMap[1250] = TryResolveConstructor("OSGeo.MapGuide.MgByteReader"); classIdCtorMap[1251] = TryResolveConstructor("OSGeo.MapGuide.MgByteSource"); classIdCtorMap[1256] = TryResolveConstructor("OSGeo.MapGuide.MgDateTime"); classIdCtorMap[1257] = TryResolveConstructor("OSGeo.MapGuide.MgByteSink"); classIdCtorMap[1515] = TryResolveConstructor("OSGeo.MapGuide.MgException"); classIdCtorMap[2000] = TryResolveConstructor("OSGeo.MapGuide.MgProperty"); classIdCtorMap[2001] = TryResolveConstructor("OSGeo.MapGuide.MgStringProperty"); classIdCtorMap[2002] = TryResolveConstructor("OSGeo.MapGuide.MgPropertyDefinition"); classIdCtorMap[2251] = TryResolveConstructor("OSGeo.MapGuide.MgDisposable"); classIdCtorMap[2252] = TryResolveConstructor("OSGeo.MapGuide.MgObject"); } if (HasAssemblyInAppDomain("OSGeo.MapGuide.Geometry")) { classIdCtorMap[20000] = TryResolveConstructor("OSGeo.MapGuide.MgPoint"); classIdCtorMap[20001] = TryResolveConstructor("OSGeo.MapGuide.MgEnvelope"); classIdCtorMap[20002] = TryResolveConstructor("OSGeo.MapGuide.MgGeometryFactory"); classIdCtorMap[20003] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinate"); classIdCtorMap[20004] = TryResolveConstructor("OSGeo.MapGuide.MgAgfReaderWriter"); classIdCtorMap[20005] = TryResolveConstructor("OSGeo.MapGuide.MgAggregateGeometry"); classIdCtorMap[20006] = TryResolveConstructor("OSGeo.MapGuide.MgArcSegment"); classIdCtorMap[20008] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateCollection"); classIdCtorMap[20009] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateIterator"); classIdCtorMap[20010] = TryResolveConstructor("OSGeo.MapGuide.MgCurve"); classIdCtorMap[20011] = TryResolveConstructor("OSGeo.MapGuide.MgCurvePolygon"); classIdCtorMap[20012] = TryResolveConstructor("OSGeo.MapGuide.MgCurveRing"); classIdCtorMap[20013] = TryResolveConstructor("OSGeo.MapGuide.MgCurveSegment"); classIdCtorMap[20014] = TryResolveConstructor("OSGeo.MapGuide.MgCurveString"); classIdCtorMap[20016] = TryResolveConstructor("OSGeo.MapGuide.MgGeometricEntity"); classIdCtorMap[20019] = TryResolveConstructor("OSGeo.MapGuide.MgGeometry"); classIdCtorMap[20020] = TryResolveConstructor("OSGeo.MapGuide.MgGeometryCollection"); classIdCtorMap[20021] = TryResolveConstructor("OSGeo.MapGuide.MgGeometryComponent"); classIdCtorMap[20023] = TryResolveConstructor("OSGeo.MapGuide.MgLinearRing"); classIdCtorMap[20024] = TryResolveConstructor("OSGeo.MapGuide.MgLinearSegment"); classIdCtorMap[20027] = TryResolveConstructor("OSGeo.MapGuide.MgMeasure"); classIdCtorMap[20029] = TryResolveConstructor("OSGeo.MapGuide.MgMultiCurvePolygon"); classIdCtorMap[20030] = TryResolveConstructor("OSGeo.MapGuide.MgMultiCurveString"); classIdCtorMap[20031] = TryResolveConstructor("OSGeo.MapGuide.MgMultiGeometry"); classIdCtorMap[20032] = TryResolveConstructor("OSGeo.MapGuide.MgMultiLineString"); classIdCtorMap[20033] = TryResolveConstructor("OSGeo.MapGuide.MgMultiPoint"); classIdCtorMap[20034] = TryResolveConstructor("OSGeo.MapGuide.MgMultiPolygon"); classIdCtorMap[20035] = TryResolveConstructor("OSGeo.MapGuide.MgPolygon"); classIdCtorMap[20037] = TryResolveConstructor("OSGeo.MapGuide.MgRegion"); classIdCtorMap[20038] = TryResolveConstructor("OSGeo.MapGuide.MgRing"); classIdCtorMap[20039] = TryResolveConstructor("OSGeo.MapGuide.MgTransform"); classIdCtorMap[20040] = TryResolveConstructor("OSGeo.MapGuide.MgWktReaderWriter"); classIdCtorMap[20041] = TryResolveConstructor("OSGeo.MapGuide.MgCurveSegmentCollection"); classIdCtorMap[20042] = TryResolveConstructor("OSGeo.MapGuide.MgLineString"); classIdCtorMap[20043] = TryResolveConstructor("OSGeo.MapGuide.MgCurveStringCollection"); classIdCtorMap[20044] = TryResolveConstructor("OSGeo.MapGuide.MgLineStringCollection"); classIdCtorMap[20045] = TryResolveConstructor("OSGeo.MapGuide.MgPointCollection"); classIdCtorMap[20046] = TryResolveConstructor("OSGeo.MapGuide.MgPolygonCollection"); classIdCtorMap[20047] = TryResolveConstructor("OSGeo.MapGuide.MgCurvePolygonCollection"); classIdCtorMap[20048] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateXY"); classIdCtorMap[20049] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateXYZ"); classIdCtorMap[20050] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateXYZM"); classIdCtorMap[20051] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateXYM"); classIdCtorMap[20052] = TryResolveConstructor("OSGeo.MapGuide.MgCurveRingCollection"); classIdCtorMap[20053] = TryResolveConstructor("OSGeo.MapGuide.MgLinearRingCollection"); classIdCtorMap[20054] = TryResolveConstructor("OSGeo.MapGuide.MgGeometrySimplifier"); classIdCtorMap[20055] = TryResolveConstructor("OSGeo.MapGuide.MgPreparedGeometry"); classIdCtorMap[20500] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystem"); classIdCtorMap[20501] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemFactory"); classIdCtorMap[20502] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemMeasure"); classIdCtorMap[20503] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemTransform"); classIdCtorMap[20504] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemCatalog"); classIdCtorMap[20505] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemFormatConverter"); classIdCtorMap[20506] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemCategory"); classIdCtorMap[20507] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemDatum"); classIdCtorMap[20508] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformation"); classIdCtorMap[20509] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemEllipsoid"); classIdCtorMap[20510] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemCategoryDictionary"); classIdCtorMap[20511] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemDictionary"); classIdCtorMap[20512] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemDatumDictionary"); classIdCtorMap[20513] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemEllipsoidDictionary"); classIdCtorMap[20514] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemEnum"); classIdCtorMap[20515] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemEnumInteger32"); classIdCtorMap[20516] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemFilter"); classIdCtorMap[20517] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemFilterInteger32"); classIdCtorMap[20518] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemMathComparator"); classIdCtorMap[20519] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemUnitInformation"); classIdCtorMap[20520] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemProjectionInformation"); classIdCtorMap[20521] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemDictionaryUtility"); classIdCtorMap[20522] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemMgrs"); classIdCtorMap[20524] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridBoundary"); classIdCtorMap[20525] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridSpecification"); classIdCtorMap[20526] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridLineCollection"); classIdCtorMap[20527] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridRegionCollection"); classIdCtorMap[20528] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridTickCollection"); classIdCtorMap[20529] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridLine"); classIdCtorMap[20530] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridRegion"); classIdCtorMap[20531] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridTick"); classIdCtorMap[20532] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGridBase"); classIdCtorMap[20533] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticPath"); classIdCtorMap[20534] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticPathElement"); classIdCtorMap[20535] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticPathDictionary"); classIdCtorMap[20536] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDef"); classIdCtorMap[20540] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDefDictionary"); classIdCtorMap[20541] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformDefParams"); classIdCtorMap[20542] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticAnalyticalTransformDefParams"); classIdCtorMap[20543] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticInterpolationTransformDefParams"); classIdCtorMap[20544] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams"); classIdCtorMap[20545] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticTransformGridFile"); classIdCtorMap[20546] = TryResolveConstructor("OSGeo.MapGuide.MgCoordinateSystemGeodeticStandaloneTransformDefParams"); } if (HasAssemblyInAppDomain("OSGeo.MapGuide.PlatformBase")) { classIdCtorMap[10000] = TryResolveConstructor("OSGeo.MapGuide.MgIntCollection"); classIdCtorMap[10001] = TryResolveConstructor("OSGeo.MapGuide.MgPropertyDefinitionCollection"); classIdCtorMap[10003] = TryResolveConstructor("OSGeo.MapGuide.MgStringPropertyCollection"); classIdCtorMap[10004] = TryResolveConstructor("OSGeo.MapGuide.MgParameterCollection"); classIdCtorMap[10250] = TryResolveConstructor("OSGeo.MapGuide.MgColor"); classIdCtorMap[10251] = TryResolveConstructor("OSGeo.MapGuide.MgPropertyDefinition"); classIdCtorMap[10252] = TryResolveConstructor("OSGeo.MapGuide.MgBlobProperty"); classIdCtorMap[10253] = TryResolveConstructor("OSGeo.MapGuide.MgBooleanProperty"); classIdCtorMap[10254] = TryResolveConstructor("OSGeo.MapGuide.MgByteProperty"); classIdCtorMap[10255] = TryResolveConstructor("OSGeo.MapGuide.MgClobProperty"); classIdCtorMap[10256] = TryResolveConstructor("OSGeo.MapGuide.MgDateTimeProperty"); classIdCtorMap[10257] = TryResolveConstructor("OSGeo.MapGuide.MgDoubleProperty"); classIdCtorMap[10258] = TryResolveConstructor("OSGeo.MapGuide.MgInt16Property"); classIdCtorMap[10259] = TryResolveConstructor("OSGeo.MapGuide.MgInt32Property"); classIdCtorMap[10260] = TryResolveConstructor("OSGeo.MapGuide.MgInt64Property"); classIdCtorMap[10261] = TryResolveConstructor("OSGeo.MapGuide.MgSingleProperty"); classIdCtorMap[12000] = TryResolveConstructor("OSGeo.MapGuide.MgMapBase"); classIdCtorMap[12001] = TryResolveConstructor("OSGeo.MapGuide.MgLayerGroup"); classIdCtorMap[12002] = TryResolveConstructor("OSGeo.MapGuide.MgLayerCollection"); classIdCtorMap[12003] = TryResolveConstructor("OSGeo.MapGuide.MgLayerBase"); classIdCtorMap[12004] = TryResolveConstructor("OSGeo.MapGuide.MgLayerGroupCollection"); classIdCtorMap[12005] = TryResolveConstructor("OSGeo.MapGuide.MgMapCollection"); classIdCtorMap[12006] = TryResolveConstructor("OSGeo.MapGuide.MgReadOnlyLayerCollection"); classIdCtorMap[12007] = TryResolveConstructor("OSGeo.MapGuide.MgSelectionBase"); classIdCtorMap[11251] = TryResolveConstructor("OSGeo.MapGuide.MgService"); classIdCtorMap[11257] = TryResolveConstructor("OSGeo.MapGuide.MgWarnings"); classIdCtorMap[11750] = TryResolveConstructor("OSGeo.MapGuide.MgClassDefinition"); classIdCtorMap[11751] = TryResolveConstructor("OSGeo.MapGuide.MgDataPropertyDefinition"); classIdCtorMap[11753] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureReader"); classIdCtorMap[11754] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureService"); classIdCtorMap[11756] = TryResolveConstructor("OSGeo.MapGuide.MgGeometricPropertyDefinition"); classIdCtorMap[11757] = TryResolveConstructor("OSGeo.MapGuide.MgGeometry"); classIdCtorMap[11758] = TryResolveConstructor("OSGeo.MapGuide.MgGeometryProperty"); classIdCtorMap[11759] = TryResolveConstructor("OSGeo.MapGuide.MgObjectPropertyDefinition"); classIdCtorMap[11761] = TryResolveConstructor("OSGeo.MapGuide.MgSpatialContextReader"); classIdCtorMap[11762] = TryResolveConstructor("OSGeo.MapGuide.MgSqlDataReader"); classIdCtorMap[11764] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureProperty"); classIdCtorMap[11766] = TryResolveConstructor("OSGeo.MapGuide.MgLongTransactionReader"); classIdCtorMap[11768] = TryResolveConstructor("OSGeo.MapGuide.MgRasterPropertyDefinition"); classIdCtorMap[11769] = TryResolveConstructor("OSGeo.MapGuide.MgRaster"); classIdCtorMap[11770] = TryResolveConstructor("OSGeo.MapGuide.MgRasterProperty"); classIdCtorMap[11771] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureQueryOptions"); classIdCtorMap[11772] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureAggregateOptions"); classIdCtorMap[11773] = TryResolveConstructor("OSGeo.MapGuide.MgDataReader"); classIdCtorMap[11774] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureCommandCollection"); classIdCtorMap[11775] = TryResolveConstructor("OSGeo.MapGuide.MgDeleteFeatures"); classIdCtorMap[11776] = TryResolveConstructor("OSGeo.MapGuide.MgInsertFeatures"); classIdCtorMap[11777] = TryResolveConstructor("OSGeo.MapGuide.MgUpdateFeatures"); classIdCtorMap[11778] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureSchema"); classIdCtorMap[11779] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureSchemaCollection"); classIdCtorMap[11780] = TryResolveConstructor("OSGeo.MapGuide.MgClassDefinitionCollection"); classIdCtorMap[11782] = TryResolveConstructor("OSGeo.MapGuide.MgGwsFeatureReader"); classIdCtorMap[11785] = TryResolveConstructor("OSGeo.MapGuide.MgGeometryTypeInfo"); classIdCtorMap[11786] = TryResolveConstructor("OSGeo.MapGuide.MgFileFeatureSourceParams"); classIdCtorMap[11787] = TryResolveConstructor("OSGeo.MapGuide.MgTransaction"); classIdCtorMap[11788] = TryResolveConstructor("OSGeo.MapGuide.MgParameter"); classIdCtorMap[11500] = TryResolveConstructor("OSGeo.MapGuide.MgResourceIdentifier"); classIdCtorMap[11501] = TryResolveConstructor("OSGeo.MapGuide.MgResourceService"); classIdCtorMap[11526] = TryResolveConstructor("OSGeo.MapGuide.MgResource"); } if (HasAssemblyInAppDomain("OSGeo.MapGuide.MapGuideCommon")) { classIdCtorMap[30500] = TryResolveConstructor("OSGeo.MapGuide.MgMap"); classIdCtorMap[30501] = TryResolveConstructor("OSGeo.MapGuide.MgLayer"); classIdCtorMap[30502] = TryResolveConstructor("OSGeo.MapGuide.MgSelection"); classIdCtorMap[30601] = TryResolveConstructor("OSGeo.MapGuide.MgSiteConnection"); classIdCtorMap[30604] = TryResolveConstructor("OSGeo.MapGuide.MgPackageStatusInformation"); classIdCtorMap[30605] = TryResolveConstructor("OSGeo.MapGuide.MgSite"); classIdCtorMap[30606] = TryResolveConstructor("OSGeo.MapGuide.MgUserInformation"); classIdCtorMap[30607] = TryResolveConstructor("OSGeo.MapGuide.MgServerAdmin"); classIdCtorMap[30608] = TryResolveConstructor("OSGeo.MapGuide.MgSiteInfo"); classIdCtorMap[30700] = TryResolveConstructor("OSGeo.MapGuide.MgDrawingService"); classIdCtorMap[30900] = TryResolveConstructor("OSGeo.MapGuide.MgMappingService"); classIdCtorMap[30901] = TryResolveConstructor("OSGeo.MapGuide.MgDwfVersion"); classIdCtorMap[30902] = TryResolveConstructor("OSGeo.MapGuide.MgPlotSpecification"); classIdCtorMap[30904] = TryResolveConstructor("OSGeo.MapGuide.MgLayout"); classIdCtorMap[30905] = TryResolveConstructor("OSGeo.MapGuide.MgMapPlot"); classIdCtorMap[30906] = TryResolveConstructor("OSGeo.MapGuide.MgMapPlotCollection"); classIdCtorMap[31000] = TryResolveConstructor("OSGeo.MapGuide.MgRenderingService"); classIdCtorMap[31001] = TryResolveConstructor("OSGeo.MapGuide.MgFeatureInformation"); classIdCtorMap[31002] = TryResolveConstructor("OSGeo.MapGuide.MgRenderingOptions"); classIdCtorMap[31003] = TryResolveConstructor("OSGeo.MapGuide.MgMetatile"); classIdCtorMap[31200] = TryResolveConstructor("OSGeo.MapGuide.MgTileService"); classIdCtorMap[31300] = TryResolveConstructor("OSGeo.MapGuide.MgKmlService"); classIdCtorMap[31400] = TryResolveConstructor("OSGeo.MapGuide.MgProfilingService"); } if (HasAssemblyInAppDomain("OSGeo.MapGuide.Web")) { classIdCtorMap[50000] = TryResolveConstructor("OSGeo.MapGuide.MgWebCommand"); classIdCtorMap[50001] = TryResolveConstructor("OSGeo.MapGuide.MgWebUiTargetCommand"); classIdCtorMap[50002] = TryResolveConstructor("OSGeo.MapGuide.MgWebSearchCommand"); classIdCtorMap[50003] = TryResolveConstructor("OSGeo.MapGuide.MgWebInvokeScriptCommand"); classIdCtorMap[50004] = TryResolveConstructor("OSGeo.MapGuide.MgWebInvokeUrlCommand"); classIdCtorMap[50005] = TryResolveConstructor("OSGeo.MapGuide.MgWebBufferCommand"); classIdCtorMap[50006] = TryResolveConstructor("OSGeo.MapGuide.MgWebSelectWithinCommand"); classIdCtorMap[50007] = TryResolveConstructor("OSGeo.MapGuide.MgWebPrintCommand"); classIdCtorMap[50008] = TryResolveConstructor("OSGeo.MapGuide.MgWebMeasureCommand"); classIdCtorMap[50009] = TryResolveConstructor("OSGeo.MapGuide.MgWebGetPrintablePageCommand"); classIdCtorMap[50010] = TryResolveConstructor("OSGeo.MapGuide.MgWebViewOptionsCommand"); classIdCtorMap[50011] = TryResolveConstructor("OSGeo.MapGuide.MgWebHelpCommand"); classIdCtorMap[50012] = TryResolveConstructor("OSGeo.MapGuide.MgWebCommandCollection"); classIdCtorMap[50013] = TryResolveConstructor("OSGeo.MapGuide.MgWebWidget"); classIdCtorMap[50014] = TryResolveConstructor("OSGeo.MapGuide.MgWebSeparatorWidget"); classIdCtorMap[50015] = TryResolveConstructor("OSGeo.MapGuide.MgWebCommandWidget"); classIdCtorMap[50016] = TryResolveConstructor("OSGeo.MapGuide.MgWebFlyoutWidget"); classIdCtorMap[50017] = TryResolveConstructor("OSGeo.MapGuide.MgWebTaskBarWidget"); classIdCtorMap[50018] = TryResolveConstructor("OSGeo.MapGuide.MgWebWidgetCollection"); classIdCtorMap[50019] = TryResolveConstructor("OSGeo.MapGuide.MgWebUiPane"); classIdCtorMap[50020] = TryResolveConstructor("OSGeo.MapGuide.MgWebUiSizablePane"); classIdCtorMap[50021] = TryResolveConstructor("OSGeo.MapGuide.MgWebToolBar"); classIdCtorMap[50022] = TryResolveConstructor("OSGeo.MapGuide.MgWebInformationPane"); classIdCtorMap[50023] = TryResolveConstructor("OSGeo.MapGuide.MgWebTaskBar"); classIdCtorMap[50024] = TryResolveConstructor("OSGeo.MapGuide.MgWebTaskPane"); classIdCtorMap[50025] = TryResolveConstructor("OSGeo.MapGuide.MgWebContextMenu"); classIdCtorMap[50026] = TryResolveConstructor("OSGeo.MapGuide.MgWebLayout"); classIdCtorMap[40000] = TryResolveConstructor("OSGeo.MapGuide.MgHttpHeader"); classIdCtorMap[40001] = TryResolveConstructor("OSGeo.MapGuide.MgHttpRequestParam"); classIdCtorMap[40002] = TryResolveConstructor("OSGeo.MapGuide.MgHttpRequestMetadata"); classIdCtorMap[40003] = TryResolveConstructor("OSGeo.MapGuide.MgHttpResult"); classIdCtorMap[40004] = TryResolveConstructor("OSGeo.MapGuide.MgHttpRequest"); classIdCtorMap[40005] = TryResolveConstructor("OSGeo.MapGuide.MgHttpResponse"); classIdCtorMap[40006] = TryResolveConstructor("OSGeo.MapGuide.MgHttpPrimitiveValue"); } #if MG_PORTABLE_API if (HasAssemblyInAppDomain("OSGeo.MapGuide.Portable")) { classIdCtorMap[60500] = TryResolveConstructor("OSGeo.MapGuide.MgPortableMap"); classIdCtorMap[60501] = TryResolveConstructor("OSGeo.MapGuide.MgPortableLayer"); classIdCtorMap[60502] = TryResolveConstructor("OSGeo.MapGuide.MgPortableSelection"); classIdCtorMap[60600] = TryResolveConstructor("OSGeo.MapGuide.MgPortableServiceFactory"); classIdCtorMap[60800] = TryResolveConstructor("OSGeo.MapGuide.MgPortableFeatureService"); classIdCtorMap[60700] = TryResolveConstructor("OSGeo.MapGuide.MgPortableDrawingService"); classIdCtorMap[60900] = TryResolveConstructor("OSGeo.MapGuide.MgPortableMappingService"); classIdCtorMap[60901] = TryResolveConstructor("OSGeo.MapGuide.MgPortableDwfVersion"); classIdCtorMap[60902] = TryResolveConstructor("OSGeo.MapGuide.MgPortablePlotSpecification"); classIdCtorMap[60903] = TryResolveConstructor("OSGeo.MapGuide.MgPortablePrintLayout"); classIdCtorMap[60904] = TryResolveConstructor("OSGeo.MapGuide.MgPortableLayout"); classIdCtorMap[60905] = TryResolveConstructor("OSGeo.MapGuide.MgPortableMapPlot"); classIdCtorMap[60906] = TryResolveConstructor("OSGeo.MapGuide.MgPortableMapPlotCollection"); classIdCtorMap[61000] = TryResolveConstructor("OSGeo.MapGuide.MgPortableRenderingService"); classIdCtorMap[61001] = TryResolveConstructor("OSGeo.MapGuide.MgPortableFeatureInformation"); classIdCtorMap[61002] = TryResolveConstructor("OSGeo.MapGuide.MgPortableRenderingOptions"); classIdCtorMap[61100] = TryResolveConstructor("OSGeo.MapGuide.MgPortableResourceService"); classIdCtorMap[61200] = TryResolveConstructor("OSGeo.MapGuide.MgPortableTileService"); classIdCtorMap[61300] = TryResolveConstructor("OSGeo.MapGuide.MgPortableKmlService"); classIdCtorMap[61400] = TryResolveConstructor("OSGeo.MapGuide.MgPortableProfilingService"); } #endif //Sanity check that we haven't double registered the same type name under different //class ids (Only possible when class id is being accidentally reused in a base or //derived C++ class) foreach (var kvp in classNameMap) { if (nameClassMap.ContainsKey(kvp.Value)) { throw new Exception($"Failed sanity check. Type ({kvp.Value}) already registered with class id of ({kvp.Key})"); } nameClassMap[kvp.Value] = kvp.Key; } } internal static IEnumerable ClassIds => classIdCtorMap.Keys; internal static int? GetClassId(string typeName) { return nameClassMap.ContainsKey(typeName) ? nameClassMap[typeName] : (int?)null; } internal static ConstructorInfo GetProxyConstructor(int classId) { return classIdCtorMap.ContainsKey(classId) ? classIdCtorMap[classId] : null; } static bool HasAssemblyInAppDomain(string assemblyName) { #if MONOLITHIC_ASSEMBLY return true; #else var assemblies = global::System.AppDomain.CurrentDomain.GetAssemblies(); foreach (var assem in assemblies) { var asmName = new global::System.Reflection.AssemblyName(assem.FullName); if (asmName.Name == assemblyName) { return true; } } return false; #endif } static ConstructorInfo TryResolveConstructor(string typeName) { var type = global::System.Type.GetType(typeName); if (type == null) { // Find the specified class in the pre-defined assemblies var assemblies = global::System.AppDomain.CurrentDomain.GetAssemblies(); foreach (var assem in assemblies) { var assemblyName = new global::System.Reflection.AssemblyName(assem.FullName); if (assemblyNames.Contains(assemblyName.Name)) { type = assem.GetType(typeName, false); if (type != null) break; } } // Fall back to finding the type in every assembly in the current appdomain foreach (var assem in global::System.AppDomain.CurrentDomain.GetAssemblies()) { type = assem.GetType(typeName, false); if (type != null) break; } } if (type != null) { //The constructor we require has been assigned internal visibility by SWIG. We could change it to public, but the internal //visibility is the ideal one for purposes of encapulsation (this is internal use only). So instead of Activator.CreateInstance() //which does not work with internal constructors, we'll find the ctor ourselves and invoke it. var flags = global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.Instance; var ctors = type.GetTypeInfo().GetConstructors(flags); var ctor = ctors.FirstOrDefault(ci => { var parms = ci.GetParameters(); if (parms.Length == 2) { return parms[0].ParameterType == typeof(global::System.IntPtr) && parms[1].ParameterType == typeof(bool); } return false; }); if (ctor == null) throw new global::System.Exception("Could not find required constructor among " + ctors.Length + " constructors with signature (IntPtr, bool) on type: " + type.Name); return ctor; } return null; } } }