xrootd
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
XrdOucErrInfo Class Reference

#include <XrdOucErrInfo.hh>

Inheritance diagram for XrdOucErrInfo:
Inheritance graph
[legend]
Collaboration diagram for XrdOucErrInfo:
Collaboration graph
[legend]

Public Member Functions

void clear ()
 Reset data and error information to null. Any appenadges are released.
 
void setErrArg (unsigned long long cbarg=0)
 
void setErrCB (XrdOucEICB *cb, unsigned long long cbarg=0)
 
int setErrCode (int code)
 
int setErrInfo (int code, const char *emsg)
 
int setErrInfo (int code, const char *txtlist[], int n)
 
int setErrInfo (int code, XrdOucBuffer *buffP)
 
void setErrUser (const char *user)
 
unsigned long long getErrArg ()
 
char * getMsgBuff (int &mblen)
 
XrdOucEICBgetErrCB ()
 
XrdOucEICBgetErrCB (unsigned long long &ap)
 
int getErrInfo ()
 
const char * getErrText ()
 
const char * getErrText (int &ecode)
 
int getErrTextLen ()
 
const char * getErrUser ()
 
XrdOucEnvgetEnv ()
 
XrdOucEnvsetEnv (XrdOucEnv *newEnv)
 
const char * getErrData ()
 
void setErrData (const char *Data, int Offs=0)
 
int getErrMid ()
 
void setErrMid (int mid)
 Set the monitoring identifier.
 
bool extData ()
 
void Reset ()
 Reset object to no message state. Call this method to release appendages.
 
int getUCap ()
 
void setUCap (int ucval)
 Set user capabilties.
 
XrdOucErrInfooperator= (const XrdOucErrInfo &rhs)
 Assignment operator.
 
 XrdOucErrInfo (const char *user=0, XrdOucEICB *cb=0, unsigned long long ca=0, int mid=0, int uc=0)
 
 XrdOucErrInfo (const char *user, XrdOucEnv *envp, int uc=0)
 
 XrdOucErrInfo (const char *user, int MonID, int uc=0)
 
virtual ~XrdOucErrInfo ()
 Destructor.
 

Protected Attributes

XrdOucEI ErrInfo
 
XrdOucEICBErrCB
 
union { 
 
   unsigned long long   ErrCBarg 
 
   XrdOucEnv *   ErrEnv 
 
};  
 
int mID
 
short dOff
 
short reserved
 
XrdOucBufferdataBuff
 

Detailed Description

The XrdOucErrInfo class is used to communicate data, error, and callback information between plug-ins.

Constructor & Destructor Documentation

◆ XrdOucErrInfo() [1/3]

XrdOucErrInfo::XrdOucErrInfo ( const char *  user = 0,
XrdOucEICB cb = 0,
unsigned long long  ca = 0,
int  mid = 0,
int  uc = 0 
)
inline

Constructor

Parameters
user- Pointer to he user string in stable storage.
cb- Pointer to the callback object (zero if none).
ca- The callback argument.
mid- The monitoring identifier.
uc- The user capabilities.

◆ XrdOucErrInfo() [2/3]

XrdOucErrInfo::XrdOucErrInfo ( const char *  user,
XrdOucEnv envp,
int  uc = 0 
)
inline

Constructor

Parameters
user- Pointer to he user string in stable storage.
envp- Pointer to the error environment.
uc- The user capabilities.

◆ XrdOucErrInfo() [3/3]

XrdOucErrInfo::XrdOucErrInfo ( const char *  user,
int  MonID,
int  uc = 0 
)
inline

Constructor

Parameters
user- Pointer to he user string in stable storage.
MonID- The monitoring identifier.
uc- The user capabilities.

◆ ~XrdOucErrInfo()

virtual XrdOucErrInfo::~XrdOucErrInfo ( )
inlinevirtual

Destructor.

References Reset().

Member Function Documentation

◆ clear()

void XrdOucErrInfo::clear ( )
inline

Reset data and error information to null. Any appenadges are released.

References XrdOucEI::clear(), ErrInfo, and Reset().

◆ extData()

bool XrdOucErrInfo::extData ( )
inline

Check if this object will return extended data (can optimize Reset() calls).

Returns
true - there is extended data. false - there is no extended data.

References dataBuff.

◆ getEnv()

XrdOucEnv * XrdOucErrInfo::getEnv ( )
inline

Get a pointer to the error environment that was previously set.

Returns
=0 - A callback is in effect which is mutually exclusive of conaining an error environment (i.e. no environment).
!0 - Pointer to the error environment.

References ErrCB, and ErrEnv.

◆ getErrArg()

unsigned long long XrdOucErrInfo::getErrArg ( )
inline

Obtain the callback argument.

Returns
The argument value currently in effect.

References ErrCBarg.

◆ getErrCB() [1/2]

XrdOucEICB * XrdOucErrInfo::getErrCB ( )
inline

Get the callback object.

Returns
Pointer to the callback object.

References ErrCB.

Referenced by XrdOucCallBack::Allowed(), and XrdOfsEvr::theClient::theClient().

◆ getErrCB() [2/2]

XrdOucEICB * XrdOucErrInfo::getErrCB ( unsigned long long &  ap)
inline

Get the callback object and its argument.

Parameters
ap- Reference to where the callback argument is returned.
Returns
Pointer to the callback object, ap holds the argument.

References ErrCB, and ErrCBarg.

◆ getErrData()

const char * XrdOucErrInfo::getErrData ( )
inline

Get the error tracing data.

Returns
=0 - No tracing data has been set.
!0 - Pointer to error tracing data.

References dOff, ErrInfo, and XrdOucEI::message.

◆ getErrInfo()

int XrdOucErrInfo::getErrInfo ( )
inline

Get the error code.

Returns
The error code that was previously set.

References XrdOucEI::code, and ErrInfo.

◆ getErrMid()

int XrdOucErrInfo::getErrMid ( )
inline

Get the monitoring identifier.

Returns
The monitoring identifier.

References mID.

◆ getErrText() [1/2]

const char * XrdOucErrInfo::getErrText ( )
inline

Get a pointer to the error text.

Returns
The pointer to the internal error text.

References XrdOucBuffer::Data(), dataBuff, ErrInfo, and XrdOucEI::message.

◆ getErrText() [2/2]

const char * XrdOucErrInfo::getErrText ( int &  ecode)
inline

Get a pointer to the error text and the error code.

Parameters
ecode- Reference to where the error code is to be returned.
Returns
The pointer to the internal error text.

References XrdOucEI::code, XrdOucBuffer::Data(), dataBuff, ErrInfo, and XrdOucEI::message.

◆ getErrTextLen()

int XrdOucErrInfo::getErrTextLen ( )
inline

Get the error text length (optimized for external buffers).

Returns
The mesage length.

References dataBuff, XrdOucBuffer::DataLen(), ErrInfo, and XrdOucEI::message.

◆ getErrUser()

const char * XrdOucErrInfo::getErrUser ( )
inline

Get a pointer to user information.

Returns
The pointer to the user string.

References ErrInfo, and XrdOucEI::user.

Referenced by XrdOfs::newDir(), XrdOfs::newFile(), and XrdOfsEvr::theClient::theClient().

◆ getMsgBuff()

char * XrdOucErrInfo::getMsgBuff ( int &  mblen)
inline

Get the pointer to the internal message buffer along with its size.

Parameters
mblen- Reference to where the size it to be returned.
Returns
Pointer to the internal message buffer.

References ErrInfo, and XrdOucEI::message.

◆ getUCap()

int XrdOucErrInfo::getUCap ( )
inline

Get user capabilties.

Returns
the user capabilities.

References ErrInfo, and XrdOucEI::ucap.

◆ operator=()

XrdOucErrInfo & XrdOucErrInfo::operator= ( const XrdOucErrInfo rhs)
inline

Assignment operator.

References XrdOucBuffer::Clone(), dataBuff, dOff, ErrCB, ErrCBarg, ErrInfo, and mID.

◆ Reset()

void XrdOucErrInfo::Reset ( )
inline

Reset object to no message state. Call this method to release appendages.

References XrdOucEI::code, dataBuff, ErrInfo, XrdOucEI::message, and XrdOucBuffer::Recycle().

Referenced by clear(), and ~XrdOucErrInfo().

◆ setEnv()

XrdOucEnv * XrdOucErrInfo::setEnv ( XrdOucEnv newEnv)
inline

Set the error environment and return the previous environment. This call destroys any callback information that may have existed.

Parameters
newEnv- Pointer to the new error environment.
Returns
=0 - No previous envuironment existed.
!0 - Pointer to the previous error environment.

References ErrCB, and ErrEnv.

◆ setErrArg()

void XrdOucErrInfo::setErrArg ( unsigned long long  cbarg = 0)
inline

Set callback argument.

Parameters
cbarg- An opaque 8-byte call-back argument.

References ErrCBarg.

◆ setErrCB()

void XrdOucErrInfo::setErrCB ( XrdOucEICB cb,
unsigned long long  cbarg = 0 
)
inline

Set callback information.

Parameters
cb- Pointer to the object describing the callback.
cbarg- An opaque 8-byte call-back argument.

References ErrCB, and ErrCBarg.

◆ setErrCode()

int XrdOucErrInfo::setErrCode ( int  code)
inline

Set error code. Any existing error text remains intact.

Parameters
code- The error number describing the error.
Returns
code - The error number.

References XrdOucEI::code, and ErrInfo.

◆ setErrData()

void XrdOucErrInfo::setErrData ( const char *  Data,
int  Offs = 0 
)
inline

Set the error tracing data (this is always placed in the internal buffer)

Parameters
Data- Pointer to the error tracing data.
Offs- Ofset into the message buffer where the data is to be set.

References dOff, ErrInfo, XrdOucEI::message, and strlcpy().

◆ setErrInfo() [1/3]

int XrdOucErrInfo::setErrInfo ( int  code,
const char *  emsg 
)
inline

Set error code and error text.

Parameters
code- The error number describing the error.
emsg- The error message text.
Returns
code - The error number.

References XrdOucEI::code, dataBuff, ErrInfo, XrdOucEI::message, XrdOucBuffer::Recycle(), and strlcpy().

◆ setErrInfo() [2/3]

int XrdOucErrInfo::setErrInfo ( int  code,
const char *  txtlist[],
int  n 
)
inline

Set error code and error text.

Parameters
code- The error number describing the error.
txtlist- A vector of error message text segments.
n- The number of valid elements in txtlist.
Returns
code - The error number.

References XrdOucEI::code, dataBuff, ErrInfo, XrdOucEI::message, XrdOucBuffer::Recycle(), and strlcpy().

◆ setErrInfo() [3/3]

int XrdOucErrInfo::setErrInfo ( int  code,
XrdOucBuffer buffP 
)
inline

Set error code and error text.

Parameters
code- The error number describing the error.
buffP- Pointer to the data buffer holding the error text, This object takes ownership of the buffer and recycles it.
Returns
code - The error number.

References XrdOucEI::code, dataBuff, ErrInfo, and XrdOucBuffer::Recycle().

◆ setErrMid()

void XrdOucErrInfo::setErrMid ( int  mid)
inline

Set the monitoring identifier.

References mID.

◆ setErrUser()

void XrdOucErrInfo::setErrUser ( const char *  user)
inline

Set user pointer.

Parameters
user- Pointer to a stable storage area containing the username.

References ErrInfo, and XrdOucEI::user.

◆ setUCap()

void XrdOucErrInfo::setUCap ( int  ucval)
inline

Set user capabilties.

References ErrInfo, and XrdOucEI::ucap.

Member Data Documentation

◆ [union]

union { ... } XrdOucErrInfo

◆ dataBuff

XrdOucBuffer* XrdOucErrInfo::dataBuff
protected

◆ dOff

short XrdOucErrInfo::dOff
protected

Referenced by getErrData(), operator=(), and setErrData().

◆ ErrCB

XrdOucEICB* XrdOucErrInfo::ErrCB
protected

◆ ErrCBarg

unsigned long long XrdOucErrInfo::ErrCBarg

◆ ErrEnv

XrdOucEnv* XrdOucErrInfo::ErrEnv

Referenced by getEnv(), and setEnv().

◆ ErrInfo

XrdOucEI XrdOucErrInfo::ErrInfo
protected

◆ mID

int XrdOucErrInfo::mID
protected

Referenced by getErrMid(), operator=(), and setErrMid().

◆ reserved

short XrdOucErrInfo::reserved
protected

The documentation for this class was generated from the following file: