OpendTect 8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
ZipHandler Class Reference

Handles zipping and unzipping of files. More...

#include <ziphandler.h>

Public Types

enum  CompLevel {
  NoComp =0 , SuperFast =1 , Fast =3 , Normal =6 ,
  Maximum =9
}
 

Public Member Functions

 ZipHandler ()
 
 ~ZipHandler ()
 
uiString errMsg () const
 
bool getArchiveInfo (const char *, ObjectSet< ZipFileInfo > &)
 

Private Member Functions

void closeInputStream ()
 
void closeOutputStream ()
 
bool compressNextFile (ZipFileInfo &)
 
bool doZCompress (ZipFileInfo &)
 
bool doZUnCompress (const ZipFileInfo &)
 
bool extractNextFile (ZipFileInfo &)
 
const BufferStringSetgetAllFileNames ()
 
od_int64 getCumulativeFileCount () const
 
int getCumulativeFileCount (int) const
 
bool getFileList (const char *, BufferStringSet &)
 
od_int64 getNrDoneSize () const
 
od_int64 getTotalSize () const
 
BufferString getZipLocalFileName (const char *fnm) const
 
bool initAppend (const char *srcfnm, const char *basepath, const char *outfnm)
 
bool initMakeZip (const BufferStringSet &fnms, const char *basepath, const char *outfnm)
 
bool initUnZipArchive (const char *zipnm, const char *dest, ObjectSet< ZipFileInfo > &)
 
bool openStreamToWrite (const char *fnm)
 
int openStrmToRead (const char *src)
 
bool readCentralDirHeader (ObjectSet< ZipFileInfo > *=nullptr)
 
bool readEndOfCentralDirHeader ()
 
bool readLocalFileHeader (ZipFileInfo &localinfo)
 
bool readZIP64EndOfCentralDirLocator ()
 
bool readZIP64EndOfCentralDirRecord ()
 
bool reportReadError (const char *filenm=nullptr) const
 
bool reportStrmReadError (od_istream *, const char *) const
 
bool reportWriteError (const char *filenm=nullptr) const
 
bool setCentralDirHeader (const ObjectSet< ZipFileInfo > &)
 
void setCompLevel (CompLevel)
 
bool setEndOfArchiveHeaders (const ObjectSet< ZipFileInfo > &)
 
bool setEndOfCentralDirHeader (od_int64, od_uint32)
 
bool setLocalFileHeader (const ZipFileInfo &, unsigned char *headerbuff)
 
bool setLocalFileHeaderForDir (const ZipFileInfo &)
 
bool setLocalFileHeaderForFile (const ZipFileInfo &)
 
bool setLocalFileHeaderForLink (const ZipFileInfo &)
 
bool setUnixUIDGID (const ZipFileInfo &)
 
bool setXtraHeaders (const ZipFileInfo &, bool local)
 
bool setXtraNTFSFld (const ZipFileInfo &)
 
bool setXtraTimestampFld (const ZipFileInfo &, bool local)
 
bool setZIP64EndOfDirLocator (od_int64)
 
bool setZIP64EndOfDirRecord (od_int64)
 
bool setZIP64Header (const ZipFileInfo &, bool local)
 
bool unZipFile (const char *srcfnm, const char *fnm, const char *path, ZipFileInfo *fileinforet=nullptr)
 
void writeGeneralPurposeFlag (unsigned char *buf) const
 

Static Private Member Functions

static bool readNTFSExtrField (const unsigned char *, od_uint16, ZipFileInfo &)
 
static bool readXtraField1 (const unsigned char *, od_uint16, ZipFileInfo &)
 
static bool readXtraFldForZIP64 (const unsigned char *, od_uint16, ZipFileInfo &)
 
static bool readXtraFlds (const unsigned char *buf, od_uint16 bufsz, ZipFileInfo &)
 
static bool readXtraTimestampFld (const unsigned char *, od_uint16, ZipFileInfo &)
 
static bool readXtraUIDGID (const unsigned char *, od_uint16 sz, od_uint16 tag, ZipFileInfo &)
 

Private Attributes

BufferStringSet allfilenames_
 
FilePath basepath_
 
CompLevel complevel_ = Normal
 
TypeSet< od_int64 > cumulativefilecounts_
 
int curfileidx_ = 0
 
int curinputidx_ = 0
 
uiString errormsg_
 
od_int64 initialfilecount_ = 0
 
od_istreamistrm_ = nullptr
 
od_int64 nrdonesize_ = mUdf(od_int64)
 
od_stream_Pos offsetofcentraldir_ = 0
 
od_ostreamostrm_ = nullptr
 
od_int64 totalsize_ = mUdf(od_int64)
 

Friends

class MultiArchiveUnZipper
 
class UnZipper
 
class Zipper
 
class ZipUtils
 

Detailed Description

Handles zipping and unzipping of files.

<>

Member Enumeration Documentation

◆ CompLevel

Enumerator
NoComp 
SuperFast 
Fast 
Normal 
Maximum 

Constructor & Destructor Documentation

◆ ZipHandler()

ZipHandler::ZipHandler ( )

◆ ~ZipHandler()

ZipHandler::~ZipHandler ( )

Member Function Documentation

◆ closeInputStream()

void ZipHandler::closeInputStream ( )
private

◆ closeOutputStream()

void ZipHandler::closeOutputStream ( )
private

◆ compressNextFile()

bool ZipHandler::compressNextFile ( ZipFileInfo & )
private

◆ doZCompress()

bool ZipHandler::doZCompress ( ZipFileInfo & )
private

◆ doZUnCompress()

bool ZipHandler::doZUnCompress ( const ZipFileInfo & )
private

◆ errMsg()

uiString ZipHandler::errMsg ( ) const

◆ extractNextFile()

bool ZipHandler::extractNextFile ( ZipFileInfo & )
private

◆ getAllFileNames()

const BufferStringSet & ZipHandler::getAllFileNames ( )
inlineprivate

◆ getArchiveInfo()

bool ZipHandler::getArchiveInfo ( const char * ,
ObjectSet< ZipFileInfo > &  )

◆ getCumulativeFileCount() [1/2]

od_int64 ZipHandler::getCumulativeFileCount ( ) const
inlineprivate

◆ getCumulativeFileCount() [2/2]

int ZipHandler::getCumulativeFileCount ( int ) const
private

◆ getFileList()

bool ZipHandler::getFileList ( const char * ,
BufferStringSet &  )
private

◆ getNrDoneSize()

od_int64 ZipHandler::getNrDoneSize ( ) const
inlineprivate

◆ getTotalSize()

od_int64 ZipHandler::getTotalSize ( ) const
inlineprivate

◆ getZipLocalFileName()

BufferString ZipHandler::getZipLocalFileName ( const char * fnm) const
private

◆ initAppend()

bool ZipHandler::initAppend ( const char * srcfnm,
const char * basepath,
const char * outfnm )
private

◆ initMakeZip()

bool ZipHandler::initMakeZip ( const BufferStringSet & fnms,
const char * basepath,
const char * outfnm )
private

◆ initUnZipArchive()

bool ZipHandler::initUnZipArchive ( const char * zipnm,
const char * dest,
ObjectSet< ZipFileInfo > &  )
private

◆ openStreamToWrite()

bool ZipHandler::openStreamToWrite ( const char * fnm)
private

◆ openStrmToRead()

int ZipHandler::openStrmToRead ( const char * src)
private

◆ readCentralDirHeader()

bool ZipHandler::readCentralDirHeader ( ObjectSet< ZipFileInfo > * = nullptr)
private

◆ readEndOfCentralDirHeader()

bool ZipHandler::readEndOfCentralDirHeader ( )
private

◆ readLocalFileHeader()

bool ZipHandler::readLocalFileHeader ( ZipFileInfo & localinfo)
private

◆ readNTFSExtrField()

static bool ZipHandler::readNTFSExtrField ( const unsigned char * ,
od_uint16 ,
ZipFileInfo &  )
staticprivate

◆ readXtraField1()

static bool ZipHandler::readXtraField1 ( const unsigned char * ,
od_uint16 ,
ZipFileInfo &  )
staticprivate

◆ readXtraFldForZIP64()

static bool ZipHandler::readXtraFldForZIP64 ( const unsigned char * ,
od_uint16 ,
ZipFileInfo &  )
staticprivate

◆ readXtraFlds()

static bool ZipHandler::readXtraFlds ( const unsigned char * buf,
od_uint16 bufsz,
ZipFileInfo &  )
staticprivate

◆ readXtraTimestampFld()

static bool ZipHandler::readXtraTimestampFld ( const unsigned char * ,
od_uint16 ,
ZipFileInfo &  )
staticprivate

◆ readXtraUIDGID()

static bool ZipHandler::readXtraUIDGID ( const unsigned char * ,
od_uint16 sz,
od_uint16 tag,
ZipFileInfo &  )
staticprivate

◆ readZIP64EndOfCentralDirLocator()

bool ZipHandler::readZIP64EndOfCentralDirLocator ( )
private

◆ readZIP64EndOfCentralDirRecord()

bool ZipHandler::readZIP64EndOfCentralDirRecord ( )
private

◆ reportReadError()

bool ZipHandler::reportReadError ( const char * filenm = nullptr) const
private

◆ reportStrmReadError()

bool ZipHandler::reportStrmReadError ( od_istream * ,
const char *  ) const
private

◆ reportWriteError()

bool ZipHandler::reportWriteError ( const char * filenm = nullptr) const
private

◆ setCentralDirHeader()

bool ZipHandler::setCentralDirHeader ( const ObjectSet< ZipFileInfo > & )
private

◆ setCompLevel()

void ZipHandler::setCompLevel ( CompLevel )
private

◆ setEndOfArchiveHeaders()

bool ZipHandler::setEndOfArchiveHeaders ( const ObjectSet< ZipFileInfo > & )
private

◆ setEndOfCentralDirHeader()

bool ZipHandler::setEndOfCentralDirHeader ( od_int64 ,
od_uint32  )
private

◆ setLocalFileHeader()

bool ZipHandler::setLocalFileHeader ( const ZipFileInfo & ,
unsigned char * headerbuff )
private

◆ setLocalFileHeaderForDir()

bool ZipHandler::setLocalFileHeaderForDir ( const ZipFileInfo & )
private

◆ setLocalFileHeaderForFile()

bool ZipHandler::setLocalFileHeaderForFile ( const ZipFileInfo & )
private

◆ setLocalFileHeaderForLink()

bool ZipHandler::setLocalFileHeaderForLink ( const ZipFileInfo & )
private

◆ setUnixUIDGID()

bool ZipHandler::setUnixUIDGID ( const ZipFileInfo & )
private

◆ setXtraHeaders()

bool ZipHandler::setXtraHeaders ( const ZipFileInfo & ,
bool local )
private

◆ setXtraNTFSFld()

bool ZipHandler::setXtraNTFSFld ( const ZipFileInfo & )
private

◆ setXtraTimestampFld()

bool ZipHandler::setXtraTimestampFld ( const ZipFileInfo & ,
bool local )
private

◆ setZIP64EndOfDirLocator()

bool ZipHandler::setZIP64EndOfDirLocator ( od_int64 )
private

◆ setZIP64EndOfDirRecord()

bool ZipHandler::setZIP64EndOfDirRecord ( od_int64 )
private

◆ setZIP64Header()

bool ZipHandler::setZIP64Header ( const ZipFileInfo & ,
bool local )
private

◆ unZipFile()

bool ZipHandler::unZipFile ( const char * srcfnm,
const char * fnm,
const char * path,
ZipFileInfo * fileinforet = nullptr )
private

◆ writeGeneralPurposeFlag()

void ZipHandler::writeGeneralPurposeFlag ( unsigned char * buf) const
private

Friends And Related Symbol Documentation

◆ MultiArchiveUnZipper

friend class MultiArchiveUnZipper
friend

◆ UnZipper

friend class UnZipper
friend

◆ Zipper

friend class Zipper
friend

◆ ZipUtils

friend class ZipUtils
friend

Member Data Documentation

◆ allfilenames_

BufferStringSet ZipHandler::allfilenames_
private

◆ basepath_

FilePath ZipHandler::basepath_
private

◆ complevel_

CompLevel ZipHandler::complevel_ = Normal
private

◆ cumulativefilecounts_

TypeSet<od_int64> ZipHandler::cumulativefilecounts_
private

◆ curfileidx_

int ZipHandler::curfileidx_ = 0
private

◆ curinputidx_

int ZipHandler::curinputidx_ = 0
private

◆ errormsg_

uiString ZipHandler::errormsg_
mutableprivate

◆ initialfilecount_

od_int64 ZipHandler::initialfilecount_ = 0
private

◆ istrm_

od_istream* ZipHandler::istrm_ = nullptr
private

◆ nrdonesize_

od_int64 ZipHandler::nrdonesize_ = mUdf(od_int64)
private

◆ offsetofcentraldir_

od_stream_Pos ZipHandler::offsetofcentraldir_ = 0
private

◆ ostrm_

od_ostream* ZipHandler::ostrm_ = nullptr
private

◆ totalsize_

od_int64 ZipHandler::totalsize_ = mUdf(od_int64)
private

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2025