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 IProviderRegistry; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO 00026 00027 /// \ingroup (OSGeoFDO) 00028 /// \brief 00029 /// 00030 /// The IProviderRegistryImp class is a concrete implementation of IProviderRegistry. 00031 /// IProviderRegistryImp supports registering, un-registering, and enumerating 00032 /// registered feature providers. 00033 /// 00034 /// \note 00035 /// This is not the Windows registry. 00036 private __gc class IProviderRegistryImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_FDO::IProviderRegistry 00037 { 00038 public: 00039 /// \brief 00040 /// Gets a read only collection of information describing each of the registered feature providers. 00041 /// 00042 /// \return 00043 /// Returns an an instance of ProviderCollection. Throws an instance of Exception if an error occurs. 00044 /// 00045 NAMESPACE_OSGEO_FDO_CLIENTSERVICES::ProviderCollection* GetProviders(); 00046 00047 /// \brief 00048 /// Registers a provider given the necessary information to register the provider. 00049 /// If any of the parameters are missing or invalid, an exception is thrown. 00050 /// 00051 /// \param name 00052 /// The unique name of the feature provider. This name should be of the form 00053 /// [Company].[Provider].[Version]. 00054 /// \param displayName 00055 /// A user friendly display name of the feature provider. 00056 /// \param description 00057 /// A brief description of the feature provider. 00058 /// \param version 00059 /// The version of the feature provider. The version number string has the form 00060 /// [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]. 00061 /// \param fdoVersion 00062 /// The version of the feature data objects specification the feature provider conforms to. 00063 /// The version number string has the form [VersionMajor].[VersionMinor].[BuildMajor].[BuildMinor]. 00064 /// \param libraryPath 00065 /// The FULL library path + library name of the provider. 00066 /// \param isManaged 00067 /// A flag indicating if the provider is a managed or unmanaged .Net provider. 00068 /// 00069 /// \return 00070 /// Returns nothing. Throws an instance of Exception if an error occurs. 00071 /// 00072 System::Void RegisterProvider(String * name, 00073 String * displayName, 00074 String * description, 00075 String * version, 00076 String * fdoVersion, 00077 String * libraryPath, 00078 System::Boolean isManaged); 00079 00080 /// \brief 00081 /// Unregisters the provider with the specified name. 00082 /// 00083 /// \param name 00084 /// The unique name of the feature provider. This name should be of the form 00085 /// [Company].[Provider].[Version]. 00086 /// 00087 /// \return 00088 /// Returns nothing. Throws an instance of Exception if an error occurs. 00089 /// 00090 System::Void UnregisterProvider(String * name); 00091 00092 public private: 00093 IProviderRegistryImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00094 00095 ::IProviderRegistry *GetImpObj(); 00096 00097 /// \cond DOXYGEN-IGNORE 00098 protected: 00099 System::Void ReleaseUnmanagedObject(); 00100 /// \endcond 00101 }; 00102 00103 END_NAMESPACE_OSGEO_FDO 00104 00105
Comments or suggestions? Send us feedback. |