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