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