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\mgIFeatureCommand.h" 00022 #include "FDO\Commands\Locking\mgLockType.h" 00023 #include "FDO\Commands\Locking\mgLockStrategy.h" 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING 00026 public __gc __interface ILockConflictReader; 00027 00028 /// \ingroup (OSGeoFDOCommandsLocking) 00029 /// \interface OSGeo::FDO::Commands::Locking::IAcquireLock 00030 /// \brief 00031 /// The IAcquireLock interface locks feature instances of a given class 00032 /// that match the specified criteria. Input to the acquire lock command 00033 /// includes the name of the class, the lock type, the lock strategy, and 00034 /// filter criteria by which to identify the instances to be locked. The 00035 /// filter may be specified either as text or as an expression tree (most 00036 /// likely produced by a query builder). The lock type value is one of 00037 /// <p> - LockType_Shared 00038 /// <p> - LockType_Exclusive 00039 /// <p> - LockType_Transaction 00040 /// <p> - LockType_LongTransactionExclusive 00041 /// <p> - LockType_AllLongTransactionExclusive 00042 /// \remarks 00043 /// If the lock strategy has a value of all and at least one of the feature 00044 /// instances specified in the filter is locked by someone else, the command 00045 /// returns an ILockConflictReader list which contains all of the feature 00046 /// instances specified in the filter. 00047 /// <p>If the lock strategy has a value of partial, the command returns an 00048 /// ILockConflictReader list which contains all of the feature instances 00049 /// specified in the filter that are already locked by someone else. 00050 /// The command returns an empty ILockConflictReader list if all of the 00051 /// feature instances specified in the filter were successfully locked. 00052 public __gc __interface IAcquireLock : public NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommand 00053 { 00054 public: 00055 /// \brief 00056 /// Gets the LockType value. 00057 /// 00058 /// \return 00059 /// Returns the lock type. 00060 /// 00061 __property NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::LockType get_LockType(); 00062 00063 /// \brief 00064 /// Sets the LockType value. 00065 /// 00066 /// \param value 00067 /// Input the lock type 00068 /// 00069 /// \return 00070 /// Returns nothing 00071 /// 00072 __property System::Void set_LockType(NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::LockType value); 00073 00074 /// \brief 00075 /// Gets the LockStrategy value. 00076 /// 00077 /// \return 00078 /// Returns the strategy value (all or partial). 00079 /// 00080 __property NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::LockStrategy get_LockStrategy(); 00081 00082 /// \brief 00083 /// Sets the LockStrategy value (all or partial). 00084 /// 00085 /// \param value 00086 /// Input the lock strategy used for locking objects 00087 /// 00088 /// \return 00089 /// Returns nothing 00090 /// 00091 __property System::Void set_LockStrategy(NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::LockStrategy value); 00092 00093 /// \brief 00094 /// Executes the AcquireLock command, returning an ILockConflictReader. 00095 /// 00096 /// \return 00097 /// Returns a list of feature instances which could not be locked. 00098 /// The list could be empty indicating that all of the feature instances 00099 /// specified in the filter have been locked, or it could contain the list 00100 /// of feature instances that could not be locked because they are already 00101 /// locked by someone or because the locking strategy is all and at least 00102 /// one of the feature instances specified in the filter is already locked 00103 /// by someone else. 00104 /// 00105 NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING::ILockConflictReader* Execute(); 00106 }; 00107 00108 END_NAMESPACE_OSGEO_FDO_COMMANDS_LOCKING 00109 00110
Comments or suggestions? Send us feedback. |