xrootd
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
XrdCl::OpenImpl< HasHndl > Class Template Reference

Open operation (. More...

#include <XrdClFileOperations.hh>

Inheritance diagram for XrdCl::OpenImpl< HasHndl >:
Inheritance graph
[legend]
Collaboration diagram for XrdCl::OpenImpl< HasHndl >:
Collaboration graph
[legend]

Classes

struct  ExResp
 

Public Types

enum  { UrlArg, FlagsArg, ModeArg }
 Argument indexes in the args tuple. More...
 

Public Member Functions

 OpenImpl (File *f, Arg< std::string > url, Arg< OpenFlags::Flags > flags, Arg< Access::Mode > mode=Access::None)
 Constructor (. More...
 
 OpenImpl (File &f, Arg< std::string > url, Arg< OpenFlags::Flags > flags, Arg< Access::Mode > mode=Access::None)
 Constructor (. More...
 
template<bool from>
 OpenImpl (OpenImpl< from > &&open)
 
template<typename Hdlr >
OpenImpl< true > operator>> (Hdlr &&hdlr)
 
std::string ToString ()
 
- Public Member Functions inherited from XrdCl::FileOperation< OpenImpl, HasHndl, Resp< void >, Arg< std::string >, Arg< OpenFlags::Flags >, Arg< Access::Mode > >
 FileOperation (File *f, Arguments... args)
 
 FileOperation (File &f, Arguments... args)
 
 FileOperation (FileOperation< OpenImpl, from, Resp< void >, Arguments... > &&op)
 
virtual ~FileOperation ()
 Destructor. More...
 
- Public Member Functions inherited from XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >
 ConcreteOperation (Args &&... args)
 
 ConcreteOperation (ConcreteOperation< OpenImpl, from, Resp< void >, Args... > &&op)
 
OpenImpl< true > operator>> (Hdlr &&hdlr)
 
OpenImpl< true > operator| (Operation< true > &op)
 
OpenImpl< true > operator| (Operation< true > &&op)
 
OpenImpl< true > operator| (Operation< false > &op)
 
OpenImpl< true > operator| (Operation< false > &&op)
 
OpenImpl< HasHndl > Recovery (rcvry_func recovery)
 Set recovery procedure in case the operation fails. More...
 
Operation< HasHndl > * Move ()
 
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 ()
 
- Protected Member Functions inherited from XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >
OpenImpl< to > Transform ()
 
OpenImpl< true > StreamImpl (ResponseHandler *handler)
 
- Protected Member Functions inherited from XrdCl::Operation< HasHndl >
void Run (std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final)
 
void ForceHandler (const XRootDStatus &status)
 
void AddOperation (Operation< true > *op)
 

Additional Inherited Members

- Static Protected Member Functions inherited from XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >
static OpenImpl< true > PipeImpl (ConcreteOperation< OpenImpl, true, Resp< void >, Args... > &me, Operation< true > &op)
 
static OpenImpl< true > PipeImpl (ConcreteOperation< OpenImpl, true, Resp< void >, Args... > &me, Operation< false > &op)
 
static OpenImpl< true > PipeImpl (ConcreteOperation< OpenImpl, false, Resp< void >, Args... > &me, Operation< true > &op)
 
static OpenImpl< true > PipeImpl (ConcreteOperation< OpenImpl, false, Resp< void >, Args... > &me, Operation< false > &op)
 
- Protected Attributes inherited from XrdCl::FileOperation< OpenImpl, HasHndl, Resp< void >, Arg< std::string >, Arg< OpenFlags::Flags >, Arg< Access::Mode > >
Filefile
 The file object itself. More...
 
- Protected Attributes inherited from XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >
std::tuple< Args... > args
 Operation arguments. More...
 
rcvry_func recovery
 The recovery routine for this operation. 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::OpenImpl< HasHndl >

Open operation (.

See also
FileOperation)

Member Enumeration Documentation

◆ anonymous enum

template<bool HasHndl>
anonymous enum

Argument indexes in the args tuple.

Enumerator
UrlArg 
FlagsArg 
ModeArg 

Constructor & Destructor Documentation

◆ OpenImpl() [1/3]

template<bool HasHndl>
XrdCl::OpenImpl< HasHndl >::OpenImpl ( File f,
Arg< std::string >  url,
Arg< OpenFlags::Flags flags,
Arg< Access::Mode mode = Access::None 
)
inline

Constructor (.

See also
FileOperation)

◆ OpenImpl() [2/3]

template<bool HasHndl>
XrdCl::OpenImpl< HasHndl >::OpenImpl ( File f,
Arg< std::string >  url,
Arg< OpenFlags::Flags flags,
Arg< Access::Mode mode = Access::None 
)
inline

Constructor (.

See also
FileOperation)

◆ OpenImpl() [3/3]

template<bool HasHndl>
template<bool from>
XrdCl::OpenImpl< HasHndl >::OpenImpl ( OpenImpl< from > &&  open)
inline

Move constructor from other states

  • from : state from which the object is being converted
Parameters
op: the object that is being converted

Member Function Documentation

◆ operator>>()

template<bool HasHndl>
template<typename Hdlr >
OpenImpl<true> XrdCl::OpenImpl< HasHndl >::operator>> ( Hdlr &&  hdlr)
inline

Overload of operator>> defined in ConcreteOperation, we're adding additional capabilities by using ExResp factory (

See also
ExResp).
Parameters
func: function/functor/lambda

References XrdCl::OpenImpl< HasHndl >::ExResp::Create().

◆ RunImpl()

template<bool HasHndl>
XRootDStatus XrdCl::OpenImpl< HasHndl >::RunImpl ( )
inlineprotectedvirtual

RunImpl operation (

See also
Operation)
Parameters
params: container with parameters forwarded from previous operation
Returns
: status of the operation

Implements XrdCl::Operation< HasHndl >.

References XrdCl::PipelineException::GetError(), and XrdCl::stError.

◆ ToString()

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

Implements XrdCl::Operation< HasHndl >.


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