00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "TRunStartCommand.hh"
00020 #include "TRunManager.hh"
00021
00022 static const Tstring _name = "/run/start";
00023 static const Tstring _desc = "start a run.\nif you give a argument, set to run identification.\nhowever, it is omittable.\nexample> /run/start\nexample> /run/start 12345";
00024
00025 TRunStartCommand::TRunStartCommand( TRunManager* manager )
00026 : TCommand( manager, _name, _desc )
00027 {;}
00028
00029 TRunStartCommand::~TRunStartCommand()
00030 {;}
00031
00032 Tvoid TRunStartCommand::Execute( const TstringList& arguments )
00033 {
00034 if ( !( arguments.empty() ) ) {
00035 if ( arguments.size() == 1 ) {
00036 Tstring runid = arguments[ 0 ];
00037
00038
00039 if ( runid.size() != 1 && runid[ 0 ] == '0' ) {
00040 Tcerr << "TRunStartCommand::Execute: invalid ID" << Tendl;
00041 return;
00042 }
00043
00044
00045 for ( Tsize_t i = 0; i < runid.size(); i ++ ) {
00046 if ( isdigit( runid[ i ] ) == 0 ) {
00047
00048 Tcerr << "TRunStartCommand::Execute: invalid ID" << Tendl;
00049 return;
00050 }
00051 }
00052
00053 theRunManager -> StartRun( strtol( runid.c_str(), 0, 0 ) );
00054 return;
00055 } else {
00056 ShowCommandDetail();
00057 return;
00058 }
00059 }
00060
00061 theRunManager -> StartRun();
00062
00063 return;
00064 }
00065
00066 #ifdef __CLDAQ_ROOT_DLL
00067 ClassImp(TRunStartCommand)
00068 #endif