XRootD
XrdCl::GetXAttrFsImpl< HasHndl > Class Template Reference

GetXAttr operation (. More...

#include <XrdClFileSystemOperations.hh>

+ Inheritance diagram for XrdCl::GetXAttrFsImpl< HasHndl >:
+ Collaboration diagram for XrdCl::GetXAttrFsImpl< HasHndl >:

Public Types

enum  {
  PathArg ,
  NameArg
}
 Argument indexes in the args tuple. More...
 

Public Member Functions

std::string ToString ()
 
- Public Member Functions inherited from XrdCl::FileSystemOperation< GetXAttrFsImpl, HasHndl, Resp< std::string >, Arg< std::string >, Arg< std::string > >
 FileSystemOperation (Ctx< FileSystem > fs, Args... args)
 
 FileSystemOperation (FileSystemOperation< GetXAttrFsImpl, from, Resp< std::string >, Args... > &&op)
 
virtual ~FileSystemOperation ()
 Destructor. More...
 
- Public Member Functions inherited from XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >
 ConcreteOperation (Args &&... args)
 
template<bool from>
 ConcreteOperation (ConcreteOperation< Derived, from, HdlrFactory, Args... > &&op)
 
Operation< HasHndl > * Move ()
 
template<typename Hdlr >
Derived< true > operator>> (Hdlr &&hdlr)
 
Derived< true > operator| (FinalOperation &&fo)
 Adds a final operation to the pipeline. More...
 
Derived< true > operator| (Operation< false > &&op)
 
Derived< true > operator| (Operation< false > &op)
 
Derived< true > operator| (Operation< true > &&op)
 
Derived< true > operator| (Operation< true > &op)
 
Derived< HasHndl > Timeout (uint16_t timeout)
 Set operation timeout. More...
 
Operation< true > * ToHandled ()
 
- Public Member Functions inherited from XrdCl::Operation< HasHndl >
 Operation ()
 Constructor. More...
 
template<bool from>
 Operation (Operation< from > &&op)
 Move constructor between template instances. More...
 
virtual ~Operation ()
 Destructor. More...
 

Protected Member Functions

XRootDStatus RunImpl (PipelineHandler *handler, uint16_t pipelineTimeout)
 
- Protected Member Functions inherited from XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >
Derived< true > StreamImpl (ResponseHandler *handler)
 
template<bool to>
Derived< to > Transform ()
 
- Protected Member Functions inherited from XrdCl::Operation< HasHndl >
void AddOperation (Operation< true > *op)
 
void Run (Timeout timeout, std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final)
 

Additional Inherited Members

- Static Protected Member Functions inherited from XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >
static void AllocHandler (ConcreteOperation< Derived, false, HdlrFactory, Args... > &me)
 
static void AllocHandler (ConcreteOperation< Derived, true, HdlrFactory, Args... > &me)
 
static Derived< true > PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args... > &me, Operation< false > &op)
 
static Derived< true > PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args... > &me, Operation< true > &op)
 
- Protected Attributes inherited from XrdCl::FileSystemOperation< GetXAttrFsImpl, HasHndl, Resp< std::string >, Arg< std::string >, Arg< std::string > >
Ctx< FileSystemfilesystem
 The file system object itself. More...
 
- Protected Attributes inherited from XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >
std::tuple< Args... > args
 Operation arguments. More...
 
uint16_t timeout
 Operation timeout. More...
 
- Protected Attributes inherited from XrdCl::Operation< HasHndl >
std::unique_ptr< PipelineHandlerhandler
 Operation handler. More...
 
bool valid
 Flag indicating if it is a valid object. More...
 

Detailed Description

template<bool HasHndl>
class XrdCl::GetXAttrFsImpl< HasHndl >

GetXAttr operation (.

See also
FileOperation)

Definition at line 971 of file XrdClFileSystemOperations.hh.

Member Enumeration Documentation

◆ anonymous enum

template<bool HasHndl>
anonymous enum

Argument indexes in the args tuple.

Enumerator
PathArg 
NameArg 

Definition at line 985 of file XrdClFileSystemOperations.hh.

Member Function Documentation

◆ RunImpl()

template<bool HasHndl>
XRootDStatus XrdCl::GetXAttrFsImpl< HasHndl >::RunImpl ( PipelineHandler handler,
uint16_t  pipelineTimeout 
)
inlineprotectedvirtual

RunImpl operation (

See also
Operation)
Returns
: status of the operation

Implements XrdCl::Operation< HasHndl >.

Definition at line 1002 of file XrdClFileSystemOperations.hh.

1003  {
1004  std::string &path = std::get<PathArg>( this->args ).Get();
1005  std::string &name = std::get<NameArg>( this->args ).Get();
1006  // wrap the argument with a vector
1007  std::vector<std::string> attrs;
1008  attrs.push_back( name );
1009  // wrap the PipelineHandler so the response gets unpacked properly
1010  UnpackXAttr *h = new UnpackXAttr( handler );
1011  uint16_t timeout = pipelineTimeout < this->timeout ?
1012  pipelineTimeout : this->timeout;
1013  XRootDStatus st = this->filesystem->GetXAttr( path, attrs, h, timeout );
1014  if( !st.IsOK() ) delete h;
1015  return st;
1016  }
std::tuple< Args... > args
Operation arguments.
uint16_t timeout
Operation timeout.
std::unique_ptr< PipelineHandler > handler
Operation handler.

References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::args, XrdCl::FileSystemOperation< GetXAttrFsImpl, HasHndl, Resp< std::string >, Arg< std::string >, Arg< std::string > >::filesystem, XrdCl::Operation< HasHndl >::handler, XrdCl::Status::IsOK(), and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::timeout.

+ Here is the call graph for this function:

◆ ToString()

template<bool HasHndl>
std::string XrdCl::GetXAttrFsImpl< HasHndl >::ToString ( )
inlinevirtual
Returns
: name of the operation (
See also
Operation)

Implements XrdCl::Operation< HasHndl >.

Definition at line 990 of file XrdClFileSystemOperations.hh.

991  {
992  return "GetXAttrFsImpl";
993  }

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