00001 // ============================================================================ 00025 // ============================================================================ 00026 #ifndef CLDAQ__TOPTIONTABLE_HH 00027 #define CLDAQ__TOPTIONTABLE_HH 00028 00029 #include "Tglobals.h" 00030 #include "TOption.hh" 00031 #include "TOptionList.hh" 00032 00033 00053 class TOptionTable 00054 { 00055 00056 private: 00057 TOptionList theOptionList; 00058 00059 public: 00060 TOptionTable(); 00061 TOptionTable( const TOptionList& options ); 00062 TOptionTable( const TOption* options, Tint noption = 1 ); 00063 TOptionTable( const TOptionTable& right ); 00064 ~TOptionTable(); 00065 00066 public: 00067 const TOptionTable& operator=( const TOptionTable& right ); 00068 00069 public: 00070 friend Tostream& operator<<( Tostream& tos, const TOptionTable& right ); 00071 00072 public: 00073 Tvoid SetDefaultOption(); 00074 Tvoid SetOption( const TOption& option ); 00075 00076 public: 00077 const TOptionList& GetOptionList() const; 00078 TOptionList& GetOptionList(); 00079 Tvoid SetOptionList( const TOptionList& options ); 00080 00081 private: 00082 Tvoid dupcheck() const; 00083 00084 #ifdef __CLDAQ_ROOT_DLL 00085 ClassDef(TOptionTable,0) 00086 #endif 00087 00088 }; 00089 00090 inline const TOptionList& TOptionTable::GetOptionList() const 00091 { 00092 return theOptionList; 00093 } 00094 00095 inline TOptionList& TOptionTable::GetOptionList() 00096 { 00097 return theOptionList; 00098 } 00099 00100 inline Tvoid TOptionTable::SetOptionList( const TOptionList& options ) 00101 { 00102 theOptionList = options; 00103 return; 00104 } 00105 00106 #endif