FDO .NET API Reference Feature Data Objects

mgILockConflictReaderImp.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\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.