00001 #ifndef CDBTOOLS_COMMAND_TRANS_READ_OR_UPDATE_HH 00002 #define CDBTOOLS_COMMAND_TRANS_READ_OR_UPDATE_HH 00003 00004 // File and Version Information: 00005 // $Id: CdbCommandTransReadOrUpdate.hh,v 1.1 2002/11/27 23:47:22 gapon Exp $ 00006 00007 #include "BdbUtil/Bdb.hh" 00008 00009 #include "CdbTools/CdbCommandTrans.hh" 00010 00011 /// This class implements the actual transaction manager 00012 /** 00013 * This manager can be used to begin the actual transaction. 00014 */ 00015 class CdbCommandTransReadOrUpdate : public CdbCommandTrans { 00016 00017 public: 00018 00019 /// Constructor 00020 00021 CdbCommandTransReadOrUpdate( BdbMode theMode = BdbcRead ); 00022 00023 /// Destructor 00024 00025 virtual ~CdbCommandTransReadOrUpdate( ); 00026 00027 /// Start a new transaction 00028 /** 00029 * Implement a pure virtual method defined by the base class. 00030 * 00031 * @see CdbCommandTrans::start() 00032 */ 00033 virtual CdbStatus start( ); 00034 00035 /// Commit an active transaction 00036 /** 00037 * Implement a pure virtual method defined by the base class. 00038 * 00039 * @see CdbCommandTrans::commit() 00040 */ 00041 virtual CdbStatus commit( ); 00042 00043 /// Commit and hold an active transaction 00044 /** 00045 * Implement a pure virtual method defined by the base class. 00046 * 00047 * @see CdbCommandTrans::commitAndHold() 00048 */ 00049 virtual CdbStatus commitAndHold( ); 00050 00051 /// Abort an active transaction 00052 /** 00053 * Implement a pure virtual method defined by the base class. 00054 * 00055 * @see CdbCommandTrans::abort() 00056 */ 00057 virtual CdbStatus abort( ); 00058 00059 private: 00060 00061 // The desired mode of the transaction. This value is used when a transaction 00062 // is being started. 00063 00064 BdbMode _myMode; 00065 }; 00066 00067 #endif /* CDBTOOLS_COMMAND_TRANS_READ_HH */
1.3-rc3