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(); }
116 char *val, XrdOucStream *cfg,
bool rcf);
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.
void SetLogDir(const char *d)
Set the log dir.
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
XrdROOTMgr(XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
Constructor.
kXR_int16 SrvProtVers() const
int DoDirective(XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
Update the priorities of the active sessions.
const char * GitCommit() const
XrdROOT * DefaultVersion() const
static int GetVersionCode(const char *release)
Translate 'release' into a version code integer following the rules in $ROOTSYS/include/RVersion.h.
const char * BinDir() const
int Validate(XrdROOT *r, XrdScheduler *sched)
Start a trial server application to test forking and get the version of the protocol run by the PROOF...
void SetValid(kXR_int16 vers=-1)
Set valid, save protocol and finalize the export string.
int DoDirectiveRootSys(char *, XrdOucStream *, bool)
Process 'rootsys' directive.
void RegisterDirectives()
Register directives for configuration.
const char * DataDir() const
std::list< XrdROOT * > fROOT
const char * IncDir() const
XrdROOT * GetVersion(const char *tag)
Return pointer to the ROOT version corresponding to 'tag' or 0 if not found.
XrdOucString ExportVersions(XrdROOT *def)
Return a string describing the available versions, with the default version 'def' markde with a '*'...
bool MatchTag(const char *tag)
int ParseROOTVersionInfo()
Extract ROOT version information associated with 'dir'.
int Config(bool rcf=0)
Run configuration and parse the entered config directives.
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 * Export() const
const char * PrgmSrv() const
const char * LibDir() const
const char * Release() const
bool Match(const char *dir, const char *tag)