メインページ   モジュール   名前空間一覧   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ    

TRunStartCommand.cc

解説を見る。
00001 // =====================================================================
00002 //  $Id: TRunStartCommand.cc,v 1.6 2004/03/07 10:30:28 goiwai Exp $
00003 //  $Name: CLDAQ-1-14-03 $
00004 //  $Log: TRunStartCommand.cc,v $
00005 //  Revision 1.6  2004/03/07 10:30:28  goiwai
00006 //  ROOTに組みこむためのおまじないマクロを埋めこみました。
00007 //  全てにおいて完全に動作するわけではありません。
00008 //
00009 //  Revision 1.5  2003/10/06 17:02:37  goiwai
00010 //  *** empty log message ***
00011 //
00012 //  Revision 1.4  2003/07/30 18:17:56  goiwai
00013 //  /run/startコマンドに変な引数を与えたときに起こる不具合を修正しました.
00014 //
00015 //  Revision 1.3  2003/07/30 16:17:32  goiwai
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       // 012 とか 0x12 とかは面倒なので許可しない
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


CLDAQ - a Class Library for DataAcQuisition (Version 1.14.3)
Go IWAI -- goiwai at users.sourceforge.jp