FDO API Reference Feature Data Objects

IProviderRegistry.h

Go to the documentation of this file.
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.