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 00023 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_LONGTRANSACTION 00024 public __gc __interface ILongTransactionConflictDirectiveEnumerator; 00025 00026 /// \ingroup (OSGeoFDOCommandsLongTransaction) 00027 /// \interface OSGeo::FDO::Commands::LongTransaction::ICommitLongTransaction 00028 /// \brief 00029 /// The ICommitLongTransaction interface defines the CommitLongTransaction 00030 /// command, which allows a user to execute commit operations on a long 00031 /// transaction. Two different commit operations are distinguished: full and partial. 00032 /// 00033 /// <b>Full.</b> A full commit operation is executed on all data within a long transaction. The data is committed to the parent long transaction and the long transaction itself is removed. 00034 /// 00035 /// <b>Partial.</b> A partial commit operation is executed on a subset of the data within a long transaction (this could be all data). The data is committed to the parent long transaction. However, the long transaction, itself, is not removed. The subset of the data to be committed is defined by a class name and a set of filter criteria. 00036 /// 00037 /// To perform a commit operation the user requires the access and commit 00038 /// privileges for the long transaction to be committed (in case of a 00039 /// full commit the user also requires the remove privilege for the long 00040 /// transaction) and the access privilege for the parent long transaction. 00041 /// In addition, a full commit can be performed on a leaf long transaction 00042 /// only. A long transaction is a leaf long transaction if it does not 00043 /// have descendent versions. 00044 public __gc __interface ICommitLongTransaction : public NAMESPACE_OSGEO_FDO_COMMANDS::IFeatureCommand 00045 { 00046 public: 00047 /// \brief 00048 /// Gets the name of the long transaction to commit as a string. 00049 /// 00050 /// \return 00051 /// Returns the name of the long transaction 00052 /// 00053 __property System::String* get_Name(); 00054 00055 /// \brief 00056 /// Sets the name of the long transaction to commit as a string. 00057 /// 00058 /// \param value 00059 /// Input the name of the long transaction 00060 /// 00061 /// \return 00062 /// Returns nothing 00063 /// 00064 __property System::Void set_Name(System::String* value); 00065 00066 /// Executes the commit long transaction command and returns an 00067 /// ILongTransactionConflictDirectiveEnumerator. 00068 /// If the returned enumerator's count is 0 then 00069 /// no conflicts were detected and the command was executed successfully. 00070 /// Otherwise conflicts were detected and the user must specify how to 00071 /// resolve them using the enumerator and call Execute again. 00072 ILongTransactionConflictDirectiveEnumerator* Execute(); 00073 }; 00074 00075 END_NAMESPACE_OSGEO_FDO_COMMANDS_LONGTRANSACTION 00076 00077
Comments or suggestions? Send us feedback. |