00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TMODULESPECIFIED_HH 00023 #define __TMODULESPECIFIED_HH 00024 00025 #include "Tglobals.h" 00026 00027 class TModule; 00028 00029 00049 class TModuleSpecified 00050 { 00051 00052 private: 00053 Tstring theModuleID; 00054 TstringList theGroupIDs; 00055 TModule* theModule; 00056 00057 public: 00058 TModuleSpecified(); 00059 TModuleSpecified( const Tstring& id, const TstringList& groups, TModule* module ); 00060 TModuleSpecified( const TModuleSpecified& right ); 00061 ~TModuleSpecified(); 00062 00063 public: 00064 const TModuleSpecified& operator=( const TModuleSpecified& right ); 00065 Tbool operator==( const TModuleSpecified& right ) const; 00066 Tbool operator!=( const TModuleSpecified& right ) const; 00067 friend Tostream& operator<<( Tostream& tos, const TModuleSpecified& right ); 00068 00069 public: 00070 const Tstring& GetModuleID() const; 00071 Tstring& GetModuleID(); 00072 const TstringList& GetGroupIDs() const; 00073 TstringList& GetGroupIDs(); 00074 TModule* GetModule() const; 00075 Tvoid SetModuleID( const Tstring& id ); 00076 Tvoid SetGroupIDs( const TstringList& ids ); 00077 Tvoid SetModule( TModule* module ); 00078 Tbool IsSameGroup( const TModuleSpecified& spec ); 00079 Tbool IsSameGroup( const TstringList& groups ); 00080 Tbool IsSameGroup( const Tstring& group ); 00081 00082 }; 00083 00084 inline const Tstring& TModuleSpecified::GetModuleID() const 00085 { 00086 return theModuleID; 00087 } 00088 00089 inline Tstring& TModuleSpecified::GetModuleID() 00090 { 00091 return theModuleID; 00092 } 00093 00094 inline const TstringList& TModuleSpecified::GetGroupIDs() const 00095 { 00096 return theGroupIDs; 00097 } 00098 00099 inline TstringList& TModuleSpecified::GetGroupIDs() 00100 { 00101 return theGroupIDs; 00102 } 00103 00104 inline TModule* TModuleSpecified::GetModule() const 00105 { 00106 return theModule; 00107 } 00108 00109 inline Tvoid TModuleSpecified::SetModuleID( const Tstring& id ) 00110 { 00111 theModuleID = id; 00112 return; 00113 } 00114 00115 inline Tvoid TModuleSpecified::SetGroupIDs( const TstringList& ids ) 00116 { 00117 theGroupIDs = ids; 00118 return; 00119 } 00120 00121 inline Tvoid TModuleSpecified::SetModule( TModule* module ) 00122 { 00123 theModule = module; 00124 return; 00125 } 00126 00127 #endif