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

# IConnectionCapabilities.h

Go to the documentation of this file.

    00001 #ifndef _ICONNECTIONCAPABILITIES_H_
    00002 #define _ICONNECTIONCAPABILITIES_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 #ifdef _WIN32
    00023 #pragma once
    00024 #endif
    00025
    00026 #include <FdoStd.h>
    00027 #include <Fdo/Connections/Capabilities/ThreadCapability.h>
    00028 #include <Fdo/Commands/SpatialContext/SpatialContextExtentType.h>
    00029 #include <Fdo/Commands/Locking/LockType.h>
    00030
    00031 /// \brief
    00032 /// The FdoIConnectionCapabilities interface declares the feature provider's capabilities.
    00033 class FdoIConnectionCapabilities : public FdoIDisposable
    00034 {
    00035 public:
    00036     /// \brief
    00037     /// Gets an FdoThreadCapability value that declares the feature provider's level of thread safety.
    00038     ///
    00039     /// \return
    00040     /// Returns the connection thread capability.
    00041     ///
    00042     FDO_API virtual FdoThreadCapability GetThreadCapability() = 0;
    00043
    00044     /// \brief
    00045     /// Gets the spatial context extent types supported by the feature provider.
    00046     ///
    00047     /// \param length
    00048     /// Output the number of spatial context types.
    00049     ///
    00050     /// \return
    00051     /// Returns the list of spatial context extent types.
    00052     ///
    00053     FDO_API virtual FdoSpatialContextExtentType* GetSpatialContextTypes(FdoInt32& length) = 0;
    00054
    00055     /// \brief
    00056     /// Determines if the feature provider supports persistent locking.
    00057     ///
    00058     /// \return
    00059     /// Returns true if the feature provider supports persistent locking.
    00060     ///
    00061     FDO_API virtual bool SupportsLocking() = 0;
    00062
    00063     /// \brief
    00064     /// Gets an array of the FdoLockType values supported by the feature provider.
    00065     ///
    00066     /// \param size
    00067     /// Output the number of lock types
    00068     ///
    00069     /// \return
    00070     /// Returns the list of lock types
    00071     ///
    00072     FDO_API virtual FdoLockType* GetLockTypes(FdoInt32& size) = 0;
    00073
    00074     /// \brief
    00075     /// Determines if the feature provider supports connection timeout.
    00076     ///
    00077     /// \return
    00078     /// Returns true if the feature provider supports connection timeout.
    00079     ///
    00080     FDO_API virtual bool SupportsTimeout() = 0;
    00081
    00082     /// \brief
    00083     /// Determines if the feature provider supports transactions.
    00084     ///
    00085     /// \return
    00086     /// Returns true if the feature provider supports transactions.
    00087     ///
    00088     FDO_API virtual bool SupportsTransactions() = 0;
    00089
    00090     /// \brief
    00091     /// Determines true if the feature provider supports long transactions.
    00092     ///
    00093     /// \return
    00094     /// Returns true if the feature provider supports long transactions.
    00095     ///
    00096     FDO_API virtual bool SupportsLongTransactions() = 0;
    00097
    00098     /// \brief
    00099     /// Determines if the feature provider supports SQL commands.
    00100     ///
    00101     /// \return
    00102     /// Returns true if the feature provider supports SQL commands.
    00103     ///
    00104     FDO_API virtual bool SupportsSQL() = 0;
    00105
    00106     /// \brief
    00107     /// Determines if the feature provider supports XML configuration.
    00108     ///
    00109     /// \return
    00110     /// Returns true if the feature provider supports the setting of a configuration.
    00111     ///
    00112     FDO_API virtual bool SupportsConfiguration() = 0;
    00113
    00114     /// \brief
    00115     /// Determines if the provider supports multiple spatial contexts.
    00116     ///
    00117     /// \return
    00118     /// Returns true if the provider supports multiple spatial contexts.
    00119     ///
    00120     FDO_API virtual bool SupportsMultipleSpatialContexts() = 0;
    00121
    00122     /// \brief
    00123     /// Determines if the provider supports specifying the coordinate system by name or ID without specifying the WKT
    00124     /// when creating a new spatial context.
    00125     ///
    00126     /// \return
    00127     /// Returns true if the provider supports specifying the coordinate system by name or ID without specifying the WKT
    00128     /// when creating a new spatial context.
    00129     ///
    00130     FDO_API virtual bool SupportsCSysWKTFromCSysName() = 0;
    00131
    00132     /// \brief
    00133     /// Determines if write is supported by the provider or by the datastore depending on whether this request is at
    00134     /// the provider or datastore level.
    00135     ///
    00136     /// \return
    00137     /// Returns true if write is supported by the provider or by the datastore depending on whether this request is at
    00138     /// the provider or datastore level.
    00139     FDO_API virtual bool SupportsWrite() = 0;
    00140
    00141     /// \brief
    00142     /// Determines if the provider or datastore can support more than one user writing to a single datastore at
    00143     /// one time.
    00144     ///
    00145     /// \return
    00146     /// Returns true if the provider or datastore can support more than one user writing to a single datastore at
    00147     /// one time.
    00148     FDO_API virtual bool SupportsMultiUserWrite() = 0;
    00149
    00150     /// \brief
    00151     /// Determines if the provider can support the flush function. Flush is used to write any outstanding data
    00152     /// to the datastore. This is mainly used by the file based providers to ensure that any cached data is writen to the file.
    00153     ///
    00154     /// \return
    00155     /// Returns true if the provider or datastore can support the flush function.
    00156     ///
    00157     FDO_API virtual bool SupportsFlush() = 0;
    00158
    00159 };
    00160 #endif
    00161
    00162

Please send us your comment about this page