39 class XrdClientMessage;
40 class XrdClientUnsolMsgSender;
43 enum UnsolRespProcResult {
51 class XrdClientAbsUnsolMsgHandler {
54 virtual ~XrdClientAbsUnsolMsgHandler() { }
56 virtual UnsolRespProcResult ProcessUnsolicitedMsg(XrdClientUnsolMsgSender *sender,
57 XrdClientMessage *unsolmsg) = 0;
63 class XrdClientUnsolMsgSender {
67 virtual ~XrdClientUnsolMsgSender() { }
70 XrdClientAbsUnsolMsgHandler *UnsolicitedMsgHandler;
72 inline UnsolRespProcResult SendUnsolicitedMsg(XrdClientUnsolMsgSender *sender, XrdClientMessage *unsolmsg) {
74 if (UnsolicitedMsgHandler)
75 return (UnsolicitedMsgHandler->ProcessUnsolicitedMsg(sender, unsolmsg));
77 return kUNSOL_CONTINUE;
80 inline XrdClientUnsolMsgSender() { UnsolicitedMsgHandler = 0; }