Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CdbCommandTransReadOrUpdate.cc

Go to the documentation of this file.
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 /////////////////

Generated on Mon Dec 5 18:22:04 2005 for CDB by doxygen1.3-rc3