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\mgIConnectionManager.h" 00022 00023 class FdoConnectionManager; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_CLIENTSERVICES 00026 00027 /// \ingroup (OSGeoFDOClientServices) 00028 /// \brief 00029 /// The ConnectionManager class supports dynamic creation of connection objects 00030 /// given a provider name. Derives from the IConnectionManager interface. 00031 /// 00032 /// \remarks 00033 /// In order for dynamic creation to work, each dynamic link library, shared library, 00034 /// or assembly that implements a provider must supply a well-defined entry point function that 00035 /// takes as input a provider name and returns an IConnection instance. The definition of the 00036 /// entry point function is language- and platform-dependent. For this release of FDO, the 00037 /// windows libraries supporting FDO providers will be expected to support the following well-known 00038 /// unmanaged entry point function, which will create and return an unitialized connection object: 00039 /// 00040 /// FdoIConnection * CreateConnection(); 00041 /// 00042 public __sealed __gc class ConnectionManager : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_FDO::IConnectionManager 00043 { 00044 public: 00045 /// \brief 00046 /// Creates an unitialized connection object given the provider name. 00047 /// 00048 /// \param providerName 00049 /// The unique name of the feature provider. This name should be of the form 00050 /// [Company].[Provider].[Version]. 00051 /// 00052 /// \return 00053 /// Returns an instance of an IConnection object. Throws an instance of Exception if an error occurs. 00054 /// 00055 NAMESPACE_OSGEO_FDO_CONNECTIONS::IConnection* CreateConnection(String* providerName); 00056 00057 /// \brief 00058 /// Frees a connection library reference given the provider name. 00059 /// 00060 /// \param providerName 00061 /// The unique name of the feature provider. This name should be of the form 00062 /// [Company].[Provider].[Version]. 00063 /// 00064 /// \return 00065 /// Returns nothing. Throws an instance of Exception if an error occurs. 00066 /// 00067 System::Void FreeLibrary(String* providerName); 00068 00069 public private: 00070 ConnectionManager(System::IntPtr unmanaged, System::Boolean autoDelete); 00071 00072 inline FdoConnectionManager* GetImpObj(); 00073 00074 /// \cond DOXYGEN-IGNORE 00075 protected: 00076 System::Void ReleaseUnmanagedObject(); 00077 /// \endcond 00078 }; 00079 00080 END_NAMESPACE_OSGEO_FDO_CLIENTSERVICES 00081 00082
Comments or suggestions? Send us feedback. |