39 #include "XrdOuc/XrdOucEnv.hh"
40 #include "XrdSys/XrdSysPthread.hh"
44 #define EnvGetLong(x) XrdClientEnv::Instance()->ShellGetInt(x)
45 #define EnvGetString(x) XrdClientEnv::Instance()->ShellGet(x)
46 #define EnvPutString(name, val) XrdClientEnv::Instance()->Put(name, val)
47 #define EnvPutInt(name, val) XrdClientEnv::Instance()->PutInt(name, val)
53 XrdSysRecMutex fMutex;
54 static XrdClientEnv *fgInstance;
65 bool ImportStr(
const char *varname );
66 bool ImportInt(
const char *varname );
70 const char * Get(
const char *varname) {
72 XrdSysMutexHelper m(fMutex);
74 res = fOucEnv->Get(varname);
78 long GetInt(
const char *varname) {
80 XrdSysMutexHelper m(fMutex);
82 res = fOucEnv->GetInt(varname);
90 const char *ShellGet(
const char *varname );
96 long ShellGetInt(
const char *varname );
99 void Put(
const char *varname,
const char *value) {
100 XrdSysMutexHelper m(fMutex);
102 fOucEnv->Put(varname, value);
105 void PutInt(
const char *varname,
long value) {
106 XrdSysMutexHelper m(fMutex);
108 fOucEnv->PutInt(varname, value);
122 return fMutex.ReInitRecMutex();
125 static XrdClientEnv *Instance();