sio2_stream.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SIO2entry
struct  SIO2stream

Typedefs

typedef unsigned char (SIO2parsercallback(char *, char *, char *))

Functions

SIO2streamsio2StreamInit (char *)
SIO2streamsio2StreamOpen (char *, unsigned char)
SIO2streamsio2StreamOpenText (char *, unsigned char)
SIO2streamsio2StreamClose (SIO2stream *)
unsigned int sio2StreamRead (SIO2stream *, void *, unsigned int)
void * sio2StreamReadPtr (SIO2stream *, unsigned int)
unsigned char sio2StreamEOF (SIO2stream *)
void sio2StreamParse (SIO2stream *, unsigned int, SIO2entry *)
void sio2StreamReset (SIO2stream *)


Typedef Documentation

typedef unsigned char(SIO2parsercallback(char *, char *, char *))


Function Documentation

SIO2stream* sio2StreamClose ( SIO2stream _SIO2stream  ) 

Close and free and SIO2stream, if the SIO2stream still contain some data the data will be freed.

_SIO2stream: A valid SIO2stream pointer.

return a NULL SIO2stream pointer.

References SIO2stream::buf.

Referenced by sio2ResourceExtract(), sio2SoundBufferFree(), sio2SoundBufferGenId(), sio2UrlFree(), and sio2VideoFree().

unsigned char sio2StreamEOF ( SIO2stream _SIO2stream  ) 

Return whether or not the cursor is at the end of the SIO2stream.

_SIO2stream: A valid SIO2stream pointer.

return 1 or 0 if position in the SIO2stream is at the end of the stream.

References SIO2stream::pos, and SIO2stream::size.

Referenced by sio2VideoGetImage().

SIO2stream* sio2StreamInit ( char _fname  ) 

Initialize an empty new SIO2stream memory stream. A SIO2stream is basically acting exactly like a FILE *, at the exception that it is 100% handled in memory speeding up the whole loading process and reduces to a minimum disk access.

_fname: The name of the SIO2stream.

return a new SIO2stream pointer.

References SIO2stream::fname, and sio2StringCpy().

Referenced by sio2ResourceExtract(), and sio2UrlInit().

Here is the call graph for this function:

SIO2stream* sio2StreamOpen ( char _fname,
unsigned char  _rel 
)

Create a new SIO2stream and open the file passed in parameter.

_fname: The filename to open.
_rel: Determine wheter or not the file path is relative to the root of the package.

return a new SIO2stream pointer with the file loaded in the SIO2stream->buf. If the file cannot be found, a NULL SIO2stream pointer will be returned.

References SIO2::app_path, SIO2stream::buf, SIO2stream::cur, SIO2stream::fname, sio2, SIO2_MAX_PATH, sio2StringCpy(), and SIO2stream::size.

Referenced by sio2StreamOpenText().

Here is the call graph for this function:

SIO2stream* sio2StreamOpenText ( char _fname,
unsigned char  _rel 
)

Basically the same as sio2StreamOpen except that this function should be used for text files only. For binary data use sio2StreamOpen.

_fname: The filename to open.
_rel: Determine wheter or not the file path is relative to the root of the package.

return a new SIO2stream pointer with the file loaded in the SIO2stream->buf. If the file cannot be found, a NULL SIO2stream pointer will be returned.

References SIO2stream::buf, sio2StreamOpen(), and SIO2stream::size.

Here is the call graph for this function:

void sio2StreamParse ( SIO2stream _SIO2stream,
unsigned int  _n_entry,
SIO2entry _SIO2entry 
)

Parse the SIO2stream based on a dictionnary of SIO2entry, if the SIO2entry string is found the root callback will be called if not the custom callback will be called.

_SIO2stream: A valid SIO2stream pointer.
_n_entry: The number of entry in the SIO2entry dictionnary.
_SIO2entry: The dictionnary to use for parsing.

References SIO2stream::cur, SIO2entry::custom, SIO2entry::root, SIO2_MAX_CHAR, SIO2_MAX_PATH, sio2StringChr(), sio2StringCmp(), and sio2StringTok().

Referenced by sio2ResourceDispatchStream().

Here is the call graph for this function:

unsigned int sio2StreamRead ( SIO2stream _SIO2stream,
void *  _ptr,
unsigned int  _size_t 
)

Read a specific amount of bytes.

_SIO2stream: A valid SIO2stream pointer with the buffer loaded.
_ptr: Pointer to the memory address to copy the data to.
_size_t: The size of the data to copy.

return the number of bytes copied.

References SIO2stream::buf, SIO2stream::pos, and SIO2stream::size.

Referenced by sio2ImageLoadTGA(), sio2PngRead(), sio2VideoBufferStream(), and sio2VideoLoad().

void* sio2StreamReadPtr ( SIO2stream _SIO2stream,
unsigned int  _size_t 
)

Return the memory address specified by the size passed in parameter.

_SIO2stream: A valid SIO2stream pointer.
_size_t: The size in bytes to read.

return the memory address located in the SIO2stream->buf at the current position.

References SIO2stream::buf, SIO2stream::pos, and SIO2stream::size.

Referenced by sio2ImageLoadTGA().

void sio2StreamReset ( SIO2stream _SIO2stream  ) 

Reset all the SIO2stream to its original state, and free the buffer.

_SIO2stream: A valid SIO2stream pointer

References SIO2stream::buf, SIO2stream::cur, SIO2stream::pos, and SIO2stream::size.

Referenced by sio2UrlDownload().


Generated on Thu Mar 4 15:41:50 2010 for SIO2 Engine by  doxygen 1.5.6