FDO .NET API Reference Feature Data Objects

mgILockedObjectReaderImp.h

Go to the documentation of this file.
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.