53 {ecMTX.Lock(); Delim = dlm; ecMTX.UnLock();
return *
this;}
64int Get(std::string& ecm,
bool rst=
true);
65int Get() {
return eCode;}
73bool hasMsg()
const {ecMTX.Lock();
bool hm = !ecMsg.empty();
74 ecMTX.UnLock();
return hm;
83std::string
Msg() {ecMTX.Lock(); std::string m = ecMsg; ecMTX.UnLock();
96void Msg(
const char* pfx,
const char* txt1,
97 const char* txt2=0,
const char* txt3=0,
98 const char* txt4=0,
const char* txt5=0);
111void Msgf(
const char *pfx,
const char *fmt, ...);
124void MsgVA(
const char *pfx,
const char *fmt, std::va_list aP);
137void MsgVec(
const char* pfx,
char const*
const* vecP,
int vecN);
146void Set(
int ecc,
const char* ecm=
"")
147 {ecMTX.Lock(); eCode = ecc;
if (ecm) ecMsg = ecm; ecMTX.UnLock();}
149void Set(
int ecc, std::string& ecm)
150 {ecMTX.Lock(); eCode = ecc; ecMsg = ecm; ecMTX.UnLock();}
162int SetErrno(
int ecc,
int ret=-1,
const char *alt=0);
169 {ecMTX.Lock(); eCode = rhs; ecMTX.UnLock();
return *
this;}
172 {ecMTX.Lock(); ecMsg = rhs; ecMTX.UnLock();
return *
this;}
175 {ecMTX.Lock(); ecMsg = rhs; ecMTX.UnLock();
return *
this;}
178 {ecMTX.Lock(); ecMsg = rhs.ecMsg; eCode = rhs.eCode; ecMTX.UnLock();
182 XrdOucECMsg(
const char *msgid=0) : msgID(msgid), eCode(0), Delim(0) {}
187void Setup(
const char *pfx,
int n);
void MsgVA(const char *pfx, const char *fmt, std::va_list aP)
XrdOucECMsg & operator=(const int rhs)
Assignment operators for convenience.
int SetErrno(int ecc, int ret=-1, const char *alt=0)
XrdOucECMsg(const char *msgid=0)
void Set(int ecc, const char *ecm="")
XrdOucECMsg & Append(char dlm='\n')
void Set(int ecc, std::string &ecm)
XrdOucECMsg & operator=(XrdOucECMsg &rhs)
void MsgVec(const char *pfx, char const *const *vecP, int vecN)
XrdOucECMsg & operator=(const char *rhs)
void Msgf(const char *pfx, const char *fmt,...)
XrdOucECMsg & operator=(const std::string &rhs)