FDO .NET API Reference Feature Data Objects

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