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(); }
75 bool Match(
const char *dir,
const char *tag)
76 {
return ((
fTag == tag &&
fDir == dir) ? 1 : 0); }
83 const char *
Tag()
const {
return fTag.c_str(); }
116 char *val, XrdOucStream *cfg,
bool rcf);
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...
XrdROOT * GetVersion(const char *tag)
Return pointer to the ROOT version corresponding to 'tag' or 0 if not found.
int DoDirective(XrdProofdDirective *d, char *val, XrdOucStream *cfg, bool rcf)
Update the priorities of the active sessions.
void RegisterDirectives()
Register directives for configuration.
XrdROOT * DefaultVersion() const
XrdOucString ExportVersions(XrdROOT *def)
Return a string describing the available versions, with the default version 'def' markde with a '*'.
std::list< XrdROOT * > fROOT
XrdROOTMgr(XrdProofdManager *mgr, XrdProtocol_Config *pi, XrdSysError *e)
Constructor.
int Config(bool rcf=0)
Run configuration and parse the entered config directives.
void SetLogDir(const char *d)
Set the log dir.
int DoDirectiveRootSys(char *, XrdOucStream *, bool)
Process 'rootsys' directive.
bool Match(const char *dir, const char *tag)
const char * IncDir() const
const char * BinDir() const
static int GetVersionCode(const char *release)
Translate 'release' into a version code integer following the rules in $ROOTSYS/include/RVersion....
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...
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.
const char * LibDir() const
const char * PrgmSrv() const
int CheckDir(const char *dir)
Check if 'dir' exists Return 0 on succes, -1 on failure.
bool MatchTag(const char *tag)
kXR_int16 SrvProtVers() const
int ParseROOTVersionInfo()
Extract ROOT version information associated with 'dir'.
const char * GitCommit() const
void SetValid(kXR_int16 vers=-1)
Set valid, save protocol and finalize the export string.
const char * DataDir() const
const char * Release() const
static constexpr double pi