FDO API Reference | Feature Data Objects |
00001 #ifndef _ISELECT_H_ 00002 #define _ISELECT_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/Commands/IFeatureCommand.h> 00028 #include <Fdo/Commands/Locking/LockType.h> 00029 #include <Fdo/Commands/Locking/LockStrategy.h> 00030 #include <Fdo/Connections/IConnection.h> 00031 #include <Fdo/Commands/Feature/IFeatureReader.h> 00032 #include <Fdo/Commands/Locking/ILockConflictReader.h> 00033 #include <Fdo/Commands/IdentifierCollection.h> 00034 #include <Fdo/Commands/OrderingOption.h> 00035 #include <Fdo/Commands/Feature/IBaseSelect.h> 00036 00037 /// \brief 00038 /// The FdoISelect interface defines the Select command, which queries for features 00039 /// of a given class that match the specified criteria. Input to the select 00040 /// command includes the name of the class, the list of properties to be 00041 /// returned, and a filter. All but the class name is optional. If the list of 00042 /// properties to be returned is empty then all properties are returned. The 00043 /// filter may be specified either as text or as an expression tree (most likely 00044 /// produced by a query builder). The result of executing a select command is an 00045 /// FdoIFeatureReader reference (see "Reading Features"). If the feature provider 00046 /// supports locking, then the select command can optionally lock all of the 00047 /// features selected, via the ExecuteWithLock method (see "Locking 00048 /// Commands" for more information on locking features). 00049 class FdoISelect : public FdoIBaseSelect 00050 { 00051 friend class FdoIConnection; 00052 00053 public: 00054 /// \brief 00055 /// Gets the FdoLockType value (see "Locking Commands"). 00056 /// 00057 /// \return 00058 /// Returns the lock type. 00059 /// 00060 FDO_API virtual FdoLockType GetLockType() = 0; 00061 00062 /// \brief 00063 /// Sets the FdoLockType value (see "Locking Commands"). 00064 /// 00065 /// \param value 00066 /// Input the lock type. 00067 /// 00068 /// \return 00069 /// Returns nothing 00070 /// 00071 FDO_API virtual void SetLockType(FdoLockType value) = 0; 00072 00073 /// \brief 00074 /// Gets the FdoLockStrategy value (see "Locking Commands"). 00075 /// 00076 /// \return 00077 /// Returns the lock strategy. 00078 /// 00079 FDO_API virtual FdoLockStrategy GetLockStrategy() = 0; 00080 00081 /// \brief 00082 /// Sets the FdoLockStrategy value (see "Locking Commands"). 00083 /// 00084 /// \param value 00085 /// Input the lock strategy. 00086 /// 00087 /// \return 00088 /// Returns nothing 00089 /// 00090 FDO_API virtual void SetLockStrategy(FdoLockStrategy value) = 0; 00091 00092 /// \brief 00093 /// Executes the select command and returns a reference to an FdoIFeatureReader. 00094 /// 00095 /// \return 00096 /// Returns the feature reader. 00097 /// 00098 FDO_API virtual FdoIFeatureReader* Execute() = 0; 00099 00100 /// \brief 00101 /// Executes the select command and returns a reference to an 00102 /// IFeatureReader. 00103 /// 00104 /// \return 00105 /// Returns the feature reader. 00106 /// 00107 FDO_API virtual FdoIFeatureReader* ExecuteWithLock() = 0; 00108 00109 /// \brief 00110 /// When executing the operation ExecuteWithLock lock 00111 /// conflicts may occur. Those lock conflicts are reported. The 00112 /// function GetLockConflicts returns a lock conflict reader 00113 /// providing access to the list of lock conflicts that occurred 00114 /// during the execution of the operation. 00115 /// 00116 /// \return 00117 /// Returns a lock conflict reader. 00118 /// 00119 FDO_API virtual FdoILockConflictReader* GetLockConflicts() = 0; 00120 }; 00121 #endif 00122 00123
Comments or suggestions? Send us feedback. |