Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
XrdOucCallBack Class Reference

#include <XrdOucCallBack.hh>

Inheritance diagram for XrdOucCallBack:
Inheritance graph
Collaboration diagram for XrdOucCallBack:
Collaboration graph

Public Member Functions

void Cancel ()
int Init (XrdOucErrInfo *eInfo)
int Reply (int retVal, int eValue, const char *eText, const char *Path=0)
 XrdOucCallBack ()
 ~XrdOucCallBack ()
- Public Member Functions inherited from XrdOucEICB
 XrdOucEICB ()
 Constructor and destructor. More...
virtual ~XrdOucEICB ()

Static Public Member Functions

static int Allowed (XrdOucErrInfo *eInfo)

Public Attributes


Private Member Functions

void Done (int &Result, XrdOucErrInfo *eInfo, const char *Path=0)
int Same (unsigned long long arg1, unsigned long long arg2)

Private Attributes

XrdSysSemaphore cbSync
unsigned long long cbArg
char UserID [64]

Constructor & Destructor Documentation

XrdOucCallBack::XrdOucCallBack ( )
XrdOucCallBack::~XrdOucCallBack ( )

References Cancel(), and cbObj.

Member Function Documentation

static int XrdOucCallBack::Allowed ( XrdOucErrInfo eInfo)
void XrdOucCallBack::Cancel ( )

Referenced by ~XrdOucCallBack().

void XrdOucCallBack::Done ( int &  Result,
XrdOucErrInfo eInfo,
const char *  Path = 0 

Invoke a callback after an operation completes.

Result- the original function's result (may be changed).
eInfo- Associated error information. The eInfo object may not be modified until it's own callback Done() method is called, if supplied. If the callback function in eInfo is zero, then the eInfo object is deleted by the invoked callback. Otherwise, that method must be invoked by this callback function after the actual callback message is sent. This allows the callback requestor to do post-processing and be asynchronous being assured that the callback completed.
Path- Optionally, the path related to thid request. It is used for tracing and detailed monitoring purposes.

Implements XrdOucEICB.

References cbSync, and XrdSysSemaphore::Post().

int XrdOucCallBack::Init ( XrdOucErrInfo eInfo)
int XrdOucCallBack::Reply ( int  retVal,
int  eValue,
const char *  eText,
const char *  Path = 0 
int XrdOucCallBack::Same ( unsigned long long  arg1,
unsigned long long  arg2 

Determine if two callback arguments refer to the same client.

arg1- The first callback argument.
arg2- The second callback argument.
!0 - The arguments refer to the same client.
=0 - The arguments refer to the different clients.

Implements XrdOucEICB.

Member Data Documentation

unsigned long long XrdOucCallBack::cbArg
XrdOucEICB* XrdOucCallBack::cbObj

Referenced by ~XrdOucCallBack().

XrdSysSemaphore XrdOucCallBack::cbSync

Referenced by Done().

XrdOucCallBack* XrdOucCallBack::Next
char XrdOucCallBack::UserID[64]

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