TEnv


class description - source file - inheritance tree

class TEnv : public TObject

    private:
const char* Getvalue(const char* name) const public:
TEnv TEnv(const char* name) TEnv TEnv(TEnv&) virtual void ~TEnv() static TClass* Class() Bool_t Defined(const char* name) TOrdCollection* GetTable() const virtual Int_t GetValue(const char* name, Int_t dflt) virtual Double_t GetValue(const char* name, Double_t dflt) virtual const char* GetValue(const char* name, const char* dflt) const virtual TObject* GetValue(const char* name, TObject* dflt) virtual TClass* IsA() const virtual TEnvRec* Lookup(const char* n) virtual void Print(Option_t* option) const virtual void PrintEnv(EEnvLevel level = kEnvAll) const virtual void ReadFile(const char* fname, EEnvLevel level) virtual void Save() virtual void SaveLevel(EEnvLevel level) virtual void SetValue(const char* name, const char* value, EEnvLevel level = kEnvChange, const char* type = 0) virtual void SetValue(const char* name, const TString& value, EEnvLevel level, const char* type) virtual void SetValue(const char* name, EEnvLevel level = kEnvChange) virtual void SetValue(const char* name, Int_t value) virtual void SetValue(const char* name, Double_t value) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TOrdCollection* fTable TString fRcName

Class Description

                                                                      
 TEnv                                                                 
                                                                      
 The TEnv class reads a config file, by default .rootrc. Three types  
 of .rootrc files are read: global, user and local files. The global  
 file resides in $ROOTSYS, the user file in ~/ and the local file in  
 the current working directory.                                       
 The format of the .rootrc file is similar to the .Xdefaults format:  
                                                                      
   <SystemName>.<RootName|ProgName>.<name>[(type)]:  <value>          
                                                                      
 Where <SystemName> is either Unix, WinNT, MacOS or Vms,              
 <RootName> the root name as given in the TROOT ctor,                 
 <ProgName> the current program name and                              
 <name> is the resource name, with optionally a type specification.   
                                                                      
 E.g.:                                                                
                                                                      
   Unix.rint.Root.DynamicPath: .:$ROOTSYS/lib:~/lib                   
   Rint.Root.Debug:  FALSE                                            
   TH.Root.Debug: YES                                                 
   *.Root.MemStat: 1                                                  
                                                                      
 <SystemName> and <ProgName> or <RootName> may be the wildcard "*".   
 A # in the first column starts comment line.                         
                                                                      
 Currently the following resources are defined:                       
    Root.Debug                (bool)         (*)                      
    Root.MemStat              (bool)         (*)                      
    Root.MemStat.size         (int)          (*)                      
    Root.MemStat.cnt          (int)          (*)                      
    Root.MemCheck             (bool)         (*)                      
    Root.ObjectStat           (bool)         (*)                      
    Root.MacroPath            (string)                                
    Root.DynamicPath          (string)                                
    Rint.Logon                (string)                                
    Rint.Logoff               (string)                                
                                                                      
 (*) work only with the <RootName> since no <ProgName> is available   
     at time of initialization.                                       
                                                                      
 Note that the .rootrc config files contain the config for all ROOT   
 based applications.                                                  
                                                                      


TEnv(const char *name)
 Create a resource table and read the (possibly) three resource files, i.e
 $ROOTSYS/system<name> (or ROOTETCDIR/system<name>), $HOME/<name> and
 ./<name>. ROOT always reads ".rootrc" (in TROOT::InitSystem()). You can
 read additional user defined resource files by creating addtional TEnv
 object.

~TEnv()
 Delete the resource table.

const char* Getvalue(const char *name)
 Returns the character value for a named resouce.

Int_t GetValue(const char *name, Int_t dflt)
 Returns the integer value for a resource. If the resource is not found
 return the dflt value.

Double_t GetValue(const char *name, Double_t dflt)
 Returns the dobule value for a resource. If the resource is not found
 return the dflt value.

const char* GetValue(const char *name, const char *dflt)
 Returns the character value for a named resouce. If the resource is
 not found the dflt value is returned.

TObject* GetValue(const char *name, TObject *op)
 Read in object op the values of the resource and return the object.

TEnvRec* Lookup(const char *name)
 Loop over all resource records and return the one with name.
 Return 0 in case name is not in the resoucre table.

void Print(Option_t *opt) const
 Print all resources or the global, user or local resources separately.

void PrintEnv(EEnvLevel level) const
 Print all resources for a certain level (global, user, local).

void ReadFile(const char *fname, EEnvLevel level)
 Read and parse the resource file for a certain level.

void Save()
 Write the resource files for each level. The new files have the same
 name as the original files. The old files are renamed to *.bak.

void SaveLevel(EEnvLevel level)
 Write the resource file for a certain level.

void SetValue(const char *name, const TString &value, EEnvLevel level, const char *type)
 Set the value of a resource or create a new resource.

void SetValue(const char *name, const char *value, EEnvLevel level, const char *type)
 Set the value of a resource or create a new resource.

void SetValue(const char *name, EEnvLevel level)
 Set the value of a resource or create a new resource.

void SetValue(const char *name, Int_t value)
 Set or create an integer resource value.

void SetValue(const char *name, double value)
 Set or create a double resource value.



Inline Functions


        TOrdCollection* GetTable() const
                 Bool_t Defined(const char* name)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
                   TEnv TEnv(TEnv&)


Author: Fons Rademakers 22/09/95
Last update: root/base:$Name: $:$Id: TEnv.cxx,v 1.8 2001/09/25 16:16:21 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.