XrdCl::ZipListHandler Class Reference

#include <XrdClZipListHandler.hh>

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

List of all members.

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.

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
ZipArchiveReader pZip
int pStep

Member Enumeration Documentation

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

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().

XrdCl::ZipListHandler::~ZipListHandler (  )  [inline]

Destructor.


Member Function Documentation

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

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

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

Close the ZIP archive.

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

Open the ZIP archive.

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

Handle the server response.

Reimplemented from XrdCl::ResponseHandler.


Member Data Documentation

std::unique_ptr<DirectoryList> XrdCl::ZipListHandler::pDirList [private]
uint16_t XrdCl::ZipListHandler::pTimeout [private]

Referenced by ZipListHandler().

Referenced by ZipListHandler().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 11 Jun 2020 for xrootd by  doxygen 1.6.1