1#ifndef __OUC_ERRINFO_H__
2#define __OUC_ERRINFO_H__
64static const int uIPv4 = 0x08000000;
67static const int uPrip = 0x02000000;
68static const int uLclF = 0x01000000;
72inline void clear(
const char *usr=0,
int uc=0)
74 user = (usr ? usr :
"?");
116inline void setErrArg(
unsigned long long cbarg=0) {ErrCBarg = cbarg;}
126 {
ErrCB = cb; ErrCBarg = cbarg;}
164 {
int i, j = 0, k =
sizeof(
ErrInfo.message), l;
165 for (i = 0; i < n && k > 1; i++)
214 {mblen =
sizeof(
ErrInfo.message);
235 {ap = ErrCBarg;
return ErrCB;}
252//-----------------------------------------------------------------------------
253inline int getErrInfo(XrdOucEI &errParm)
254 {errParm = ErrInfo; return ErrInfo.code;}
264 return (
const char *)
ErrInfo.message;
277 return (
const char *)
ErrInfo.message;
288 return strlen(
ErrInfo.message);
343 {
if (!Data)
dOff = -1;
404 ErrCBarg= rhs.ErrCBarg;
423 unsigned long long ca=0,
int mid=0,
int uc=0)
462unsigned long long ErrCBarg;
504 const char *
Path=0)=0;
516virtual int Same(
unsigned long long arg1,
unsigned long long arg2)=0;
int emsg(int rc, char *msg)
XrdOucBuffer * Clone(bool trim=true)
virtual void Done(int &Result, XrdOucErrInfo *eInfo, const char *Path=0)=0
XrdOucEICB()
Constructor and destructor.
virtual int Same(unsigned long long arg1, unsigned long long arg2)=0
const char * getErrUser()
void clear()
Reset data and error information to null. Any appenadges are released.
const char * getErrText(int &ecode)
XrdOucEICB * getErrCB(unsigned long long &ap)
XrdOucErrInfo & operator=(const XrdOucErrInfo &rhs)
Assignment operator.
char * getMsgBuff(int &mblen)
void setErrArg(unsigned long long cbarg=0)
void setErrCB(XrdOucEICB *cb, unsigned long long cbarg=0)
XrdOucEnv * setEnv(XrdOucEnv *newEnv)
void setErrUser(const char *user)
const char * getErrData()
unsigned long long getErrArg()
const char * getErrText()
void setErrMid(int mid)
Set the monitoring identifier.
int setErrInfo(int code, const char *txtlist[], int n)
int setErrInfo(int code, const char *emsg)
XrdOucErrInfo(const char *user=0, XrdOucEICB *cb=0, unsigned long long ca=0, int mid=0, int uc=0)
XrdOucErrInfo(const char *user, int MonID, int uc=0)
void setUCap(int ucval)
Set user capabilties.
void Reset()
Reset object to no message state. Call this method to release appendages.
XrdOucErrInfo(const char *user, XrdOucEnv *envp, int uc=0)
int setErrInfo(int code, XrdOucBuffer *buffP)
void setErrData(const char *Data, int Offs=0)
virtual ~XrdOucErrInfo()
Destructor.
XrdOucEI & operator=(const XrdOucEI &rhs)
static const int uRedirFlgs
ucap: Client supports "file://"
static const int uUrlOK
ucap: Supports async responses
static const int uIPv64
ucap: Supports only IPv4 info
char message[Max_Error_Len]
static const int uReadR
ucap: Supports multiple protocols
static const int uEcRedir
ucap: Client supports redirect flags
static const size_t Max_Error_Len
static const int uMProt
ucap: Supports url redirects
void clear(const char *usr=0, int uc=0)
ucap: Client support EC redirects
static const int Path_Offset
XrdOucEI(const char *usr, int uc=0)
static const int uLclF
ucap: Client is on a private net
static const int uAsync
ucap: Extract protocol version
static const int uIPv4
ucap: Supports read redirects