Ogre::ZipDataStream Class Reference

Specialisation of DataStream to handle streaming data from zip archives. More...

#include <OgreZip.h>

Inheritance diagram for Ogre::ZipDataStream:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 ZipDataStream (ZZIP_FILE *zzipFile, size_t uncompressedSize)
 Unnamed constructor.
 ZipDataStream (const String &name, ZZIP_FILE *zzipFile, size_t uncompressedSize)
 Constructor for creating named streams.
 ~ZipDataStream ()
size_t read (void *buf, size_t count)
 Read the requisite number of bytes from the stream, stopping at the end of the file.

Parameters:
buf Reference to a buffer pointer
count Number of bytes to read
Returns:
The number of bytes read

void skip (long count)
 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.

void seek (size_t pos)
 Repositions the read point to a specified byte.
size_t tell (void) const
 Repositions the read point to a specified byte.
bool eof (void) const
 Returns true if the stream has reached the end.
void close (void)
 Close the stream; this makes further operations invalid.
const StringgetName (void)
 Returns the name of the stream, if it has one.
template<typename T>
DataStreamoperator>> (T &val)
virtual size_t readLine (char *buf, size_t maxCount, const String &delim="\n")
 Get a single line from the stream.
virtual String getLine (bool trimAfter=true)
 Returns a String containing the next line of data, optionally trimmed for whitespace.
virtual String getAsString (void)
 Returns a String containing the entire stream.
virtual size_t skipLine (const String &delim="\n")
 Skip 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.
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
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 *)

Protected Attributes

ZZIP_FILEmZzipFile
String mName
 The name (e.g. resource name) that can be used to identify the source fot his data (optional).
size_t mSize
 Size of the data in the stream (may be 0 if size cannot be determined).


Detailed Description

Specialisation of DataStream to handle streaming data from zip archives.

Definition at line 110 of file OgreZip.h.


Constructor & Destructor Documentation

Ogre::ZipDataStream::ZipDataStream ( ZZIP_FILE zzipFile,
size_t  uncompressedSize 
)

Unnamed constructor.

Ogre::ZipDataStream::ZipDataStream ( const String name,
ZZIP_FILE zzipFile,
size_t  uncompressedSize 
)

Constructor for creating named streams.

Ogre::ZipDataStream::~ZipDataStream (  ) 


Member Function Documentation

size_t Ogre::ZipDataStream::read ( void *  buf,
size_t  count 
) [virtual]

Read the requisite number of bytes from the stream, stopping at the end of the file.

Parameters:
buf Reference to a buffer pointer
count Number of bytes to read
Returns:
The number of bytes read

Implements Ogre::DataStream.

void Ogre::ZipDataStream::skip ( long  count  )  [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.

void Ogre::ZipDataStream::seek ( size_t  pos  )  [virtual]

Repositions the read point to a specified byte.

Implements Ogre::DataStream.

size_t Ogre::ZipDataStream::tell ( void   )  const [virtual]

Repositions the read point to a specified byte.

Implements Ogre::DataStream.

bool Ogre::ZipDataStream::eof ( void   )  const [virtual]

Returns true if the stream has reached the end.

Implements Ogre::DataStream.

void Ogre::ZipDataStream::close ( void   )  [virtual]

Close the stream; this makes further operations invalid.

Implements Ogre::DataStream.

const String& Ogre::DataStream::getName ( void   )  [inherited]

Returns the name of the stream, if it has one.

Definition at line 72 of file OgreDataStream.h.

template<typename T>
DataStream& Ogre::DataStream::operator>> ( T &  val  )  [inherited]

virtual size_t Ogre::DataStream::readLine ( char *  buf,
size_t  maxCount,
const String delim = "\n" 
) [virtual, inherited]

Get a single line from the stream.

Remarks:
The delimiter character is not included in the data returned, and it is skipped over so the next read will occur after it. The buffer contents will include a terminating character.
Note:
If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
Parameters:
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
Returns:
The number of bytes read, excluding the terminating character

Reimplemented in Ogre::MemoryDataStream, and Ogre::FileStreamDataStream.

virtual String Ogre::DataStream::getLine ( bool  trimAfter = true  )  [virtual, inherited]

Returns a String containing the next line of data, optionally trimmed for whitespace.

Remarks:
This is a convenience method for text streams only, allowing you to retrieve a String object containing the next line of data. The data is read up to the next newline character and the result trimmed if required.
Note:
If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
Parameters:
trimAfter If true, the line is trimmed for whitespace (as in String.trim(true,true))

virtual String Ogre::DataStream::getAsString ( void   )  [virtual, inherited]

Returns a String containing the entire stream.

Remarks:
This is a convenience method for text streams only, allowing you to retrieve a String object containing all the data in the stream.

virtual size_t Ogre::DataStream::skipLine ( const String delim = "\n"  )  [virtual, inherited]

Skip a single line from the stream.

Note:
If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results.
Parameters:
delim The delimiter(s) to stop at
Returns:
The number of bytes skipped

Reimplemented in Ogre::MemoryDataStream.

size_t Ogre::DataStream::size ( void   )  const [inherited]

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 149 of file OgreDataStream.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz  )  [inherited]

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz  )  [inherited]

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr  )  [inherited]

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr  )  [inherited]

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 112 of file OgreMemoryAllocatedObject.h.


Member Data Documentation

Definition at line 113 of file OgreZip.h.

String Ogre::DataStream::mName [protected, inherited]

The name (e.g. resource name) that can be used to identify the source fot his data (optional).

Definition at line 62 of file OgreDataStream.h.

size_t Ogre::DataStream::mSize [protected, inherited]

Size of the data in the stream (may be 0 if size cannot be determined).

Definition at line 64 of file OgreDataStream.h.


The documentation for this class was generated from the following file:

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:08:35 2009