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);
        }
Example #4
0
        /// <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);
        }