FDO API Reference | Feature Data Objects |
00001 #ifndef _ILOCKCONFLICTREADER_H_ 00002 #define _ILOCKCONFLICTREADER_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/Locking/ConflictType.h> 00028 #include <Fdo/Commands/PropertyValueCollection.h> 00029 00030 /// \brief 00031 /// The FdoILockConflictReader interface provides forward only, read-only 00032 /// functionality for identifying features that have a lock conflict. 00033 /// Features with a lock conflict are those that the caller is attempting to modify 00034 /// that are already locked by someone else. 00035 /// \remarks 00036 /// A reference to an FdoILockConflictReader is returned from the 00037 /// FdoIAcquireLock, FdoISelect, FdoIReleaseLock, FdoIUpdate, and FdoIDelete commands. The 00038 /// initial position of the FdoILockConflictReader is prior to the first item, 00039 /// thus you must call ReadNext to begin accessing any data. 00040 class FdoILockConflictReader : public FdoIDisposable 00041 { 00042 public: 00043 /// \brief 00044 /// Gets the class name of the feature currently being read. 00045 /// 00046 /// \remarks 00047 /// The value of the class name will be null in the event that the class 00048 /// name could not be resolved. This can happen 00049 /// if the table has no class id field and multiple classes have been 00050 /// written to the table. 00051 /// 00052 /// \return 00053 /// Returns the class name. 00054 /// 00055 FDO_API virtual FdoString* GetFeatureClassName() = 0; 00056 00057 /// \brief 00058 /// Returns an FdoPropertyValueCollection containing the property values 00059 /// that uniquely identify the feature currently being read. 00060 /// 00061 /// \return 00062 /// Returns the property collection identifying the feature. 00063 /// 00064 FDO_API virtual FdoPropertyValueCollection* GetIdentity() = 0; 00065 00066 /// \brief 00067 /// Gets the name of the owner who holds a lock on the feature 00068 /// currently being read. 00069 /// 00070 /// \return 00071 /// Returns the name of the owner 00072 /// 00073 FDO_API virtual FdoString* GetLockOwner() = 0; 00074 00075 /// \brief 00076 /// Gets the name of the long transaction in which the feature 00077 /// currently being read is locked. 00078 /// 00079 /// \return 00080 /// Returns the name of the long transaction in which the feature 00081 /// currently being read is locked. 00082 /// 00083 FDO_API virtual FdoString* GetLongTransaction() = 0; 00084 00085 /// \brief 00086 /// Gets the conflict type for the conflict currently being read. 00087 /// 00088 /// \return 00089 /// Returns the conflict type for the conflict currently being read. 00090 /// 00091 FDO_API virtual FdoConflictType GetConflictType() = 0; 00092 00093 /// \brief 00094 /// Advances the reader to the next item. The default position of the 00095 /// reader is prior to the first item. Thus, you must call ReadNext 00096 /// to begin accessing any data. 00097 /// 00098 /// \return 00099 /// Returns true if there is a next item. 00100 /// 00101 FDO_API virtual bool ReadNext() = 0; 00102 00103 /// \brief 00104 /// Closes the FdoILockConflictReader object, freeing any resources it may 00105 /// be holding. 00106 /// 00107 /// \return 00108 /// Returns nothing 00109 /// 00110 FDO_API virtual void Close() = 0; 00111 }; 00112 #endif 00113 00114
Comments or suggestions? Send us feedback. |