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

TAnalysisManager.hh

解説を見る。
00001 // =====================================================================
00021 // =====================================================================
00022 #ifndef __TANALYSISMANAGER_HH
00023 #define __TANALYSISMANAGER_HH
00024 
00025 #include "Tglobals.h"
00026 #include "TAnalyser.hh"
00027 #include "TAnalysisStatusTable.hh"
00028 #include "TAnalysisAction.hh"
00029 
00030 class TExtractor;
00031 
00032 
00052 class TAnalysisManager
00053 {
00054 
00055   protected:
00056     static TAnalysisManager* theAnalysisManager;
00057 
00058   protected:
00059     TAnalysisStatusTable theStatusTable;
00060     TAnalyser* theAnalyser;
00061     TAnalysisAction* theAnalysisAction;
00062 
00063   public:
00064     TAnalysisManager( TAnalyser* analyser = 0 );
00065     virtual ~TAnalysisManager();
00066 
00067   public:
00068     virtual Tvoid StartAnalysis( const Tstring& id );
00069     virtual Tvoid StopAnalysis( const Tstring& id );
00070     virtual Tvoid UpdateAnalysis( const Tstring& id );
00071     virtual Tvoid SuspendAnalysis( const Tstring& id );
00072     virtual Tvoid ResumeAnalysis( const Tstring& id );
00073     virtual Tvoid StartAnalysis();
00074     virtual Tvoid StopAnalysis();
00075     virtual Tvoid UpdateAnalysis();
00076     virtual Tvoid SuspendAnalysis();
00077     virtual Tvoid ResumeAnalysis();
00078 
00079   public:
00080     virtual Tvoid ShowStatus() const;
00081 
00082   public:
00083     TAnalyser* GetAnalyser() const;
00084     Tvoid SetAnalyser( TAnalyser* analyser );
00085     Tvoid SetExtractor( TExtractor* extractor );
00086     const TAnalysisStatusTable& GetStatusTable() const;
00087     TAnalysisStatusTable& GetStatusTable();
00088     Tvoid SetStatusTable( const TAnalysisStatusTable& table );
00089     TAnalysisAction* GetAnalysisAction() const;
00090     Tvoid SetAnalysisAction( TAnalysisAction* action );
00091 
00092   public:
00093     virtual Tvoid GoAnalysisLoop( const Tstring& id );
00094     virtual Tvoid WaitReturnFromAnalysisLoop( const Tstring& id );
00095 
00096   protected:
00097     static Tvoid* doAnalysisLoop( Tvoid* arguments );
00098 
00099   public:
00100     static TAnalysisManager* GetAnalysisManager();
00101 
00102 };
00103 
00104 inline TAnalysisManager* TAnalysisManager::GetAnalysisManager()
00105 {
00106   if ( theAnalysisManager == 0 )
00107     return 0;
00108   return theAnalysisManager;
00109 }
00110 
00111 inline TAnalyser* TAnalysisManager::GetAnalyser() const
00112 {
00113   return theAnalyser;
00114 }
00115 
00116 inline const TAnalysisStatusTable& TAnalysisManager::GetStatusTable() const
00117 {
00118   return theStatusTable;
00119 }
00120 
00121 inline TAnalysisStatusTable& TAnalysisManager::GetStatusTable()
00122 {
00123   return theStatusTable;
00124 }
00125 
00126 inline Tvoid TAnalysisManager::SetStatusTable( const TAnalysisStatusTable& table )
00127 {
00128   theStatusTable = table;
00129   return;
00130 }
00131 
00132 inline Tvoid TAnalysisManager::SetExtractor( TExtractor* extractor )
00133 {
00134   if ( theAnalyser != 0 )
00135     theAnalyser -> AddExtractor( extractor );
00136   return;
00137 }
00138 
00139 inline TAnalysisAction* TAnalysisManager::GetAnalysisAction() const
00140 {
00141   return theAnalysisAction;
00142 }
00143 
00144 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.10.0)
Go IWAI <goiwai@users.sourceforge.jp>