FDO .NET API Reference | Feature Data Objects |
00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, Inc. 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of version 2.1 of the GNU Lesser 00006 * General Public License as published by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 * 00017 */ 00018 00019 #pragma once 00020 00021 #include "FDO\mgIProviderRegistry.h" 00022 00023 class FdoProviderRegistry; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_CLIENTSERVICES 00026 00027 /// \ingroup (OSGeoFDOClientServices) 00028 /// \brief 00029 /// The ProviderRegistry class supports registering, un-registering, and enumerating 00030 /// registered feature providers. ProviderRegistry is derived from interface IProviderRegistry. 00031 /// 00032 /// \note 00033 /// This is not the MS-Windows registry. 00034 public __gc class ProviderRegistry : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_FDO::IProviderRegistry 00035 { 00036 public: 00037 /// \brief 00038 /// Gets a read only collection of information describing each of the registered feature providers. 00039 /// 00040 /// \return 00041 /// Returns an an instance of ProviderCollection. Throws an instance of Exception if an error occurs. 00042 /// 00043 NAMESPACE_OSGEO_FDO_CLIENTSERVICES::ProviderCollection* GetProviders(); 00044 00045 /// \brief 00046 /// Registers a provider given the necessary information to register the provider. 00047 /// If any of the parameters are missing or invalid, an exception is thrown. 00048 /// 00049 /// \param name 00050 /// The unique name of the feature provider. This name should be of the form 00051 /// [Company].[Provider].[Version]. 00052 /// \param displayName 00053 /// A user friendly display name of the feature provider. 00054 /// \param description 00055 /// A brief description of the feature provider. 00056 /// \param version 00057 /// The version of the feature provider. The version number string has the form 00058 /// [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]. 00059 /// \param fdoVersion 00060 /// The version of the feature data objects specification the feature provider conforms to. 00061 /// The version number string has the form [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]. 00062 /// \param libraryPath 00063 /// The FULL library path + library name of the provider. 00064 /// \param isManaged 00065 /// A flag indicating if the provider is a managed or unmanaged .Net provider. 00066 /// 00067 /// \return 00068 /// Returns nothing. Throws an instance of Exception if an error occurs. 00069 /// 00070 System::Void RegisterProvider(String * name, 00071 String * displayName, 00072 String * description, 00073 String * version, 00074 String * fdoVersion, 00075 String * libraryPath, 00076 System::Boolean isManaged); 00077 00078 /// \brief 00079 /// Unregisters the provider with the specified name. 00080 /// 00081 /// \param name 00082 /// The unique name of the feature provider. This name should be of the form 00083 /// [Company].[Provider].[Version]. 00084 /// 00085 /// \return 00086 /// Returns nothing. Throws an instance of Exception if an error occurs. 00087 /// 00088 System::Void UnregisterProvider(String * name); 00089 00090 public private: 00091 ProviderRegistry(System::IntPtr unmanaged, System::Boolean autoDelete); 00092 00093 inline FdoProviderRegistry* GetImpObj(); 00094 00095 /// \cond DOXYGEN-IGNORE 00096 protected: 00097 System::Void ReleaseUnmanagedObject(); 00098 /// \endcond 00099 }; 00100 00101 END_NAMESPACE_OSGEO_FDO_CLIENTSERVICES 00102 00103
Comments or suggestions? Send us feedback. |