#include <XrdClZipArchive.hh>
|
| ZipArchive () |
| Constructor. More...
|
|
virtual | ~ZipArchive () |
| Destructor. More...
|
|
XRootDStatus | OpenArchive (const std::string &url, OpenFlags::Flags flags, ResponseHandler *handler, uint16_t timeout=0) |
|
XRootDStatus | OpenFile (const std::string &fn, OpenFlags::Flags flags=OpenFlags::None, uint64_t size=0, uint32_t crc32=0) |
|
XRootDStatus | Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) |
|
XRootDStatus | ReadFrom (const std::string &fn, uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) |
|
XRootDStatus | Write (uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout=0) |
|
XRootDStatus | AppendFile (const std::string &fn, uint32_t crc32, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout=0) |
|
XRootDStatus | Stat (const std::string &fn, StatInfo *&info) |
|
XRootDStatus | Stat (StatInfo *&info) |
|
XRootDStatus | GetCRC32 (const std::string &fn, uint32_t &cksum) |
|
XRootDStatus | CloseArchive (ResponseHandler *handler, uint16_t timeout=0) |
| Create the central directory at the end of ZIP archive and close it. More...
|
|
XRootDStatus | CloseFile () |
|
XRootDStatus | List (DirectoryList *&list) |
|
bool | IsOpen () |
|
bool | SetProperty (const std::string &name, const std::string &value) |
| Set property on the underlying File object. More...
|
|
Type that maps file name to its cache.
Stages of opening and parsing a ZIP archive.
Enumerator |
---|
None |
|
HaveEocdBlk |
|
HaveZip64EocdlBlk |
|
HaveZip64EocdBlk |
|
HaveCdRecords |
|
Done |
|
Error |
|
NotParsed |
|
XrdCl::ZipArchive::ZipArchive |
( |
| ) |
|
virtual XrdCl::ZipArchive::~ZipArchive |
( |
| ) |
|
|
virtual |
XRootDStatus XrdCl::ZipArchive::AppendFile |
( |
const std::string & |
fn, |
|
|
uint32_t |
crc32, |
|
|
uint32_t |
size, |
|
|
const void * |
buffer, |
|
|
ResponseHandler * |
handler, |
|
|
uint16_t |
timeout = 0 |
|
) |
| |
Create a new file in the ZIP archive and append the data
- Parameters
-
fn | : the name of the new file to be created |
crc32 | : the crc32 of the file |
size | : the size of the file |
buffer | : the buffer with the data |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
void XrdCl::ZipArchive::Clear |
( |
| ) |
|
|
inlineprivate |
Create the central directory at the end of ZIP archive and close it.
- Parameters
-
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
template<typename Response >
static void XrdCl::ZipArchive::Free |
( |
XRootDStatus * |
st, |
|
|
Response * |
rsp |
|
) |
| |
|
inlinestaticprivate |
Free status and response.
Get a buffer with central directory of the ZIP archive
- Returns
- : buffer with central directory
XRootDStatus XrdCl::ZipArchive::GetCRC32 |
( |
const std::string & |
fn, |
|
|
uint32_t & |
cksum |
|
) |
| |
|
inline |
bool XrdCl::ZipArchive::IsOpen |
( |
| ) |
|
|
inline |
- Returns
- : true if ZIP archive has been successfully opened
List files in the ZIP archive
- Returns
- : the status of the operation
static StatInfo* XrdCl::ZipArchive::make_stat |
( |
const StatInfo & |
starch, |
|
|
uint64_t |
size |
|
) |
| |
|
inlinestaticprivate |
StatInfo* XrdCl::ZipArchive::make_stat |
( |
const std::string & |
fn | ) |
|
|
inlineprivate |
Create a StatInfo object for a given file within the ZIP archive.
- Parameters
-
- Returns
- : StatInfo object for the given file
Open ZIP Archive (and parse the Central Directory)
- Parameters
-
url | : the URL of the ZIP archive |
flags | : open flags to be used when openning the file |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
Open a file within the ZIP Archive
- Parameters
-
fn | : file name to be opened |
flags | : open flags (either 'Read' or 'New | Write') |
size | : file size (to be included in the LFH) |
crc32 | : file crc32 (to be included in the LFH) |
- Returns
- : the status of the operation
Open the ZIP archive in read-only mode without parsing the central directory.
- Parameters
-
url | : url of the ZIP archive |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : operation status
template<typename Response >
static AnyObject* XrdCl::ZipArchive::PkgRsp |
( |
Response * |
rsp | ) |
|
|
inlinestaticprivate |
XRootDStatus XrdCl::ZipArchive::Read |
( |
uint64_t |
offset, |
|
|
uint32_t |
size, |
|
|
void * |
buffer, |
|
|
ResponseHandler * |
handler, |
|
|
uint16_t |
timeout = 0 |
|
) |
| |
|
inline |
Read data from an open file
- Parameters
-
offset | : offset within the file to read at |
size | : number of bytes to be read |
buffer | : the buffer for the data |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
References XrdCl::errInvalidOp, XrdCl::ReadFrom(), and XrdCl::stError.
XRootDStatus XrdCl::ZipArchive::ReadFrom |
( |
const std::string & |
fn, |
|
|
uint64_t |
offset, |
|
|
uint32_t |
size, |
|
|
void * |
buffer, |
|
|
ResponseHandler * |
handler, |
|
|
uint16_t |
timeout = 0 |
|
) |
| |
Read data from a given file
- Parameters
-
fn | : the name of the file from which we are going to read |
offset | : offset within the file to read at |
size | : number of bytes to be read |
buffer | : the buffer for the data |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
template<typename Response >
void XrdCl::ZipArchive::SetCD |
( |
const buffer_t & |
buffer | ) |
|
|
private |
Set central directory for the ZIP archive
- Parameters
-
buffer | : a buffer with the central directory to be set |
bool XrdCl::ZipArchive::SetProperty |
( |
const std::string & |
name, |
|
|
const std::string & |
value |
|
) |
| |
|
inline |
Set property on the underlying File object.
Append data to a new file
- Parameters
-
size | : number of bytes to be appended |
buffer | : the buffer with the data to be appended |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
References XrdCl::errInvalidOp, and XrdCl::stError.
Append data to a new file, implementation
- Parameters
-
lfh | : the Local File Header record |
size | : number of bytes to be appended |
buffer | : the buffer with the data to be appended |
handler | : user callback |
timeout | : operation timeout |
- Returns
- : the status of the operation
File XrdCl::ZipArchive::archive |
|
private |
uint64_t XrdCl::ZipArchive::archsize |
|
private |
std::unique_ptr<char[]> XrdCl::ZipArchive::buffer |
|
private |
bool XrdCl::ZipArchive::cdexists |
|
private |
uint64_t XrdCl::ZipArchive::cdoff |
|
private |
std::unique_ptr<EOCD> XrdCl::ZipArchive::eocd |
|
private |
std::unique_ptr<LFH> XrdCl::ZipArchive::lfh |
|
private |
std::string XrdCl::ZipArchive::openfn |
|
private |
uint32_t XrdCl::ZipArchive::orgcdcnt |
|
private |
uint32_t XrdCl::ZipArchive::orgcdsz |
|
private |
bool XrdCl::ZipArchive::updated |
|
private |
std::unique_ptr<ZIP64_EOCD> XrdCl::ZipArchive::zip64eocd |
|
private |
The documentation for this class was generated from the following file: