Interface class for serializer-deserializer of NvParameterized objects. More...
#include <NvSerializer.h>
Classes | |
class | DeserializedResults |
TODO. More... | |
struct | MetadataEntry |
This class keeps metadata of a single NvParameterized class. More... | |
Public Types | |
enum | ErrorType { ERROR_NONE = 0, ERROR_UNKNOWN, ERROR_NOT_IMPLEMENTED, ERROR_INVALID_PLATFORM, ERROR_INVALID_PLATFORM_NAME, ERROR_INVALID_FILE_VERSION, ERROR_INVALID_FILE_FORMAT, ERROR_INVALID_MAGIC, ERROR_INVALID_CHAR, ERROR_STREAM_ERROR, ERROR_MEMORY_ALLOCATION_FAILURE, ERROR_UNALIGNED_MEMORY, ERROR_PRESERIALIZE_FAILED, ERROR_INTERNAL_BUFFER_OVERFLOW, ERROR_OBJECT_CREATION_FAILED, ERROR_CONVERSION_FAILED, ERROR_VAL2STRING_FAILED, ERROR_STRING2VAL_FAILED, ERROR_INVALID_TYPE_ATTRIBUTE, ERROR_UNKNOWN_XML_TAG, ERROR_MISSING_DOCTYPE, ERROR_MISSING_ROOT_ELEMENT, ERROR_INVALID_NESTING, ERROR_INVALID_ATTR, ERROR_INVALID_ARRAY, ERROR_ARRAY_INDEX_OUT_OF_RANGE, ERROR_INVALID_VALUE, ERROR_INVALID_INTERNAL_PTR, ERROR_INVALID_PARAM_HANDLE, ERROR_INVALID_RELOC_TYPE, ERROR_INVALID_DATA_TYPE, ERROR_INVALID_REFERENCE } |
Status enums that the Serializer methods may return. | |
enum | SerializeType { NST_XML = 0, NST_BINARY, NST_LAST } |
The supported serialization formats. More... | |
typedef DeserializedResults < ::NvParameterized::Interface * > | DeserializedData |
Container for results of deserialization. | |
typedef DeserializedResults < MetadataEntry > | DeserializedMetadata |
Container for results of metadata deserialization. | |
Public Member Functions | |
virtual ErrorType | setTargetPlatform (const SerializePlatform &platform)=0 |
Set platform to use in platform-dependent serialization. | |
virtual void | setAutoUpdate (bool doUpdate)=0 |
Sets whether serializer will automatically update objects after deserialization. | |
virtual ErrorType | serialize (physx::general_PxIOStream2::PxFileBuf &stream, const ::NvParameterized::Interface **objs, uint32_t nobjs, bool doSerializeMetadata=false)=0 |
Serialize array of NvParameterized-objects to a stream. | |
virtual ErrorType | peekNumObjects (physx::general_PxIOStream2::PxFileBuf &stream, uint32_t &numObjects)=0 |
Peek number of NvParameterized-objects in stream with serialized data. | |
virtual ErrorType | peekClassNames (physx::general_PxIOStream2::PxFileBuf &stream, char **classNames, uint32_t &numClassNames)=0 |
Peek number of NvParameterized-objects in stream with serialized data. | |
virtual ErrorType | peekNumObjectsInplace (const void *data, uint32_t dataLen, uint32_t &numObjects)=0 |
Peek number of NvParameterized-objects in memory buffer with serialized data. | |
virtual ErrorType | deserializeMetadata (physx::general_PxIOStream2::PxFileBuf &stream, DeserializedMetadata &desData) |
Deserialize metadata from a stream into one or more definitions. | |
virtual ErrorType | deserialize (physx::general_PxIOStream2::PxFileBuf &stream, DeserializedData &desData) |
Deserialize a stream into one or more NvParameterized objects. | |
virtual ErrorType | deserialize (physx::general_PxIOStream2::PxFileBuf &stream, DeserializedData &desData, bool &isUpdated)=0 |
Deserialize a stream into one or more NvParameterized objects. | |
virtual ErrorType | deserializeInplace (void *data, uint32_t dataLen, DeserializedData &desData) |
Deserialize memory buffer into one or more NvParameterized objects. | |
virtual ErrorType | deserializeInplace (void *data, uint32_t dataLen, DeserializedData &desData, bool &isUpdated)=0 |
Deserialize memory buffer into one or more NvParameterized objects. | |
virtual ErrorType | peekInplaceAlignment (physx::general_PxIOStream2::PxFileBuf &stream, uint32_t &align)=0 |
Get minimum alignment required for inplace deserialization of data in stream. | |
virtual void | release ()=0 |
Release deserializer and any memory allocations associated with it. | |
Static Public Member Functions | |
static SerializeType | peekSerializeType (physx::general_PxIOStream2::PxFileBuf &stream) |
Get type of stream (binary or xml) | |
static ErrorType | peekPlatform (physx::general_PxIOStream2::PxFileBuf &stream, SerializePlatform &platform) |
Get stream native platform. |
Interface class for serializer-deserializer of NvParameterized objects.
Serializer serializes and deserializes one or more NvParameterized objects to file using various output formats (see SerializeType).
typedef DeserializedResults< ::NvParameterized::Interface *> NvParameterized::Serializer::DeserializedData |
Container for results of deserialization.
DeserializedData holds array of NvParameterized objects obtained during deserialization.
Container for results of metadata deserialization.
DeserializedMetadata holds array of MetadataEntry obtained during metadata deserialization.
virtual ErrorType NvParameterized::Serializer::deserialize | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
DeserializedData & | desData | ||
) | [virtual] |
Deserialize a stream into one or more NvParameterized objects.
[in] | stream | the stream from which objects will be deserialized |
[out] | desData | storage for deserialized data |
virtual ErrorType NvParameterized::Serializer::deserialize | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
DeserializedData & | desData, | ||
bool & | isUpdated | ||
) | [pure virtual] |
Deserialize a stream into one or more NvParameterized objects.
[in] | stream | the stream from which objects will be deserialized |
[out] | desData | storage for deserialized data |
[out] | isUpdated | true if any legacy object was updated, false otherwise |
virtual ErrorType NvParameterized::Serializer::deserializeInplace | ( | void * | data, |
uint32_t | dataLen, | ||
DeserializedData & | desData | ||
) | [virtual] |
Deserialize memory buffer into one or more NvParameterized objects.
[in] | data | pointer to serialized data. It should be allocated via Traits. |
[in] | dataLen | length of serialized data |
[out] | desData | storage for deserialized data |
virtual ErrorType NvParameterized::Serializer::deserializeInplace | ( | void * | data, |
uint32_t | dataLen, | ||
DeserializedData & | desData, | ||
bool & | isUpdated | ||
) | [pure virtual] |
Deserialize memory buffer into one or more NvParameterized objects.
[in] | data | pointer to serialized data |
[in] | dataLen | length of serialized data |
[out] | desData | storage for deserialized data |
[out] | isUpdated | true if any legacy object was updated, false otherwise |
virtual ErrorType NvParameterized::Serializer::deserializeMetadata | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
DeserializedMetadata & | desData | ||
) | [virtual] |
Deserialize metadata from a stream into one or more definitions.
[in] | stream | the stream from which metadata will be deserialized |
[out] | desData | storage for deserialized metadata |
virtual ErrorType NvParameterized::Serializer::peekClassNames | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
char ** | classNames, | ||
uint32_t & | numClassNames | ||
) | [pure virtual] |
Peek number of NvParameterized-objects in stream with serialized data.
[in] | stream | the stream from which objects will be deserialized |
[in] | classNames | pointer to buffer for resulting names |
[in,out] | numClassNames | limit on number of returned classNames; number of returned names |
virtual ErrorType NvParameterized::Serializer::peekInplaceAlignment | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
uint32_t & | align | ||
) | [pure virtual] |
Get minimum alignment required for inplace deserialization of data in stream.
[in] | stream | stream which will be inplace deserialized |
[out] | align | alignment required for inplace deserialization of stream |
virtual ErrorType NvParameterized::Serializer::peekNumObjects | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
uint32_t & | numObjects | ||
) | [pure virtual] |
Peek number of NvParameterized-objects in stream with serialized data.
[in] | stream | the stream from which the object will be deserialized |
[out] | numObjects | number of objects |
virtual ErrorType NvParameterized::Serializer::peekNumObjectsInplace | ( | const void * | data, |
uint32_t | dataLen, | ||
uint32_t & | numObjects | ||
) | [pure virtual] |
Peek number of NvParameterized-objects in memory buffer with serialized data.
[in] | data | pointer to memory buffer |
[in] | dataLen | length of memory buffer |
[out] | numObjects | number of objects |
static ErrorType NvParameterized::Serializer::peekPlatform | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
SerializePlatform & | platform | ||
) | [static] |
Get stream native platform.
[in] | stream | stream to be analyzed |
[out] | platform | stream native platform |
static SerializeType NvParameterized::Serializer::peekSerializeType | ( | physx::general_PxIOStream2::PxFileBuf & | stream | ) | [static] |
Get type of stream (binary or xml)
[in] | stream | stream to be analyzed |
virtual ErrorType NvParameterized::Serializer::serialize | ( | physx::general_PxIOStream2::PxFileBuf & | stream, |
const ::NvParameterized::Interface ** | objs, | ||
uint32_t | nobjs, | ||
bool | doSerializeMetadata = false |
||
) | [pure virtual] |
Serialize array of NvParameterized-objects to a stream.
[in] | stream | the stream to which the object will be serialized |
[in] | objs | NvParameterized-objects which will be serialized |
[in] | nobjs | number of objects |
[in] | doSerializeMetadata | set this to store object metadata in file |
virtual void NvParameterized::Serializer::setAutoUpdate | ( | bool | doUpdate | ) | [pure virtual] |
Sets whether serializer will automatically update objects after deserialization.
[in] | doUpdate | should automatic update be done? |
virtual ErrorType NvParameterized::Serializer::setTargetPlatform | ( | const SerializePlatform & | platform | ) | [pure virtual] |
Set platform to use in platform-dependent serialization.
[in] | platform | target platform |
Application running on target platforms may potentially make use of extremely fast inplace deserialization (using method deserializeInplace) on files which were serialized for this platform.