Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

TK_Material Class Reference

Handles the TKE_Material opcode. More...

#include <BOpcodeHandler.h>

List of all members.

Public Member Functions

TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status GetBlock (char const **ptr, int *buffer_size)
TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size=true)
TK_Status Read (BStreamFileToolkit &tk)
void Reset ()
 TK_Material ()
TK_Status Write (BStreamFileToolkit &tk)

Protected Attributes

struct vlist_s * m_data
int m_total_size
 the total size of the blind material data

Detailed Description

Handles the TKE_Material opcode.

To ensure that user data will be gracefully handled (skipped-over) by non-custom handlers (meaning, an application that is using the default toolkit and doesn't understand the custom user data), custom user data must be written out by exporting the following elements in order:

1. the TKE_Material opcode 2. the number of bytes of data that will follow 3. the contents of the material

The default implementation simply skips over these opcodes without any further processing.


Constructor & Destructor Documentation

TK_Material::TK_Material ( ) [inline]

constructor


Member Function Documentation

TK_Status TK_Material::Clone ( BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler 
) const [virtual]

Copies the opcode handler

Parameters:
tkA reference to the BStreamFileToolkit object.
handlerA pointer to the opcode handler object. Passed by reference.
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

TK_Status TK_Material::Read ( BStreamFileToolkit tk) [virtual]

Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

Parameters:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implements BBaseOpcodeHandler.

void TK_Material::Reset ( ) [virtual]

Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

Reimplemented from BBaseOpcodeHandler.

TK_Status TK_Material::Write ( BStreamFileToolkit tk) [virtual]

Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

Parameters:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implements BBaseOpcodeHandler.


Member Data Documentation

struct vlist_s* TK_Material::m_data [protected]

The internal blind data storage. The HMaterialLibrary will know how to generate or parse it. Since data is expected to be VERY large in some cases, we use a list of buffers rather than a flat array


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