xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XrdCl::ZipListHandler Class Reference

#include <XrdClZipListHandler.hh>

Inheritance diagram for XrdCl::ZipListHandler:
Inheritance graph
[legend]
Collaboration diagram for XrdCl::ZipListHandler:
Collaboration graph
[legend]

Public Member Functions

 ZipListHandler (const URL &url, const std::string &path, DirListFlags::Flags flags, ResponseHandler *handler, uint16_t timeout=0)
 
 ~ZipListHandler ()
 Destructor.
 
virtual void HandleResponse (XrdCl::XRootDStatus *statusptr, XrdCl::AnyObject *responseptr)
 Handle the server response.
 
- Public Member Functions inherited from XrdCl::ResponseHandler
virtual ~ResponseHandler ()
 
virtual void HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList)
 

Private Types

enum  Steps { STAT = 0 , OPEN = 1 , CLOSE = 2 , DONE = 4 }
 

Private Member Functions

void DoDirList (time_t timeLeft)
 Do normal listing if it is a directory (and not a ZIP archive)
 
void DoZipOpen (time_t timeLeft)
 Open the ZIP archive.
 
void DoZipClose (time_t timeLeft)
 Close the ZIP archive.
 

Private Attributes

URL pUrl
 
DirListFlags::Flags pFlags
 
ResponseHandlerpHandler
 
uint16_t pTimeout
 
std::unique_ptr< DirectoryListpDirList
 
time_t pStartTime
 
File pFile
 
ZipArchive pZip
 
int pStep
 

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)
 

Member Enumeration Documentation

◆ Steps

Possible steps in ZIP listing

  • STAT : stat the URL
  • OPEN : open the ZIP archive
  • CLOSE : close the ZIP archive
Enumerator
STAT 
OPEN 
CLOSE 
DONE 

Constructor & Destructor Documentation

◆ ZipListHandler()

XrdCl::ZipListHandler::ZipListHandler ( const URL url,
const std::string &  path,
DirListFlags::Flags  flags,
ResponseHandler handler,
uint16_t  timeout = 0 
)
inline

Constructor

Parameters
url: endpoint URL
path: path to the ZIP
flags: listing flags
handler: the original response handler
timeout: operation timeout

References XrdCl::DefaultRequestTimeout, XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), pTimeout, pUrl, and XrdCl::URL::SetPath().

◆ ~ZipListHandler()

XrdCl::ZipListHandler::~ZipListHandler ( )
inline

Destructor.

Member Function Documentation

◆ DoDirList()

void XrdCl::ZipListHandler::DoDirList ( time_t  timeLeft)
private

Do normal listing if it is a directory (and not a ZIP archive)

◆ DoZipClose()

void XrdCl::ZipListHandler::DoZipClose ( time_t  timeLeft)
private

Close the ZIP archive.

◆ DoZipOpen()

void XrdCl::ZipListHandler::DoZipOpen ( time_t  timeLeft)
private

Open the ZIP archive.

◆ HandleResponse()

virtual void XrdCl::ZipListHandler::HandleResponse ( XrdCl::XRootDStatus statusptr,
XrdCl::AnyObject responseptr 
)
virtual

Handle the server response.

Reimplemented from XrdCl::ResponseHandler.

Member Data Documentation

◆ pDirList

std::unique_ptr<DirectoryList> XrdCl::ZipListHandler::pDirList
private

◆ pFile

File XrdCl::ZipListHandler::pFile
private

◆ pFlags

DirListFlags::Flags XrdCl::ZipListHandler::pFlags
private

◆ pHandler

ResponseHandler* XrdCl::ZipListHandler::pHandler
private

◆ pStartTime

time_t XrdCl::ZipListHandler::pStartTime
private

◆ pStep

int XrdCl::ZipListHandler::pStep
private

◆ pTimeout

uint16_t XrdCl::ZipListHandler::pTimeout
private

Referenced by ZipListHandler().

◆ pUrl

URL XrdCl::ZipListHandler::pUrl
private

Referenced by ZipListHandler().

◆ pZip

ZipArchive XrdCl::ZipListHandler::pZip
private

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