xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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. More...
 
virtual void HandleResponse (XrdCl::XRootDStatus *statusptr, XrdCl::AnyObject *responseptr)
 Handle the server response. More...
 
- 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) More...
 
void DoZipOpen (time_t timeLeft)
 Open the ZIP archive. More...
 
void DoZipClose (time_t timeLeft)
 Close the ZIP archive. More...
 

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

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
File XrdCl::ZipListHandler::pFile
private
DirListFlags::Flags XrdCl::ZipListHandler::pFlags
private
ResponseHandler* XrdCl::ZipListHandler::pHandler
private
time_t XrdCl::ZipListHandler::pStartTime
private
int XrdCl::ZipListHandler::pStep
private
uint16_t XrdCl::ZipListHandler::pTimeout
private

Referenced by ZipListHandler().

URL XrdCl::ZipListHandler::pUrl
private

Referenced by ZipListHandler().

ZipArchive XrdCl::ZipListHandler::pZip
private

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