00001 // ===================================================================== 00002 // $Id: TCrate.hh,v 1.2 2003/07/30 16:19:10 goiwai Exp $ 00003 // $Name: CLDAQ-1-08-00 $ 00004 // 00005 // $Log: TCrate.hh,v $ 00006 // Revision 1.2 2003/07/30 16:19:10 goiwai 00007 // ファイルにコミットログをつけることにしました. 00008 // 00009 // ===================================================================== 00010 #ifndef __TCRATE_HH 00011 #define __TCRATE_HH 00012 00013 #include "Tglobals.h" 00014 #include "TModuleTable.hh" 00015 00016 class TModule; 00017 00018 class TCrate 00019 { 00020 00021 private: 00022 TModuleTable theModuleTable; 00023 00024 public: 00025 TCrate(); 00026 ~TCrate(); 00027 00028 public: 00029 Tint InstallModule( TModule* module, const Tstring& id, const TstringList& group ); 00030 Tint InstallModule( TModule* module, const Tstring& id, const Tstring& group = "" ); 00031 Tint RemoveModule( Tint index ); 00032 Tint RemoveModule( const Tstring& id ); 00033 Tint RemoveModule( const TstringList& groups ); 00034 Tvoid ClearCrate(); 00035 TModule* FindModule( const Tstring& id ); 00036 TModule* GetModule( Tint index ); 00037 TModule* GetModule( const Tstring& id ); 00038 00039 public: 00040 const TModuleTable& GetModuleTable() const; 00041 TModuleTable& GetModuleTable(); 00042 Tvoid SetModuleTable( const TModuleTable& table ); 00043 00044 public: 00045 Tvoid Clear(); 00046 Tvoid Clear( const TstringList& groups ); 00047 Tvoid Clear( const Tstring& group ); 00048 Tvoid Update(); 00049 Tvoid Update( const TstringList& groups ); 00050 Tvoid Update( const Tstring& group ); 00051 Tvoid Initialize(); 00052 Tvoid Initialize( const TstringList& groups ); 00053 Tvoid Initialize( const Tstring& group ); 00054 Tvoid ClearAllModules(); 00055 Tvoid UpdateAllModules(); 00056 Tvoid InitializeAllModules(); 00057 Tvoid ClearModule( const Tstring& id ); 00058 Tvoid UpdateModule( const Tstring& id ); 00059 Tvoid InitializeModule( const Tstring& id ); 00060 00061 }; 00062 00063 inline const TModuleTable& TCrate::GetModuleTable() const 00064 { 00065 return( theModuleTable ); 00066 } 00067 00068 inline TModuleTable& TCrate::GetModuleTable() 00069 { 00070 return( theModuleTable ); 00071 } 00072 00073 inline Tvoid TCrate::SetModuleTable( const TModuleTable& table ) 00074 { 00075 theModuleTable = table; 00076 return; 00077 } 00078 00079 #endif