Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::FileHandleDataStream Class Reference

Common subclass of DataStream for handling data from C-style file handles. More...

#include <OgreDataStream.h>

Inheritance diagram for Ogre::FileHandleDataStream:

Ogre::DataStream List of all members.

Public Member Functions

 FileHandleDataStream (FILE *handle)
 Create stream from a C file handle.

 FileHandleDataStream (const String &name, FILE *handle)
 Create named stream from a C file handle.

 ~FileHandleDataStream ()
size_t read (void *buf, size_t count)
 
Parameters:
buf Reference to a buffer pointer
count Number of bytes to read
Returns:
The number of bytes read


size_t readLine (char *buf, size_t maxCount, const String &delim="\n")
 
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.
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


size_t skipLine (const String &delim="\n")
 
Parameters:
delim The delimiter(s) to stop at
Returns:
The number of bytes skipped


void skip (long count)
 This can also be a negative value, in which case the file pointer rewinds a defined number of bytes.

void seek (size_t pos)
 

size_t tell (void) const
 

bool eof (void) const
 

void close (void)
 

const StringgetName (void)
 Returns the name of the stream, if it has one.

template<typename T> DataStreamoperator>> (T &val)
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.

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.


Protected Attributes

FILE * mFileHandle
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).

char mTmpArea [OGRE_STREAM_TEMP_SIZE]
 Temporary buffer area used for formatted read.


Detailed Description

Common subclass of DataStream for handling data from C-style file handles.

Remarks:
Use of this class is generally discouraged; if you want to wrap file access in a DataStream, you should definitely be using the C++ friendly FileStreamDataStream. However, since there are quite a few applications and libraries still wedded to the old FILE handle access, this stream wrapper provides some backwards compatibility.

Definition at line 397 of file OgreDataStream.h.


Constructor & Destructor Documentation

Ogre::FileHandleDataStream::FileHandleDataStream FILE *  handle  ) 
 

Create stream from a C file handle.

Ogre::FileHandleDataStream::FileHandleDataStream const String name,
FILE *  handle
 

Create named stream from a C file handle.

Ogre::FileHandleDataStream::~FileHandleDataStream  ) 
 


Member Function Documentation

void Ogre::FileHandleDataStream::close void   )  [virtual]
 

Implements Ogre::DataStream.

bool Ogre::FileHandleDataStream::eof void   )  const [virtual]
 

Implements Ogre::DataStream.

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 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.
Parameters:
trimAfter If true, the line is trimmed for whitespace (as in String.trim(true,true))

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

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

Definition at line 70 of file OgreDataStream.h.

References Ogre::String.

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

size_t Ogre::FileHandleDataStream::read void *  buf,
size_t  count
[virtual]
 

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

Implements Ogre::DataStream.

size_t Ogre::FileHandleDataStream::readLine char *  buf,
size_t  maxCount,
const String delim = "\n"
[virtual]
 

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.
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

Implements Ogre::DataStream.

void Ogre::FileHandleDataStream::seek size_t  pos  )  [virtual]
 

Implements Ogre::DataStream.

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

void Ogre::FileHandleDataStream::skip long  count  )  [virtual]
 

This can also be a negative value, in which case the file pointer rewinds a defined number of bytes.

Implements Ogre::DataStream.

size_t Ogre::FileHandleDataStream::skipLine const String delim = "\n"  )  [virtual]
 

Parameters:
delim The delimiter(s) to stop at
Returns:
The number of bytes skipped

Implements Ogre::DataStream.

size_t Ogre::FileHandleDataStream::tell void   )  const [virtual]
 

Implements Ogre::DataStream.


Member Data Documentation

FILE* Ogre::FileHandleDataStream::mFileHandle [protected]
 

Definition at line 400 of file OgreDataStream.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 58 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 60 of file OgreDataStream.h.

char Ogre::DataStream::mTmpArea[OGRE_STREAM_TEMP_SIZE] [protected, inherited]
 

Temporary buffer area used for formatted read.

Definition at line 63 of file OgreDataStream.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:00:19 2006