FDO .NET API Reference | Feature Data Objects |
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\Commands\Locking\mgILockConflictReader.h" 00022 #include "FDO\Commands\Locking\mgConflictType.h" 00023 00024 class FdoILockConflictReader; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS 00027 public __gc class PropertyValueCollection; 00028 END_NAMESPACE_OSGEO_FDO_COMMANDS 00029 00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING 00031 00032 /// \ingroup (OSGeoFDOCommandsLocking) 00033 /// \brief 00034 /// The ILockConflictReaderImp class is a concrete implementation of ILockConflictReaderImp. 00035 /// The ILockConflictReader interface provides forward only, read-only 00036 /// functionality for identifying features that have a lock conflict. 00037 /// Features with a lock conflict are those that the caller is attempting to modify 00038 /// that are already locked by someone else. 00039 /// \remarks 00040 /// A reference to an ILockConflictReader is returned from the 00041 /// IAcquireLock, ISelect, IReleaseLock, IUpdate, and IDelete commands. The 00042 /// initial position of the ILockConflictReader is prior to the first item, 00043 /// thus you must call ReadNext to begin accessing any data. 00044 private __gc class ILockConflictReaderImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, 00045 public NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::ILockConflictReader 00046 { 00047 public: 00048 /// \brief 00049 /// Gets the class name of the feature currently being read. 00050 /// 00051 /// \remarks 00052 /// The value of the class name will be null in the event that the class 00053 /// name could not be resolved. This can happen 00054 /// if the table has no class id field and multiple classes have been 00055 /// written to the table. 00056 /// 00057 /// \return 00058 /// Returns the class name. 00059 /// 00060 System::String* GetFeatureClassName(); 00061 00062 /// \brief 00063 /// Returns an PropertyValueCollection containing the property values 00064 /// that uniquely identify the feature currently being read. 00065 /// 00066 /// \return 00067 /// Returns the property collection identifying the feature. 00068 /// 00069 NAMESPACE_OSGEO_FDO_COMMANDS::PropertyValueCollection* GetIdentity(); 00070 00071 /// \brief 00072 /// Gets the name of the owner who holds a lock on the feature 00073 /// currently being read. 00074 /// 00075 /// \return 00076 /// Returns the name of the owner 00077 /// 00078 System::String* GetLockOwner(); 00079 00080 /// \brief 00081 /// Gets the name of the long transaction in which the feature 00082 /// currently being read is locked. 00083 /// 00084 /// \return 00085 /// Returns the name of the long transaction in which the feature 00086 /// currently being read is locked. 00087 /// 00088 System::String* GetLongTransaction(); 00089 00090 /// \brief 00091 /// Gets the conflict type for the conflict currently being read. 00092 /// 00093 /// \return 00094 /// Returns the conflict type for the conflict currently being read. 00095 /// 00096 NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::ConflictType GetConflictType(); 00097 00098 /// \brief 00099 /// Advances the reader to the next item. The default position of the 00100 /// reader is prior to the first item. Thus, you must call ReadNext 00101 /// to begin accessing any data. 00102 /// 00103 /// \return 00104 /// Returns true if there is a next item. 00105 /// 00106 System::Boolean ReadNext(); 00107 00108 /// \brief 00109 /// Closes the ILockConflictReader object, freeing any resources it may 00110 /// be holding. 00111 /// 00112 /// \return 00113 /// Returns nothing 00114 /// 00115 System::Void Close(); 00116 00117 /// \cond DOXYGEN-IGNORE 00118 protected: 00119 System::Void ReleaseUnmanagedObject(); 00120 /// \endcond 00121 00122 public private: 00123 ILockConflictReaderImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete) 00124 { 00125 00126 } 00127 00128 inline FdoILockConflictReader* GetImpObj(); 00129 }; 00130 00131 END_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING 00132 00133
Comments or suggestions? Send us feedback. |