FDO API Reference | Feature Data Objects |
00001 #ifndef _ICONNECTIONMANAGER_H_ 00002 #define _ICONNECTIONMANAGER_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 #ifdef _WIN32 00022 #pragma once 00023 #endif 00024 00025 // Include definitions 00026 #include <Fdo.h> 00027 #include <Fdo/ClientServices/ClientServices.h> 00028 00029 /// \brief 00030 /// 00031 /// The IConnectionManager interface supports dynamic creation of connection objects 00032 /// given a provider name. 00033 /// \remarks 00034 /// 00035 /// In order for dynamic creation to work, each dynamic link library, shared library, 00036 /// or assembly that implements a provider must supply a well-defined entry point function that 00037 /// takes as input a provider name and returns an FdoIConnection instance. The definition of the 00038 /// entry point function is language and platform dependent. For this release of FDO, on the 00039 /// Windows platform, windows libraries supporting FDO providers will be expected to support the 00040 /// following well-known entry point function which will create and returns an unitialized 00041 /// connection object. 00042 /// 00043 /// FdoIConnection * CreateConnection(); 00044 /// 00045 class IConnectionManager : public FdoIDisposable 00046 { 00047 public: 00048 /// \brief 00049 /// Creates an unitialized connection object given the provider name. 00050 /// 00051 /// \param providerName 00052 /// The unique name of the feature provider. This name should be of the form 00053 /// [Company].[Provider].[Version]. 00054 /// 00055 /// \return 00056 /// Returns an instance of an FdoIConnection object. Throws an instance of FdoClientServicesException * if an error occurs. 00057 /// 00058 FDO_API virtual FdoIConnection* CreateConnection(const wchar_t* providerName) = 0; 00059 00060 /// \brief 00061 /// Frees a connection library reference given the provider name. 00062 /// 00063 /// \param providerName 00064 /// The unique name of the feature provider. This name should be of the form 00065 /// [Company].[Provider].[Version]. 00066 /// 00067 /// \return 00068 /// Returns nothing. Throws an instance of FdoClientServicesException * if an error occurs. 00069 /// 00070 FDO_API virtual void FreeLibrary(const wchar_t* providerName) = 0; 00071 }; 00072 #endif 00073 00074
Comments or suggestions? Send us feedback. |