00001 // ===================================================================== 00002 // $Id: TModuleSpecified.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-02 $ 00004 // ===================================================================== 00005 #ifndef __TMODULESPECIFIED_HH 00006 #define __TMODULESPECIFIED_HH 00007 00008 #include "Tglobals.h" 00009 00010 class TModule; 00011 00012 class TModuleSpecified 00013 { 00014 00015 private: 00016 Tstring theModuleID; 00017 TstringList theGroupIDs; 00018 TModule* theModule; 00019 00020 public: 00021 TModuleSpecified(); 00022 TModuleSpecified( const Tstring& id, const TstringList& groups, TModule* module ); 00023 TModuleSpecified( const TModuleSpecified& right ); 00024 ~TModuleSpecified(); 00025 00026 public: 00027 const TModuleSpecified& operator=( const TModuleSpecified& right ); 00028 Tbool operator==( const TModuleSpecified& right ) const; 00029 Tbool operator!=( const TModuleSpecified& right ) const; 00030 friend Tostream& operator<<( Tostream& tos, const TModuleSpecified& right ); 00031 00032 public: 00033 const Tstring& GetModuleID() const; 00034 Tstring& GetModuleID(); 00035 const TstringList& GetGroupIDs() const; 00036 TstringList& GetGroupIDs(); 00037 TModule* GetModule() const; 00038 Tvoid SetModuleID( const Tstring& id ); 00039 Tvoid SetGroupIDs( const TstringList& ids ); 00040 Tvoid SetModule( TModule* module ); 00041 Tbool IsSameGroup( const TModuleSpecified& spec ); 00042 Tbool IsSameGroup( const TstringList& groups ); 00043 Tbool IsSameGroup( const Tstring& group ); 00044 00045 }; 00046 00047 inline const Tstring& TModuleSpecified::GetModuleID() const 00048 { 00049 return( theModuleID ); 00050 } 00051 00052 inline Tstring& TModuleSpecified::GetModuleID() 00053 { 00054 return( theModuleID ); 00055 } 00056 00057 inline const TstringList& TModuleSpecified::GetGroupIDs() const 00058 { 00059 return( theGroupIDs ); 00060 } 00061 00062 inline TstringList& TModuleSpecified::GetGroupIDs() 00063 { 00064 return( theGroupIDs ); 00065 } 00066 00067 inline TModule* TModuleSpecified::GetModule() const 00068 { 00069 return( theModule ); 00070 } 00071 00072 inline Tvoid TModuleSpecified::SetModuleID( const Tstring& id ) 00073 { 00074 theModuleID = id; 00075 return; 00076 } 00077 00078 inline Tvoid TModuleSpecified::SetGroupIDs( const TstringList& ids ) 00079 { 00080 theGroupIDs = ids; 00081 return; 00082 } 00083 00084 inline Tvoid TModuleSpecified::SetModule( TModule* module ) 00085 { 00086 theModule = module; 00087 return; 00088 } 00089 00090 #endif