00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TMODULESPECIFIED_HH 00030 #define CLDAQ__TMODULESPECIFIED_HH 00031 00032 #include "Tglobals.h" 00033 00034 class TModule; 00035 00036 00056 class TModuleSpecified 00057 { 00058 00059 private: 00060 Tstring theModuleID; 00061 TstringList theGroupIDs; 00062 TModule* theModule; 00063 00064 public: 00065 TModuleSpecified(); 00066 TModuleSpecified( const Tstring& id, const TstringList& groups, TModule* module ); 00067 TModuleSpecified( const TModuleSpecified& right ); 00068 ~TModuleSpecified(); 00069 00070 public: 00071 const TModuleSpecified& operator=( const TModuleSpecified& right ); 00072 Tbool operator==( const TModuleSpecified& right ) const; 00073 Tbool operator!=( const TModuleSpecified& right ) const; 00074 friend Tostream& operator<<( Tostream& tos, const TModuleSpecified& right ); 00075 00076 public: 00077 const Tstring& GetModuleID() const; 00078 Tstring& GetModuleID(); 00079 const TstringList& GetGroupIDs() const; 00080 TstringList& GetGroupIDs(); 00081 TModule* GetModule() const; 00082 Tvoid SetModuleID( const Tstring& id ); 00083 Tvoid SetGroupIDs( const TstringList& ids ); 00084 Tvoid SetModule( TModule* module ); 00085 Tbool IsSameGroup( const TModuleSpecified& spec ); 00086 Tbool IsSameGroup( const TstringList& groups ); 00087 Tbool IsSameGroup( const Tstring& group ); 00088 00089 #ifdef __CLDAQ_ROOT_DLL 00090 ClassDef(TModuleSpecified,0) 00091 #endif 00092 00093 }; 00094 00095 inline const Tstring& TModuleSpecified::GetModuleID() const 00096 { 00097 return theModuleID; 00098 } 00099 00100 inline Tstring& TModuleSpecified::GetModuleID() 00101 { 00102 return theModuleID; 00103 } 00104 00105 inline const TstringList& TModuleSpecified::GetGroupIDs() const 00106 { 00107 return theGroupIDs; 00108 } 00109 00110 inline TstringList& TModuleSpecified::GetGroupIDs() 00111 { 00112 return theGroupIDs; 00113 } 00114 00115 inline TModule* TModuleSpecified::GetModule() const 00116 { 00117 return theModule; 00118 } 00119 00120 inline Tvoid TModuleSpecified::SetModuleID( const Tstring& id ) 00121 { 00122 theModuleID = id; 00123 return; 00124 } 00125 00126 inline Tvoid TModuleSpecified::SetGroupIDs( const TstringList& ids ) 00127 { 00128 theGroupIDs = ids; 00129 return; 00130 } 00131 00132 inline Tvoid TModuleSpecified::SetModule( TModule* module ) 00133 { 00134 theModule = module; 00135 return; 00136 } 00137 00138 #endif