CZipCompressionFile Class Reference
[Compression]

Search Toolkit Book for CZipCompressionFile

#include <zlib.hpp>

Inheritance diagram for CZipCompressionFile:

Inheritance graph
[legend]
Collaboration diagram for CZipCompressionFile:

Collaboration graph
[legend]
List of all members.

Detailed Description

CZipCompressionFile --.

Allow read/write operations on files in zlib or gzip (.gz) formats. Throw exceptions on critical errors.

Definition at line 349 of file zlib.hpp.

Public Member Functions

 CZipCompressionFile (const string &file_name, EMode mode, ELevel level=eLevel_Default, int window_bits=kZlibDefaultWbits, int mem_level=kZlibDefaultMemLevel, int strategy=kZlibDefaultStrategy)
 Constructor.
 CZipCompressionFile (ELevel level=eLevel_Default, int window_bits=kZlibDefaultWbits, int mem_level=kZlibDefaultMemLevel, int strategy=kZlibDefaultStrategy)
 Conventional constructor.
 ~CZipCompressionFile (void)
 Destructor.
virtual bool Open (const string &file_name, EMode mode)
 Opens a compressed file for reading or writing.
virtual bool Open (const string &file_name, EMode mode, SFileInfo *info)
 Opens a compressed file for reading or writing.
virtual long Read (void *buf, size_t len)
 Read data from compressed file.
virtual long Write (const void *buf, size_t len)
 Write data to compressed file.
virtual bool Close (void)
 Close compressed file.

Protected Member Functions

void GetStreamError (void)
 Get error code/description of last stream operation (m_Stream).

Protected Attributes

EMode m_Mode
 I/O mode (read/write).
CNcbiFstreamm_File
 File stream.
CCompressionIOStreamm_Stream
 [De]comression stream.


Constructor & Destructor Documentation

CZipCompressionFile::CZipCompressionFile const string &  file_name,
EMode  mode,
ELevel  level = eLevel_Default,
int  window_bits = kZlibDefaultWbits,
int  mem_level = kZlibDefaultMemLevel,
int  strategy = kZlibDefaultStrategy
 

Constructor.

For a special parameters description see CZipCompression.

Definition at line 660 of file zlib.cpp.

References CCompressionFile::eMode_Read, CZipCompression::fGZip, CCompression::GetFlags(), NCBI_THROW, Open(), and CCompression::SetFlags().

CZipCompressionFile::CZipCompressionFile ELevel  level = eLevel_Default,
int  window_bits = kZlibDefaultWbits,
int  mem_level = kZlibDefaultMemLevel,
int  strategy = kZlibDefaultStrategy
 

Conventional constructor.

For a special parameters description see CZipCompression.

Definition at line 679 of file zlib.cpp.

References CZipCompression::fGZip, CCompression::GetFlags(), and CCompression::SetFlags().

CZipCompressionFile::~CZipCompressionFile void   ) 
 

Destructor.

Definition at line 690 of file zlib.cpp.

References Close().


Member Function Documentation

bool CZipCompressionFile::Close void   )  [virtual]
 

Close compressed file.

Flushes all pending output if necessary, closes the compressed file.

Returns:
TRUE on success, FALSE on error.
See also:
Open, Read, Write

Implements CCompressionFile.

Definition at line 835 of file zlib.cpp.

References CCompressionStream::Finalize(), GetStreamError(), m_File, and m_Stream.

Referenced by Open(), and ~CZipCompressionFile().

void CZipCompressionFile::GetStreamError void   )  [protected]
 

Get error code/description of last stream operation (m_Stream).

It can be received using GetErrorCode()/GetErrorDescription() methods.

Definition at line 697 of file zlib.cpp.

References CCompressionStream::eRead, CCompressionIOStream::GetError(), m_Stream, and CCompression::SetError().

Referenced by Close().

bool CZipCompressionFile::Open const string &  file_name,
EMode  mode,
SFileInfo *  info
[virtual]
 

Opens a compressed file for reading or writing.

Do the same as standard Open(), but can also get/set file info.

Parameters:
file_name File name of the file to open.
mode File open mode.
info Pointer to file information structure. If it is not NULL, that it will be used to get information about compressed file in the read mode, and set it in the write mode for gzip files.
Returns:
TRUE if file was opened succesfully or FALSE otherwise.
See also:
CZipCompression, Read, Write, Close

Definition at line 713 of file zlib.cpp.

References Close(), CCompressionFile::eMode_Read, m_File, m_Mode, out(), and CCompression::SetError().

bool CZipCompressionFile::Open const string &  file_name,
EMode  mode
[virtual]
 

Opens a compressed file for reading or writing.

Parameters:
file_name File name of the file to open.
mode File open mode.
Returns:
TRUE if file was opened succesfully or FALSE otherwise.
See also:
CZipCompression, Read, Write, Close

Definition at line 707 of file zlib.cpp.

Referenced by CZipCompression::CompressFile(), CZipCompressionFile(), CZipCompression::DecompressFile(), and CZipCompression::DecompressFileIntoDir().

long CZipCompressionFile::Read void *  buf,
size_t  len
[virtual]
 

Read data from compressed file.

Read up to "len" uncompressed bytes from the compressed file "file" into the buffer "buf".

Parameters:
buf Buffer for requested data.
len Number of bytes to read.
Returns:
Number of bytes actually read (0 for end of file, -1 for error). The number of really readed bytes can be less than requested.
See also:
Open, Write, Close

Implements CCompressionFile.

Definition at line 784 of file zlib.cpp.

References CCompressionFile::eMode_Read, LIMIT_SIZE_PARAM_U, m_Mode, m_Stream, and NCBI_THROW.

long CZipCompressionFile::Write const void *  buf,
size_t  len
[virtual]
 

Write data to compressed file.

Writes the given number of uncompressed bytes from the buffer into the compressed file.

Parameters:
buf Buffer with written data.
len Number of bytes to write.
Returns:
Number of bytes actually written or -1 for error.
See also:
Open, Read, Close

Implements CCompressionFile.

Definition at line 814 of file zlib.cpp.

References CCompressionFile::eMode_Write, LIMIT_SIZE_PARAM_U, m_Mode, m_Stream, and NCBI_THROW.


Member Data Documentation

CNcbiFstream* CZipCompressionFile::m_File [protected]
 

File stream.

Reimplemented from CCompressionFile.

Definition at line 449 of file zlib.hpp.

Referenced by Close(), and Open().

EMode CZipCompressionFile::m_Mode [protected]
 

I/O mode (read/write).

Reimplemented from CCompressionFile.

Definition at line 448 of file zlib.hpp.

Referenced by Open(), Read(), and Write().

CCompressionIOStream* CZipCompressionFile::m_Stream [protected]
 

[De]comression stream.

Reimplemented from CZipCompression.

Definition at line 450 of file zlib.hpp.

Referenced by Close(), GetStreamError(), Read(), and Write().


The documentation for this class was generated from the following files:
Generated on Wed Dec 9 08:12:35 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:20:12 2009 by modify_doxy.py rev. 173732