XRootD
Loading...
Searching...
No Matches
XrdCl::UnpackXAttr Class Reference

Helper class for unpacking single XAttr from bulk response. More...

#include <XrdClOperationHandlers.hh>

Inheritance diagram for XrdCl::UnpackXAttr:
Collaboration diagram for XrdCl::UnpackXAttr:

Public Member Functions

 UnpackXAttr (ResponseHandler *handler)
void HandleResponse (XRootDStatus *status, AnyObject *response)
 Callback method.
Public Member Functions inherited from XrdCl::ResponseHandler
virtual ~ResponseHandler ()
virtual void HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList)

Additional Inherited Members

Static Public Member Functions inherited from XrdCl::ResponseHandler
static ResponseHandlerWrap (std::function< void(XRootDStatus &, AnyObject &)> func)
static ResponseHandlerWrap (std::function< void(XRootDStatus *, AnyObject *)> func)

Detailed Description

Helper class for unpacking single XAttr from bulk response.

Definition at line 78 of file XrdClOperationHandlers.hh.

Constructor & Destructor Documentation

◆ UnpackXAttr()

XrdCl::UnpackXAttr::UnpackXAttr ( ResponseHandler * handler)
inline

Definition at line 82 of file XrdClOperationHandlers.hh.

82 : handler( handler )
83 {
84 }

Member Function Documentation

◆ HandleResponse()

void XrdCl::UnpackXAttr::HandleResponse ( XRootDStatus * status,
AnyObject * response )
inlinevirtual

Callback method.

Reimplemented from XrdCl::ResponseHandler.

Definition at line 89 of file XrdClOperationHandlers.hh.

90 {
91 // status is always OK for bulk response
92
93 std::vector<XAttr> *bulk = nullptr;
94 response->Get( bulk );
95
96 if (bulk && !bulk->empty()) {
97 if (status)
98 *status = bulk->front().status;
99
100 std::string *rsp = new std::string(std::move(bulk->front().value));
101 response->Set( rsp );
102 }
103
104 delete bulk;
105 handler->HandleResponse( status, response );
106 }

References XrdCl::AnyObject::Get(), and XrdCl::AnyObject::Set().

Here is the call graph for this function:

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