OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Stream which compresses / uncompresses data using the 'deflate' compression algorithm. More...
#include <OgreDeflate.h>
Public Types | |
enum | StreamType { Invalid = -1 , Deflate = 0 , ZLib = 1 , GZip = 2 } |
Requested stream type. More... | |
Public Types inherited from Ogre::DataStream | |
enum | AccessMode { READ = 1 , WRITE = 2 } |
Public Member Functions | |
DeflateStream (const DataStreamPtr &compressedStream, const String &tmpFileName="", size_t avail_in=0) | |
Constructor for creating unnamed stream wrapping another stream. | |
DeflateStream (const String &name, const DataStreamPtr &compressedStream, const String &tmpFileName="", size_t avail_in=0) | |
Constructor for creating named stream wrapping another stream. | |
DeflateStream (const String &name, const DataStreamPtr &compressedStream, StreamType streamType, const String &tmpFileName="", size_t avail_in=0) | |
Constructor for creating named stream wrapping another stream. | |
~DeflateStream () | |
void | close (void) override |
Close the stream; this makes further operations invalid. | |
bool | eof (void) const override |
Returns true if the stream has reached the end. | |
bool | isCompressedStreamValid () const |
Returns whether the compressed stream is valid deflated data. | |
size_t | read (void *buf, size_t count) override |
Read the requisite number of bytes from the stream, stopping at the end of the file. | |
void | seek (size_t pos) override |
Repositions the read point to a specified byte. | |
void | skip (long count) override |
Skip a defined number of bytes. | |
size_t | tell (void) const override |
Returns the current byte offset from beginning. | |
size_t | write (const void *buf, size_t count) override |
Write the requisite number of bytes from the stream (only applicable to streams that are not read-only) | |
Public Member Functions inherited from Ogre::DataStream | |
DataStream (const String &name, uint16 accessMode=READ) | |
Constructor for creating named streams. | |
DataStream (uint16 accessMode=READ) | |
Constructor for creating unnamed streams. | |
virtual | ~DataStream () |
uint16 | getAccessMode () const |
Gets the access mode of the stream. | |
virtual String | getAsString (void) |
Returns a String containing the entire stream. | |
virtual String | getLine (bool trimAfter=true) |
Returns a String containing the next line of data, optionally trimmed for whitespace. | |
const String & | getName (void) |
Returns the name of the stream, if it has one. | |
virtual bool | isReadable () const |
Reports whether this stream is readable. | |
virtual bool | isWriteable () const |
Reports whether this stream is writeable. | |
template<typename T > | |
DataStream & | operator>> (T &val) |
virtual size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") |
Get a single line from the stream. | |
size_t | size (void) const |
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. | |
virtual size_t | skipLine (const String &delim="\n") |
Skip a single line from the stream. | |
Stream which compresses / uncompresses data using the 'deflate' compression algorithm.
This stream is designed to wrap another stream for the actual source / destination of the compressed data, it has no concrete source / data itself. The idea is that you pass uncompressed data through this stream, and the underlying stream reads/writes compressed data to the final source.
Ogre::DeflateStream::DeflateStream | ( | const DataStreamPtr & | compressedStream, |
const String & | tmpFileName = "" , |
||
size_t | avail_in = 0 |
||
) |
Constructor for creating unnamed stream wrapping another stream.
compressedStream | The stream that this stream will use when reading / writing compressed data. The access mode from this stream will be matched. |
tmpFileName | Path/Filename to be used for temporary storage of incoming data |
avail_in | Available data length to be uncompressed. With it we can uncompress DataStream partly. |
Ogre::DeflateStream::DeflateStream | ( | const String & | name, |
const DataStreamPtr & | compressedStream, | ||
const String & | tmpFileName = "" , |
||
size_t | avail_in = 0 |
||
) |
Constructor for creating named stream wrapping another stream.
name | The name to give this stream |
compressedStream | The stream that this stream will use when reading / writing compressed data. The access mode from this stream will be matched. |
tmpFileName | Path/Filename to be used for temporary storage of incoming data |
avail_in | Available data length to be uncompressed. With it we can uncompress DataStream partly. |
Ogre::DeflateStream::DeflateStream | ( | const String & | name, |
const DataStreamPtr & | compressedStream, | ||
StreamType | streamType, | ||
const String & | tmpFileName = "" , |
||
size_t | avail_in = 0 |
||
) |
Constructor for creating named stream wrapping another stream.
name | The name to give this stream |
compressedStream | The stream that this stream will use when reading / writing compressed data. The access mode from this stream will be matched. |
streamType | The type of compressed stream |
tmpFileName | Path/Filename to be used for temporary storage of incoming data |
avail_in | Available data length to be uncompressed. With it we can uncompress DataStream partly. |
Ogre::DeflateStream::~DeflateStream | ( | ) |
|
inline |
Returns whether the compressed stream is valid deflated data.
If you pass this class a READ stream which is not compressed with the deflate algorithm, this method returns false and all read commands will actually be executed as passthroughs as a fallback.
Read the requisite number of bytes from the stream, stopping at the end of the file.
buf | Reference to a buffer pointer |
count | Number of bytes to read |
Implements Ogre::DataStream.
Write the requisite number of bytes from the stream (only applicable to streams that are not read-only)
buf | Pointer to a buffer containing the bytes to write |
count | Number of bytes to write |
Reimplemented from Ogre::DataStream.
Skip a defined number of bytes.
This can also be a negative value, in which case the file pointer rewinds a defined number of bytes.
Implements Ogre::DataStream.
Repositions the read point to a specified byte.
Implements Ogre::DataStream.
Returns the current byte offset from beginning.
Implements Ogre::DataStream.
Returns true if the stream has reached the end.
Implements Ogre::DataStream.
Close the stream; this makes further operations invalid.
Implements Ogre::DataStream.