public static void Register(GeometryExportType type, string exporterAssembly, string exporterName) { if (m_listExporters == null) { m_listExporters = new ArrayList(); } bool found = false; if (m_listExporters.Count > 0) { for (int i = 0; i < m_listExporters.Count; i++) { ExporterInfo info = (ExporterInfo)m_listExporters[i]; if (info != null && info.ExportType == type) { found = true; m_listExporters[i] = new ExporterInfo(type, exporterAssembly, exporterName); break; } } } if (!found) { m_listExporters.Add(new ExporterInfo(type, exporterAssembly, exporterName)); } }
public ExporterInfo(GeometryExportType type, string exporterAssembly, string exporterName) { m_enumType = type; m_strExporterAssembly = exporterAssembly; m_strExporterName = exporterName; }
public static IGeometryExporter GetExporter(GeometryExportType exportType) { ExporterInfo info = GetExporterInfo(exportType); if (info != null) { return(CreateExporter(info.AssemblyName, info.TypeName)); } return(null); }
/// <summary> /// Registers a specified export. /// </summary> /// <param name="type"> /// The type of exporter to register. In this case, it is either /// <see cref="iGeospatial.Geometries.Exports.GeometryExportType.Wkt"/> or /// <see cref="iGeospatial.Geometries.Exports.GeometryExportType.Wkb"/> /// </param> public static void Register(GeometryExportType type) { if (type == GeometryExportType.Wkt) { RegisterWkt(); } if (type == GeometryExportType.Wkb) { RegisterWkb(); } }
public static void Unregister(GeometryExportType type) { if (m_listExporters != null && m_listExporters.Count > 0) { for (int i = 0; i < m_listExporters.Count; i++) { ExporterInfo info = (ExporterInfo)m_listExporters[i]; if (info != null && info.ExportType == type) { m_listExporters.RemoveAt(i); break; } } } }
private static ExporterInfo GetExporterInfo(GeometryExportType type) { if (m_listExporters != null && m_listExporters.Count > 0) { for (int i = 0; i < m_listExporters.Count; i++) { ExporterInfo info = (ExporterInfo)m_listExporters[i]; if (info != null && info.ExportType == type) { return(info); } } } return(null); }