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.