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