XRootD
XrdCl::OpenFileImpl< HasHndl > Class Template Reference

OpenFile operation (. More...

#include <XrdClZipOperations.hh>

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

Public Types

enum  {
  FnArg ,
  FlagsArg ,
  SizeArg ,
  Crc32Arg
}
 Argument indexes in the args tuple. More...
 
enum  Flags
 Open flags, may be or'd when appropriate. More...
 

Public Member Functions

std::string ToString ()
 
- Public Member Functions inherited from XrdCl::ZipOperation< OpenFileImpl, HasHndl, Resp< void >, Arg< std::string >, Arg< OpenFlags::Flags >, Arg< uint64_t >, Arg< uint32_t > >
 ZipOperation (Ctx< ZipArchive > zip, Arguments... args)
 
 ZipOperation (ZipOperation< OpenFileImpl, from, Resp< void >, Arguments... > &&op)
 
virtual ~ZipOperation ()
 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::ZipOperation< OpenFileImpl, HasHndl, Resp< void >, Arg< std::string >, Arg< OpenFlags::Flags >, Arg< uint64_t >, Arg< uint32_t > >
Ctx< ZipArchivezip
 The file 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::OpenFileImpl< HasHndl >

OpenFile operation (.

See also
ZipOperation)

Definition at line 135 of file XrdClZipOperations.hh.

Member Enumeration Documentation

◆ anonymous enum

template<bool HasHndl>
anonymous enum

Argument indexes in the args tuple.

Enumerator
FnArg 
FlagsArg 
SizeArg 
Crc32Arg 

Definition at line 149 of file XrdClZipOperations.hh.

◆ Flags

template<bool HasHndl>
enum XrdCl::OpenFlags::Flags

Open flags, may be or'd when appropriate.

Definition at line 75 of file XrdClFileSystem.hh.

76  {
77  None = 0,
78  Compress = kXR_compress,
80  Delete = kXR_delete,
82  Force = kXR_force,
84  MakePath = kXR_mkpath,
86  New = kXR_new,
88  NoWait = kXR_nowait,
94 // Append = kXR_open_apnd, //!< Open only for appending
96  Update = kXR_open_updt,
98  POSC = kXR_posc,
100  Refresh = kXR_refresh,
102  Replica = kXR_replica,
104  SeqIO = kXR_seqio,
105  PrefName = kXR_prefname,
107  IntentDirList = kXR_4dirlist
109  };
@ kXR_open_wrto
Definition: XProtocol.hh:469
@ kXR_compress
Definition: XProtocol.hh:452
@ kXR_delete
Definition: XProtocol.hh:453
@ kXR_prefname
Definition: XProtocol.hh:461
@ kXR_nowait
Definition: XProtocol.hh:467
@ kXR_open_read
Definition: XProtocol.hh:456
@ kXR_open_updt
Definition: XProtocol.hh:457
@ kXR_mkpath
Definition: XProtocol.hh:460
@ kXR_seqio
Definition: XProtocol.hh:468
@ kXR_replica
Definition: XProtocol.hh:465
@ kXR_posc
Definition: XProtocol.hh:466
@ kXR_refresh
Definition: XProtocol.hh:459
@ kXR_new
Definition: XProtocol.hh:455
@ kXR_force
Definition: XProtocol.hh:454
@ kXR_4dirlist
Definition: XProtocol.hh:464
bool Force
WriteImpl< false > Write(Ctx< File > file, Arg< uint64_t > offset, Arg< uint32_t > size, Arg< const void * > buffer, uint16_t timeout=0)
Factory for creating WriteImpl objects.
ReadImpl< false > Read(Ctx< File > file, Arg< uint64_t > offset, Arg< uint32_t > size, Arg< void * > buffer, uint16_t timeout=0)
Factory for creating ReadImpl objects.
void * Refresh(void *parg)

Member Function Documentation

◆ RunImpl()

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

RunImpl operation (

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

Implements XrdCl::Operation< HasHndl >.

Definition at line 168 of file XrdClZipOperations.hh.

169  {
170  std::string &fn = std::get<FnArg>( this->args ).Get();
171  OpenFlags::Flags flags = std::get<FlagsArg>( this->args ).Get();
172  uint64_t size = std::get<SizeArg>( this->args ).Get();
173  uint32_t crc32 = std::get<Crc32Arg>( this->args ).Get();
174  XRootDStatus st = this->zip->OpenFile( fn, flags, size, crc32 );
175  if( !st.IsOK() ) return st;
176  handler->HandleResponse( new XRootDStatus(), nullptr );
177  return XRootDStatus();
178  }
std::tuple< Args... > args
Operation arguments.
std::unique_ptr< PipelineHandler > handler
Operation handler.
Flags
Open flags, may be or'd when appropriate.

References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::args, XrdCl::Operation< HasHndl >::handler, XrdCl::Status::IsOK(), and XrdCl::ZipOperation< OpenFileImpl, HasHndl, Resp< void >, Arg< std::string >, Arg< OpenFlags::Flags >, Arg< uint64_t >, Arg< uint32_t > >::zip.

+ Here is the call graph for this function:

◆ ToString()

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

Implements XrdCl::Operation< HasHndl >.

Definition at line 154 of file XrdClZipOperations.hh.

155  {
156  return "ZipOpenFile";
157  }

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