Stream which compresses / uncompresses data using the 'deflate' compression algorithm. More...
#include <OgreDeflate.h>
Public Types | |
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. More... | |
DeflateStream (const String &name, const DataStreamPtr &compressedStream, const String &tmpFileName="", size_t avail_in=0) | |
Constructor for creating named stream wrapping another stream. More... | |
~DeflateStream () | |
void | close (void) |
Close the stream; this makes further operations invalid. More... | |
bool | eof (void) const |
Returns true if the stream has reached the end. More... | |
uint16 | getAccessMode () const |
Gets the access mode of the stream. More... | |
virtual String | getAsString (void) |
Returns a String containing the entire stream. More... | |
virtual String | getLine (bool trimAfter=true) |
Returns a String containing the next line of data, optionally trimmed for whitespace. More... | |
const String & | getName (void) |
Returns the name of the stream, if it has one. More... | |
bool | isCompressedStreamValid () const |
Returns whether the compressed stream is valid deflated data. More... | |
virtual bool | isReadable () const |
Reports whether this stream is readable. More... | |
virtual bool | isWriteable () const |
Reports whether this stream is writeable. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
template<typename T > | |
DataStream & | operator>> (T &val) |
size_t | read (void *buf, size_t count) |
Read the requisite number of bytes from the stream, stopping at the end of the file. More... | |
virtual size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") |
Get a single line from the stream. More... | |
void | seek (size_t pos) |
Repositions the read point to a specified byte. More... | |
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. More... | |
void | skip (long count) |
Skip a defined number of bytes. More... | |
virtual size_t | skipLine (const String &delim="\n") |
Skip a single line from the stream. More... | |
size_t | tell (void) const |
Returns the current byte offset from beginning. More... | |
size_t | write (const void *buf, size_t count) |
Write the requisite number of bytes from the stream (only applicable to streams that are not read-only) More... | |
Protected Member Functions | |
void | compressFinal () |
void | destroy () |
size_t | getAvailInForSinglePass () |
void | init () |
Protected Attributes | |
uint16 | mAccess |
What type of access is allowed (AccessMode) More... | |
size_t | mAvailIn |
DataStreamPtr | mCompressedStream |
size_t | mCurrentPos |
bool | mIsCompressedValid |
Whether the underlying stream is valid compressed data. More... | |
String | mName |
The name (e.g. resource name) that can be used to identify the source for this data (optional) More... | |
StaticCache < 16 *OGRE_STREAM_TEMP_SIZE > | mReadCache |
Cache for read data in case skipping around. More... | |
size_t | mSize |
Size of the data in the stream (may be 0 if size cannot be determined) More... | |
String | mTempFileName |
unsigned char * | mTmp |
Intermediate buffer for read / write. More... | |
DataStreamPtr | mTmpWriteStream |
z_stream * | mZStream |
Stream which compresses / uncompresses data using the 'deflate' compression algorithm.
Definition at line 55 of file OgreDeflate.h.
|
inherited |
Enumerator | |
---|---|
READ | |
WRITE |
Definition at line 179 of file OgreDataStream.h.
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 | ( | ) |
|
virtual |
Close the stream; this makes further operations invalid.
Implements Ogre::DataStream.
|
protected |
|
protected |
|
virtual |
Returns true if the stream has reached the end.
Implements Ogre::DataStream.
|
inlineinherited |
Gets the access mode of the stream.
Definition at line 202 of file OgreDataStream.h.
|
virtualinherited |
Returns a String containing the entire stream.
|
protected |
|
virtualinherited |
Returns a String containing the next line of data, optionally trimmed for whitespace.
trimAfter | If true, the line is trimmed for whitespace (as in String.trim(true,true)) |
|
inlineinherited |
Returns the name of the stream, if it has one.
Definition at line 200 of file OgreDataStream.h.
|
protected |
|
inline |
Returns whether the compressed stream is valid deflated data.
Definition at line 108 of file OgreDeflate.h.
|
inlinevirtualinherited |
Reports whether this stream is readable.
Definition at line 204 of file OgreDataStream.h.
|
inlinevirtualinherited |
Reports whether this stream is writeable.
Definition at line 206 of file OgreDataStream.h.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
|
virtual |
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.
|
virtualinherited |
Get a single line from the stream.
buf | Reference to a buffer pointer |
maxCount | The maximum length of data to be read, excluding the terminating character |
delim | The delimiter to stop at |
Reimplemented in Ogre::FileStreamDataStream, and Ogre::MemoryDataStream.
|
virtual |
Repositions the read point to a specified byte.
Implements Ogre::DataStream.
|
inlineinherited |
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream.
Definition at line 297 of file OgreDataStream.h.
|
virtual |
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.
|
virtualinherited |
Skip a single line from the stream.
delim | The delimiter(s) to stop at |
Reimplemented in Ogre::MemoryDataStream.
|
virtual |
Returns the current byte offset from beginning.
Implements Ogre::DataStream.
|
virtual |
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.
|
protectedinherited |
What type of access is allowed (AccessMode)
Definition at line 190 of file OgreDataStream.h.
|
protected |
Definition at line 63 of file OgreDeflate.h.
|
protected |
Definition at line 58 of file OgreDeflate.h.
|
protected |
Definition at line 62 of file OgreDeflate.h.
|
protected |
Whether the underlying stream is valid compressed data.
Definition at line 72 of file OgreDeflate.h.
|
protectedinherited |
The name (e.g. resource name) that can be used to identify the source for this data (optional)
Definition at line 186 of file OgreDataStream.h.
|
protected |
Cache for read data in case skipping around.
Definition at line 66 of file OgreDeflate.h.
|
protectedinherited |
Size of the data in the stream (may be 0 if size cannot be determined)
Definition at line 188 of file OgreDataStream.h.
|
protected |
Definition at line 60 of file OgreDeflate.h.
|
protected |
Intermediate buffer for read / write.
Definition at line 69 of file OgreDeflate.h.
|
protected |
Definition at line 59 of file OgreDeflate.h.
|
protected |
Definition at line 61 of file OgreDeflate.h.