8 #ifndef _ADTF_UCOM_ANT_SERIALIZABLE_INTERFACE_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_SERIALIZABLE_INTERFACE_INCLUDES_HEADER_
18 #ifndef ADTF_SERIALIZER_VERSION
22 #define ADTF_SERIALIZER_VERSION(_class, currentversion) \
23 typedef _class serializer_type; \
24 struct serializer_info \
26 static ::adtf::ucom::ISerializable::tSerializerVersion SerializerVersion() { return currentversion; } \
28 ::adtf::ucom::ISerializable::tSerializerVersion GetCurrentSerializerVersion() const\
30 return serializer_type::serializer_info::SerializerVersion(); \
A common result class usable as return value throughout.
@ brief The IClassInfo interface provides a standardized way to access type information.
The ISerializable interface provides a generic way to implement object serialization.
ADTF_IID(ISerializable, "serializable.ant.ucom.adtf.iid")
Marks the ISerializable to be castable with the ucom_cast<>
virtual tResult Serialize(IStream &pOutputStream) const =0
Serialize object to stream.
~ISerializable()=default
Protected destructor --> Use implemented Destroy() instead of delete!
uint8_t tSerializerVersion
Defintion of Serializer Version Type.
virtual tResult Deserialize(const IStream &pInputStream)=0
Deserialize object from stream.
The IStream interface provides defines methods for streaming data.
ant::ISerializable ISerializable
Alias always bringing the latest version of ant::ISerializable into scope.
Namespace for entire ADTF SDK.