FDO .NET API Reference Feature Data Objects

mgConnectionManager.h

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