00001 // ===================================================================== 00002 // $Id: TEnvironmentVariableTable.hh,v 1.1.1.1 2003/06/27 02:56:42 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-02 $ 00004 // ===================================================================== 00005 #ifndef __TENVIRONMENTVARIABLETABLE_HH 00006 #define __TENVIRONMENTVARIABLETABLE_HH 00007 00008 #include "Tglobals.h" 00009 00010 class TOutputHtmlFileStream; 00011 00012 class TEnvironmentVariableTable 00013 { 00014 00015 public: 00016 enum { tNotFound = -1 }; 00017 00018 private: 00019 TstringList theItemList; 00020 TstringList theValueList; 00021 Tint theNumberOfEnvironments; 00022 00023 public: 00024 TEnvironmentVariableTable(); 00025 TEnvironmentVariableTable( const Tstring& rcfile ); 00026 TEnvironmentVariableTable( const TstringList& itemlist ); 00027 TEnvironmentVariableTable( const TstringList& itemlist, const TstringList& valuelist ); 00028 TEnvironmentVariableTable( const TEnvironmentVariableTable& right ); 00029 ~TEnvironmentVariableTable(); 00030 00031 public: 00032 const TEnvironmentVariableTable& operator=( const TEnvironmentVariableTable& right ); 00033 Tbool operator==( const TEnvironmentVariableTable& right ) const; 00034 Tbool operator!=( const TEnvironmentVariableTable& right ) const; 00035 00036 public: 00037 friend Tostream& operator<<( Tostream& tos, const TEnvironmentVariableTable& right ); 00038 00039 public: 00040 const TstringList& GetItemList() const; 00041 const TstringList& GetValueList() const; 00042 Tint GetNumberOfEnvironments() const; 00043 00044 public: 00045 Tstring GetEnvironmentValue( const Tstring& item ) const; 00046 Tstring GetEnvironmentValue( Tint row ) const; 00047 Tstring GetEnvironmentItem( Tint row ) const; 00048 Tint FindEnvironmentItem( const Tstring& item ) const; 00049 Tint FindEnvironmentValue( const Tstring& value ) const; 00050 Tbool HasEnvironmentItem( const Tstring& item ) const; 00051 Tbool HasEnvironmentValue( const Tstring& value ) const; 00052 Tvoid UnsetEnvironment( const Tstring& item ); 00053 Tvoid UnsetEnvironment( const TstringList& item ); 00054 Tvoid SetEnvironment( const Tstring& item, const Tstring& value ); 00055 Tvoid SetEnvironment( const TstringList& item, const TstringList& value ); 00056 Tvoid SetEnvironment( const Tstring& rcfile ); 00057 Tvoid ClearEnvironment(); 00058 Tvoid ResetEnvironment(); 00059 Tint GetIntegerValue( const Tstring& item ) const; 00060 Tdouble GetDoubleValue( const Tstring& item ) const; 00061 00062 }; 00063 00064 inline const TstringList& TEnvironmentVariableTable::GetItemList() const 00065 { 00066 return( theItemList ); 00067 } 00068 00069 inline const TstringList& TEnvironmentVariableTable::GetValueList() const 00070 { 00071 return( theValueList ); 00072 } 00073 00074 inline Tint TEnvironmentVariableTable::GetNumberOfEnvironments() const 00075 { 00076 return( theNumberOfEnvironments ); 00077 } 00078 00079 #endif