CBZip2CompressionFile Class Reference
[Compression]

Search Toolkit Book for CBZip2CompressionFile

#include <bzip2.hpp>

Inheritance diagram for CBZip2CompressionFile:

Inheritance graph
[legend]
Collaboration diagram for CBZip2CompressionFile:

Collaboration graph
[legend]
List of all members.

Detailed Description

CBZip2CompressionFile class --.

Throw exceptions on critical errors.

Definition at line 239 of file bzip2.hpp.

Public Member Functions

 CBZip2CompressionFile (const string &file_name, EMode mode, ELevel level=eLevel_Default, int verbosity=0, int work_factor=0, int small_decompress=0)
 Constructor.
 CBZip2CompressionFile (ELevel level=eLevel_Default, int verbosity=0, int work_factor=0, int small_decompress=0)
 Conventional constructor.
 ~CBZip2CompressionFile (void)
 Destructor.
virtual bool Open (const string &file_name, EMode mode)
 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 Attributes

FILE * m_FileStream
 Underlying file stream.
bool m_EOF
 EOF flag for read mode.


Constructor & Destructor Documentation

CBZip2CompressionFile::CBZip2CompressionFile const string &  file_name,
EMode  mode,
ELevel  level = eLevel_Default,
int  verbosity = 0,
int  work_factor = 0,
int  small_decompress = 0
 

Constructor.

For a special parameters description see CBZip2Compression.

Definition at line 291 of file bzip2.cpp.

References CCompressionFile::eMode_Read, NCBI_THROW, and Open().

CBZip2CompressionFile::CBZip2CompressionFile ELevel  level = eLevel_Default,
int  verbosity = 0,
int  work_factor = 0,
int  small_decompress = 0
 

Conventional constructor.

For a special parameters description see CBZip2Compression.

Definition at line 307 of file bzip2.cpp.

CBZip2CompressionFile::~CBZip2CompressionFile void   ) 
 

Destructor.

Definition at line 316 of file bzip2.cpp.

References Close().


Member Function Documentation

bool CBZip2CompressionFile::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 410 of file bzip2.cpp.

References BZ2_bzReadClose(), BZ2_bzWriteClose(), BZ_OK, CCompressionFile::eMode_Read, ERR_COMPRESS, CBZip2Compression::FormatErrorMessage(), CBZip2Compression::GetBZip2ErrorDescription(), m_EOF, CCompressionFile::m_File, m_FileStream, CCompressionFile::m_Mode, and CCompression::SetError().

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

bool CBZip2CompressionFile::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:
CBZip2Compression, Read, Write, Close

Definition at line 323 of file bzip2.cpp.

References BZ2_bzReadOpen(), BZ2_bzWriteOpen(), BZ_OK, Close(), CCompressionFile::eMode_Read, CCompression::eMode_Unknown, ERR_COMPRESS, CBZip2Compression::FormatErrorMessage(), CBZip2Compression::GetBZip2ErrorDescription(), CBZip2Compression::GetLevel(), CCompression::m_DecompressMode, m_EOF, CCompressionFile::m_File, m_FileStream, CCompressionFile::m_Mode, CBZip2Compression::m_SmallDecompress, CBZip2Compression::m_Verbosity, CBZip2Compression::m_WorkFactor, and CCompression::SetError().

Referenced by CBZip2CompressionFile(), CBZip2Compression::CompressFile(), and CBZip2Compression::DecompressFile().

long CBZip2CompressionFile::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 352 of file bzip2.cpp.

References BZ2_bzRead(), BZ_DATA_ERROR, BZ_DATA_ERROR_MAGIC, BZ_OK, BZ_STREAM_END, CCompression::eMode_Decompress, CCompression::eMode_TransparentRead, CCompression::eMode_Unknown, ERR_COMPRESS, F_ISSET, CBZip2Compression::fAllowTransparentRead, CBZip2Compression::FormatErrorMessage(), CBZip2Compression::GetBZip2ErrorDescription(), LIMIT_SIZE_PARAM, CCompression::m_DecompressMode, m_EOF, CCompressionFile::m_File, m_FileStream, SEEK_SET, and CCompression::SetError().

long CBZip2CompressionFile::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 392 of file bzip2.cpp.

References BZ2_bzWrite(), BZ_OK, BZ_STREAM_END, ERR_COMPRESS, CBZip2Compression::FormatErrorMessage(), CBZip2Compression::GetBZip2ErrorDescription(), LIMIT_SIZE_PARAM, CCompressionFile::m_File, and CCompression::SetError().


Member Data Documentation

bool CBZip2CompressionFile::m_EOF [protected]
 

EOF flag for read mode.

Definition at line 318 of file bzip2.hpp.

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

FILE* CBZip2CompressionFile::m_FileStream [protected]
 

Underlying file stream.

Definition at line 317 of file bzip2.hpp.

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


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