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