Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

FileIO::SaveC Class Reference

Demopaja output stream. More...

#include <SaveC.h>

List of all members.

Public Methods


Detailed Description

Demopaja output stream.

SaveC is used to save the information in Demopaja into a chunk based file format. The data in the output stream is serialized in chunk based format. Each begin_chunk() call should be closed with a call to the end_chunk() method.

This class is implemented by the system.

Example of save() method of an effect class:

        uint32
        TestEffectC::save( SaveC* pSave )
        {
            uint32  ui32Error = IO_OK;

            // EffectI stuff
            pSave->begin_chunk( CHUNK_TESTEFFECT_BASE, TESTEFFECT_VERSION );
                ui32Error = EffectI::save( pSave );
            pSave->end_chunk();

            // Save transform gizmo
            pSave->begin_chunk( CHUNK_TESTEFFECT_TRANSGIZMO, TESTEFFECT_VERSION );
                ui32Error = m_pTransGizmo->save( pSave );
            pSave->end_chunk();

            // Save attribute gizmo
            pSave->begin_chunk( CHUNK_TESTEFFECT_ATTRIBGIZMO, TESTEFFECT_VERSION );
                ui32Error = m_pAttribGizmo->save( pSave );
            pSave->end_chunk();

            return ui32Error;
        }

See also:
LoadC


Constructor & Destructor Documentation

SaveC ( )
 

Default constructor.

~SaveC ( ) [virtual]
 

Default destructor.


Member Function Documentation

PajaTypes::uint32 begin_chunk ( PajaTypes::uint32 ui32ID,
PajaTypes::uint32 ui32Version ) [virtual]
 

Begins a chunk a data.

Parameters:
ui32ID   ID of the chunk.
ui32Version   Version of the chunk.
Returns:
IO_OK if everything went ok, error otherwise.

The versionin of chunks enables to easy modification to the format of the stored data in the file. The ID and Version info are available when the chunk is read back from the file.

Example:

            ...
            // Begin new chunk of data.
            pSave->begin_chunk( CHUNK_TGAIMPORT_NAME, TGAIMPORT_VERSION );
                // Write data to a chunk.
                sStr = m_sFileName;
                if( sStr.size() > 255 )
                    sStr.resize( 255 );
                ui32Error = pSave->write_str( sStr.c_str() );
            // Close data chunk.
            pSave->end_chunk();
            ...

PajaTypes::uint32 close ( ) [virtual]
 

Flushes all buffers and closes output stream.

PajaTypes::uint32 end_chunk ( ) [virtual]
 

Closes a chunk.

Calls to this method are hierarchial. There can be many chunks open at the same time. The chunk opened by the last call to begin_chunck() is closed.

Returns:
IO_OK if everything went ok, error otherwise.

PajaTypes::uint32 get_error ( ) [virtual]
 

Returns current error code.

PajaTypes::uint32 open ( const char * szName,
const PajaTypes::int8 * pSignature,
PajaTypes::int32 i32SignatureSize ) [virtual]
 

Opens output stream.

See FileIOErrorsE for more information on the error codes.

Parameters:
szName   NULL terminated name of the output file.
pSignature   pointer to array of bytes describing the signature of the file.
length   of the signature in bytes.

Returns:
IO_OK if everything went ok, error otherwise.

PajaTypes::uint32 write ( const void * pBuffer,
PajaTypes::uint32 ui32Len ) [virtual]
 

Writes a buffer to the stream.

Parameters:
pBuffer   pointer to the buffer containing all the data.
ui32Len   length of the buffer in bytes.
Returns:
IO_OK if everything went ok, error otherwise.

PajaTypes::uint32 write_str ( const char * szStr ) [virtual]
 

Writes string to the stream.

Returns:
IO_OK if everything went ok, error otherwise.


The documentation for this class was generated from the following file:
Moppi Demopaja SDK Documentation -- Copyright © 2000 Moppi Productions