Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | List of all members
om::resources::ResourceSetTranscoderTemplate< DataType > Class Template Reference

A class that encodes and decodes a simple type to/from the resource set format. More...

#include <omResourceSetTranscoderTemplate.h>

Inheritance diagram for om::resources::ResourceSetTranscoderTemplate< DataType >:
om::resources::ResourceSetTypeTranscoder< DataType >

Public Member Functions

virtual Bool encode (const ResourceID &resourceID, const DataType &data, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager=((void *) 0))
 Encode an object of this resource type into a binary format. More...
 
virtual DataType * decode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager=((void *) 0))
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
template<>
Bool encode (const ResourceID &resourceID, const data::String &string, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager)
 
template<>
data::Stringdecode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager)
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
template<>
Bool encode (const ResourceID &resourceID, const data::UTF8String &string, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager)
 
template<>
data::UTF8Stringdecode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager)
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
template<>
Bool encode (const ResourceID &resourceID, const data::UTF16String &string, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager)
 
template<>
data::UTF16Stringdecode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager)
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
template<>
Bool encode (const ResourceID &resourceID, const data::UTF32String &string, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager)
 
template<>
data::UTF32Stringdecode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager)
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
template<>
Bool encode (const ResourceID &resourceID, const data::Data &data, const ResourceSet &resources, ResourceEncoder &encoder, ResourceManager *resourceManager)
 
template<>
data::Datadecode (ResourceID &resourceID, ResourceDecoder &decoder, ResourceReferencePatcher &references, ResourceManager *resourceManager)
 Decode an object of the resource type, constructing and returning a pointer to the final object. More...
 
- Public Member Functions inherited from om::resources::ResourceSetTypeTranscoder< DataType >
virtual ~ResourceSetTypeTranscoder ()
 Destroy the resource type transcoder, releasing internal resources. More...
 
const ResourceTypegetResourceType () const
 Return the resource type for the data type that this resource type handles. More...
 
virtual void patchReferences (const ResourceReference *references, Size numReferences, const ResourceSet &resources, DataType &data)
 Patch the specified array of references for a previously-decoded object from the given set of resources. More...
 
virtual void finalize (DataType &data)
 Finish loading an object and perform final initialization after all references have been patched. More...
 
virtual DataType * instance (const DataType &data, const ResourceSetTranscoder &transcoder, ResourceSet &resources) const
 Duplicate an object from a prototype and return a pointer to the new object. More...
 
virtual void replaceInstances (DataType &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources) const
 Replace child object instances on a new prototype component. More...
 
virtual Bool findInstances (const DataType &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder) const
 Return whether or not any child objects were instanced by a prototype. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from om::resources::ResourceSetTypeTranscoder< DataType >
template<typename InstanceType >
static InstanceType * replaceInstance (InstanceType *data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources)
 
static OpaqueResource replaceInstance (const OpaqueResource &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources)
 
static void * replaceInstance (void *data, const ResourceType &dataType, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder, ResourceSet &resources)
 
template<typename InstanceType >
static Bool findInstance (InstanceType *data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder)
 
static Bool findInstance (const OpaqueResource &data, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder)
 
static Bool findInstance (void *data, const ResourceType &dataType, const Prototype &prototype, const Prototype &instance, const ResourceSetTranscoder &transcoder)
 

Detailed Description

template<typename DataType>
class om::resources::ResourceSetTranscoderTemplate< DataType >

A class that encodes and decodes a simple type to/from the resource set format.

The class's encode and decode methods can be specialized for specific types.

The standard template can be used for primitive and vector/matrix types.

Member Function Documentation

template<typename DataType >
virtual Bool om::resources::ResourceSetTranscoderTemplate< DataType >::encode ( const ResourceID resourceID,
const DataType &  data,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager = ((void *)0) 
)
inlinevirtual

Encode an object of this resource type into a binary format.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<typename DataType >
virtual DataType* om::resources::ResourceSetTranscoderTemplate< DataType >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager = ((void *)0) 
)
inlinevirtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<>
Bool om::resources::ResourceSetTranscoderTemplate< data::String >::encode ( const ResourceID resourceID,
const data::String string,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager 
)
template<>
data::String * om::resources::ResourceSetTranscoderTemplate< data::String >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager 
)
virtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<>
Bool om::resources::ResourceSetTranscoderTemplate< data::UTF8String >::encode ( const ResourceID resourceID,
const data::UTF8String string,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager 
)
template<>
data::UTF8String * om::resources::ResourceSetTranscoderTemplate< data::UTF8String >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager 
)
virtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<>
Bool om::resources::ResourceSetTranscoderTemplate< data::UTF16String >::encode ( const ResourceID resourceID,
const data::UTF16String string,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager 
)
template<>
data::UTF16String * om::resources::ResourceSetTranscoderTemplate< data::UTF16String >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager 
)
virtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<>
Bool om::resources::ResourceSetTranscoderTemplate< data::UTF32String >::encode ( const ResourceID resourceID,
const data::UTF32String string,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager 
)
template<>
data::UTF32String * om::resources::ResourceSetTranscoderTemplate< data::UTF32String >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager 
)
virtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.

template<>
Bool om::resources::ResourceSetTranscoderTemplate< data::Data >::encode ( const ResourceID resourceID,
const data::Data data,
const ResourceSet resources,
ResourceEncoder encoder,
ResourceManager resourceManager 
)
template<>
data::Data * om::resources::ResourceSetTranscoderTemplate< data::Data >::decode ( ResourceID resourceID,
ResourceDecoder decoder,
ResourceReferencePatcher references,
ResourceManager resourceManager 
)
virtual

Decode an object of the resource type, constructing and returning a pointer to the final object.

Implements om::resources::ResourceSetTypeTranscoder< DataType >.


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