1 #ifndef __OUC_ERRINFO_H__
2 #define __OUC_ERRINFO_H__
34 #include <sys/types.h>
59 static const int uVMask = 0x0000ffff;
60 static const int uAsync = 0x80000000;
61 static const int uUrlOK = 0x40000000;
62 static const int uMProt = 0x20000000;
63 static const int uReadR = 0x10000000;
64 static const int uIPv4 = 0x08000000;
65 static const int uIPv64 = 0x04000000;
67 static const int uPrip = 0x02000000;
68 static const int uLclF = 0x01000000;
72 inline void clear(
const char *usr=0,
int uc=0)
74 user = (usr ? usr :
"?");
116 inline void setErrArg(
unsigned long long cbarg=0) {ErrCBarg = cbarg;}
126 {
ErrCB = cb; ErrCBarg = cbarg;}
163 inline int setErrInfo(
int code,
const char *txtlist[],
int n)
165 for (i = 0; i < n && k > 1; i++)
203 inline unsigned long long getErrArg() {
return ErrCBarg;}
235 {ap = ErrCBarg;
return ErrCB;}
343 {
if (!Data)
dOff = -1;
404 ErrCBarg= rhs.ErrCBarg;
423 unsigned long long ca=0,
int mid=0,
int uc=0)
462 unsigned long long ErrCBarg;
504 const char *
Path=0)=0;
516 virtual int Same(
unsigned long long arg1,
unsigned long long arg2)=0;
int emsg(int rc, char *msg)
XrdOucBuffer * Clone(bool trim=true)
void Recycle()
Recycle the buffer. The buffer may be reused in the future.
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
void clear()
Reset data and error information to null. Any appenadges are released.
const char * getErrText(int &ecode)
const char * getErrData()
void setErrArg(unsigned long long cbarg=0)
void setErrCB(XrdOucEICB *cb, unsigned long long cbarg=0)
void setErrUser(const char *user)
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)
char * getMsgBuff(int &mblen)
XrdOucEICB * getErrCB(unsigned long long &ap)
XrdOucErrInfo(const char *user, int MonID, int uc=0)
void setUCap(int ucval)
Set user capabilties.
XrdOucEnv * setEnv(XrdOucEnv *newEnv)
const char * getErrUser()
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)
XrdOucErrInfo & operator=(const XrdOucErrInfo &rhs)
Assignment operator.
void setErrData(const char *Data, int Offs=0)
virtual ~XrdOucErrInfo()
Destructor.
static const int uRedirFlgs
ucap: Client supports "file://"
XrdOucEI & operator=(const XrdOucEI &rhs)
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