- Main Page
- Related Pages
- Modules
- Classes
- Files

# IConnectionManager.h

Go to the documentation of this file.

    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

Please send us your comment about this page