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

TSetRunIdCommand.cc

解説を見る。
00001 // =====================================================================
00002 //  $Id: TSetRunIdCommand.cc,v 1.3 2004/03/07 10:30:28 goiwai Exp $
00003 //  $Name: CLDAQ-1-14-03 $
00004 //  $Log: TSetRunIdCommand.cc,v $
00005 //  Revision 1.3  2004/03/07 10:30:28  goiwai
00006 //  ROOTに組みこむためのおまじないマクロを埋めこみました。
00007 //  全てにおいて完全に動作するわけではありません。
00008 //
00009 //  Revision 1.2  2003/10/06 17:02:37  goiwai
00010 //  *** empty log message ***
00011 //
00012 //  Revision 1.1  2003/07/30 18:19:17  goiwai
00013 //  TSetRunIdCommandクラスを追加しました.
00014 //  これにより,/run/setidコマンドが追加されました.
00015 //
00016 // =====================================================================
00017 #include "TSetRunIdCommand.hh"
00018 #include "TRunManager.hh"
00019 
00020 static const Tstring _name = "/run/setid";
00021 static const Tstring _desc = "set run ID.";
00022 
00023 TSetRunIdCommand::TSetRunIdCommand( TRunManager* manager )
00024   : TCommand( manager, _name, _desc )
00025 {;}
00026 
00027 TSetRunIdCommand::~TSetRunIdCommand()
00028 {;}
00029 
00030 Tvoid TSetRunIdCommand::Execute( const TstringList& arguments )
00031 {
00032   if ( arguments.empty() ) {
00033     Tcout << theRunManager -> GetRunID() << Tendl;
00034   } else {
00035     Tstring runid = arguments[ 0 ];
00036 
00037     // 012 とか 0x12 とかは面倒なので許可しない
00038     if ( runid.size() != 1 && runid[ 0 ] == '0' ) {
00039       Tcerr << "TSetRunIdCommand::Execute: invalid ID" << Tendl;
00040       return;
00041     }
00042 
00043     // 入力が数字かどうかチェック
00044     for ( Tsize_t i = 0; i < runid.size(); i ++ ) {
00045       if ( isdigit( runid[ i ] ) == 0 ) {
00046         // 数字以外を含めばやりなおし
00047         Tcerr << "TSetRunIdCommand::Execute: invalid ID" << Tendl;
00048         return;
00049       }
00050     }
00051 
00052     Tint id = strtol( runid.c_str(), 0, 0 );
00053     theRunManager -> SetRunID( id );
00054   }
00055   return;
00056 }
00057 
00058 #ifdef __CLDAQ_ROOT_DLL
00059     ClassImp(TSetRunIdCommand)
00060 #endif


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