20 #ifndef OMNI_SERIALIZATION_INTERFACE_H_
21 #define OMNI_SERIALIZATION_INTERFACE_H_
27 namespace serialization {
36 virtual void toStream(QDataStream&)
const = 0;
53 #define OMNI_DECL_STREAM_OPERATORS(CLASS) \
54 inline QDataStream &operator>>(QDataStream & _stream, CLASS & _cls) \
56 _cls.fromStream(_stream); \
59 inline QDataStream& operator<<(QDataStream& _stream, CLASS const& _cls) \
61 _cls.toStream(_stream); \
65 #define OMNI_DECL_ENUM_STREAM_OPERATORS(ENUM) \
66 inline QDataStream &operator>>(QDataStream & _stream, ENUM & _enum) \
70 _enum = omni::util::intToEnum<ENUM>(_enum); \
73 inline QDataStream& operator<<(QDataStream& _stream, ENUM const& _enum) \
75 _stream << omni::util::enumToInt(_enum); \
virtual bool equal(Interface const *_that) const
Optional virtual member method for testing equality of two.
Definition: Interface.h:43
Abstract interface for serialization Holds two member functions for serialization and deserializatio...
Definition: Interface.h:31
virtual void toStream(QDataStream &) const =0
Serialize to stream.
virtual ~Interface()
Definition: Interface.h:33
virtual void fromStream(QDataStream &)=0
Deserialize from stream.
serialization::Interface SerializationInterface
Definition: Interface.h:50