00001 #ifndef __XRDXROOTDCALLBACK_H__
00002 #define __XRDXROOTDCALLBACK_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "XrdOuc/XrdOucErrInfo.hh"
00016 #include "XrdSys/XrdSysPthread.hh"
00017
00018 class XrdScheduler;
00019 class XrdOurError;
00020 class XrdXrootdStats;
00021
00022 class XrdXrootdCallBack : public XrdOucEICB
00023 {
00024 public:
00025
00026 void Done(int &Result,
00027 XrdOucErrInfo *eInfo);
00028
00029 const char *Func() {return Opname;}
00030
00031 int Same(unsigned long long arg1, unsigned long long arg2);
00032
00033 void sendError(int rc, XrdOucErrInfo *eInfo);
00034
00035 void sendResp(XrdOucErrInfo *eInfo,
00036 XResponseType xrt, int *Data=0,
00037 const char *Msg=0, int ovhd=0);
00038
00039 static void setVals(XrdSysError *erp,
00040 XrdXrootdStats *SIp,
00041 XrdScheduler *schp,
00042 int port)
00043 {eDest=erp; SI=SIp; Sched=schp; Port=port;}
00044
00045 XrdXrootdCallBack(const char *opn) : Opname(opn) {}
00046
00047 ~XrdXrootdCallBack() {}
00048 private:
00049 static XrdSysError *eDest;
00050 static XrdXrootdStats *SI;
00051 static XrdScheduler *Sched;
00052 const char *Opname;
00053 static int Port;
00054 };
00055 #endif