00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TENVIRONMENTVARIABLETABLE_HH 00030 #define CLDAQ__TENVIRONMENTVARIABLETABLE_HH 00031 00032 #include "Tglobals.h" 00033 00034 class TOutputHtmlFileStream; 00035 00036 00056 class TEnvironmentVariableTable 00057 { 00058 00059 public: 00060 enum { tNotFound = -1 }; 00061 00062 private: 00063 TstringList theItemList; 00064 TstringList theValueList; 00065 Tint theNumberOfEnvironments; 00066 00067 public: 00068 TEnvironmentVariableTable(); 00069 TEnvironmentVariableTable( const Tstring& rcfile ); 00070 TEnvironmentVariableTable( const TstringList& itemlist ); 00071 TEnvironmentVariableTable( const TstringList& itemlist, const TstringList& valuelist ); 00072 TEnvironmentVariableTable( const TEnvironmentVariableTable& right ); 00073 ~TEnvironmentVariableTable(); 00074 00075 public: 00076 const TEnvironmentVariableTable& operator=( const TEnvironmentVariableTable& right ); 00077 Tbool operator==( const TEnvironmentVariableTable& right ) const; 00078 Tbool operator!=( const TEnvironmentVariableTable& right ) const; 00079 00080 public: 00081 friend Tostream& operator<<( Tostream& tos, const TEnvironmentVariableTable& right ); 00082 00083 public: 00084 const TstringList& GetItemList() const; 00085 const TstringList& GetValueList() const; 00086 Tint GetNumberOfEnvironments() const; 00087 00088 public: 00089 Tstring GetEnvironmentValue( const Tstring& item ) const; 00090 Tstring GetEnvironmentValue( Tint row ) const; 00091 Tstring GetEnvironmentItem( Tint row ) const; 00092 Tint FindEnvironmentItem( const Tstring& item ) const; 00093 Tint FindEnvironmentValue( const Tstring& value ) const; 00094 Tbool HasEnvironmentItem( const Tstring& item ) const; 00095 Tbool HasEnvironmentValue( const Tstring& value ) const; 00096 Tvoid UnsetEnvironment( const Tstring& item ); 00097 Tvoid UnsetEnvironment( const TstringList& item ); 00098 Tvoid SetEnvironment( const Tstring& item, const Tstring& value ); 00099 Tvoid SetEnvironment( const TstringList& item, const TstringList& value ); 00100 Tvoid SetEnvironment( const Tstring& rcfile ); 00101 Tvoid ClearEnvironment(); 00102 Tvoid ResetEnvironment(); 00103 Tint GetIntegerValue( const Tstring& item ) const; 00104 Tdouble GetDoubleValue( const Tstring& item ) const; 00105 00106 #ifdef __CLDAQ_ROOT_DLL 00107 ClassDef(TEnvironmentVariableTable,0) 00108 #endif 00109 00110 }; 00111 00112 inline const TstringList& TEnvironmentVariableTable::GetItemList() const 00113 { 00114 return theItemList; 00115 } 00116 00117 inline const TstringList& TEnvironmentVariableTable::GetValueList() const 00118 { 00119 return theValueList; 00120 } 00121 00122 inline Tint TEnvironmentVariableTable::GetNumberOfEnvironments() const 00123 { 00124 return theNumberOfEnvironments; 00125 } 00126 00127 #endif