00001 // File and Version Information: 00002 // $Id: CdbCommandTransReadOrUpdate.cc,v 1.1 2002/11/27 23:47:22 gapon Exp $ 00003 00004 /// Implementation file for the CdbCommandTransReadOrUpdate class 00005 /** 00006 * @see CdbCommandTransReadOrUpdate 00007 */ 00008 00009 #include "BaBar/BaBar.hh" 00010 00011 #include "CdbTools/CdbCommandTransReadOrUpdate.hh" 00012 00013 #include "BdbCond/BdbConditions.hh" 00014 00015 #include <assert.h> 00016 00017 CdbCommandTransReadOrUpdate::CdbCommandTransReadOrUpdate( BdbMode theMode ) : 00018 CdbCommandTrans( ), 00019 _myMode(theMode) 00020 { } 00021 00022 CdbCommandTransReadOrUpdate::~CdbCommandTransReadOrUpdate( ) 00023 { } 00024 00025 CdbStatus 00026 CdbCommandTransReadOrUpdate::start( ) 00027 { 00028 BdbConditions* app = BdbConditions::instance( ); 00029 00030 if( BdbcSuccess != app->activate( )) return CdbStatus::Error; 00031 00032 BdbStatus status = BdbcError; 00033 00034 switch( _myMode ) { 00035 case BdbcRead : 00036 00037 status = app->startRead( ); 00038 break; 00039 00040 case BdbcUpdate : 00041 00042 status = app->startUpdate( ); 00043 break; 00044 00045 default: 00046 00047 assert( 0 ); 00048 break; 00049 } 00050 00051 if( BdbcSuccess != status ) return CdbStatus::Error; 00052 00053 return CdbStatus::Success; 00054 } 00055 00056 CdbStatus 00057 CdbCommandTransReadOrUpdate::commit( ) 00058 { 00059 BdbConditions* app = BdbConditions::instance( ); 00060 00061 if( BdbcSuccess != app->commit( )) return CdbStatus::Error; 00062 if( BdbcSuccess != app->deactivate( )) return CdbStatus::Error; 00063 00064 return CdbStatus::Success; 00065 } 00066 00067 CdbStatus 00068 CdbCommandTransReadOrUpdate::commitAndHold( ) 00069 { 00070 BdbConditions* app = BdbConditions::instance( ); 00071 00072 if( BdbcSuccess != app->commitAndHold( )) return CdbStatus::Error; 00073 00074 return CdbStatus::Success; 00075 } 00076 00077 CdbStatus 00078 CdbCommandTransReadOrUpdate::abort( ) 00079 { 00080 BdbConditions* app = BdbConditions::instance( ); 00081 00082 if( BdbcSuccess != app->abort( )) return CdbStatus::Error; 00083 if( BdbcSuccess != app->deactivate( )) return CdbStatus::Error; 00084 00085 return CdbStatus::Success; 00086 } 00087 00088 ///////////////// 00089 // End Of File // 00090 /////////////////
1.3-rc3