26 #include "Xrd/XrdProtocol.hh" 28 #include "XrdOuc/XrdOucString.hh" 61 XrdROOT(
const char *dir,
const char *tag,
const char *bindir = 0,
62 const char *incdir = 0,
const char *libdir = 0,
const char *datadir = 0);
65 const char *
Dir()
const {
return fDir.c_str(); }
66 const char *
BinDir()
const {
return fBinDir.c_str(); }
67 const char *
DataDir()
const {
return fDataDir.c_str(); }
68 const char *
IncDir()
const {
return fIncDir.c_str(); }
69 const char *
LibDir()
const {
return fLibDir.c_str(); }
70 const char *
Export()
const {
return fExport.c_str(); }
71 const char *
GitCommit()
const {
return fGitCommit.c_str(); }
72 bool IsParked()
const {
return ((fStatus == 2) ? 1: 0); }
73 bool IsValid()
const {
return ((fStatus == 1) ? 1: 0); }
74 bool IsInvalid()
const {
return ((fStatus == -1) ? 1: 0); }
75 bool Match(
const char *dir,
const char *tag)
76 {
return ((fTag == tag && fDir == dir) ? 1 : 0); }
77 bool MatchTag(
const char *tag) {
return ((fTag == tag) ? 1 : 0); }
78 void Park() { fStatus = 2; }
79 const char *
PrgmSrv()
const {
return fPrgmSrv.c_str(); }
80 const char *
Release()
const {
return fRelease.c_str(); }
83 const char *
Tag()
const {
return fTag.c_str(); }
105 int Validate(
XrdROOT *
r, XrdScheduler *sched);
107 void RegisterDirectives();
108 int DoDirectiveRootSys(
char *, XrdOucStream *,
bool);
114 int Config(
bool rcf = 0);
116 char *val, XrdOucStream *cfg,
bool rcf);
119 XrdOucString ExportVersions(
XrdROOT *def);
120 XrdROOT *GetVersion(
const char *tag);
121 void SetLogDir(
const char *d);
XrdROOT(const char *dir, const char *tag, const char *bindir=0, const char *incdir=0, const char *libdir=0, const char *datadir=0)
Constructor: validates 'dir', gets the version and defines the tag.
static constexpr double pi
XrdROOT * DefaultVersion() const
const char * IncDir() const
const char * LibDir() const
kXR_int16 SrvProtVers() const
static int GetVersionCode(const char *release)
Translate 'release' into a version code integer following the rules in $ROOTSYS/include/RVersion.h.
void SetValid(kXR_int16 vers=-1)
Set valid, save protocol and finalize the export string.
const char * DataDir() const
std::list< XrdROOT * > fROOT
const char * Release() const
bool MatchTag(const char *tag)
const char * GitCommit() const
int ParseROOTVersionInfo()
Extract ROOT version information associated with 'dir'.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
const char * Export() const
static int ParseReleaseString(const char *release, int &maj, int &min, int &patch)
Extract from 'release' its major, minor and patch numerical components; 'release' must be in the form...
int CheckDir(const char *dir)
Check if 'dir' exists Return 0 on succes, -1 on failure.
const char * BinDir() const
const char * PrgmSrv() const
bool Match(const char *dir, const char *tag)