68 class TWriteEnvParser;
87 class TEnvRec :
public TObject {
90 friend class TEnvParser;
91 friend class TReadEnvParser;
92 friend class TWriteEnvParser;
101 TEnvRec(
const char *n,
const char *v,
const char *t, EEnvLevel l);
102 Int_t Compare(
const TObject *obj)
const;
103 void ChangeValue(
const char *v,
const char *t, EEnvLevel l,
104 Bool_t append = kFALSE, Bool_t ignoredup = kFALSE);
105 TString ExpandValue(
const char *v);
108 TEnvRec(): fName(), fType(), fValue(), fLevel(kEnvAll), fModified(kTRUE) { }
110 const char *GetName()
const {
return fName; }
111 const char *GetValue()
const {
return fValue; }
112 const char *GetType()
const {
return fType; }
113 EEnvLevel GetLevel()
const {
return fLevel; }
114 ULong_t Hash()
const {
return fName.Hash(); }
125 class TEnv :
public TObject {
133 TEnv& operator=(
const TEnv&);
135 const char *Getvalue(
const char *name)
const;
138 TEnv(
const char *name=
"");
141 THashList *GetTable()
const {
return fTable; }
142 Bool_t Defined(
const char *name)
const
143 {
return Getvalue(name) != 0; }
145 virtual const char *GetRcName()
const {
return fRcName; }
146 virtual void SetRcName(
const char *name) { fRcName = name; }
148 virtual Int_t GetValue(
const char *name, Int_t dflt)
const;
149 virtual Double_t GetValue(
const char *name, Double_t dflt)
const;
150 virtual const char *GetValue(
const char *name,
const char *dflt)
const;
152 virtual void SetValue(
const char *name,
const char *value,
153 EEnvLevel level = kEnvChange,
154 const char *type = 0);
155 virtual void SetValue(
const char *name, EEnvLevel level = kEnvChange);
156 virtual void SetValue(
const char *name, Int_t value);
157 virtual void SetValue(
const char *name, Double_t value);
159 virtual TEnvRec *Lookup(
const char *n)
const;
160 virtual Int_t ReadFile(
const char *fname, EEnvLevel level);
161 virtual Int_t WriteFile(
const char *fname, EEnvLevel level = kEnvAll);
163 virtual void SaveLevel(EEnvLevel level);
164 virtual void Print(Option_t *option=
"")
const;
165 virtual void PrintEnv(EEnvLevel level = kEnvAll)
const;
166 Bool_t IgnoreDuplicates(Bool_t ignore);
171 R__EXTERN TEnv *gEnv;