21 #include "cafFieldHandle.h"
38 enum class SerializationType
45 using FieldSelector = std::function<bool(
const FieldHandle* )>;
47 static std::string serializationTypeLabel( SerializationType type );
92 virtual std::shared_ptr<ObjectHandle>
170 FieldSelector m_fieldSelector;
172 SerializationType m_serializationType;
173 bool m_serializeUuids;
Base class for all fields, making it possible to handle them generically.
Definition: cafFieldHandle.h:23
Definition: cafObjectFactory.h:39
Definition: cafObjectHandle.h:55
Definition: cafSerializer.h:36
SerializationType serializationType() const
Definition: cafSerializer.cpp:73
virtual std::shared_ptr< ObjectHandle > copyAndCastBySerialization(const ObjectHandle *object, const std::string &destinationClassKeyword) const =0
virtual std::shared_ptr< ObjectHandle > copyBySerialization(const ObjectHandle *object) const =0
Serializer(ObjectFactory *objectFactory)
Definition: cafSerializer.cpp:38
bool serializeUuids() const
Definition: cafSerializer.cpp:78
virtual void readStream(ObjectHandle *object, std::istream &stream) const =0
Serializer & setFieldSelector(FieldSelector fieldSelector)
Definition: cafSerializer.cpp:45
virtual std::string writeObjectToString(const ObjectHandle *object) const =0
FieldSelector fieldSelector() const
Definition: cafSerializer.cpp:68
Serializer & setSerializationType(SerializationType type)
Definition: cafSerializer.cpp:51
virtual std::string readUUIDFromObjectString(const std::string &string) const =0
ObjectFactory * objectFactory() const
Definition: cafSerializer.cpp:63
virtual void writeStream(const ObjectHandle *object, std::ostream &stream) const =0
Serializer & setSerializeUuids(bool serializeUuids)
Definition: cafSerializer.cpp:57
virtual std::shared_ptr< ObjectHandle > createObjectFromString(const std::string &string) const =0
virtual void readObjectFromString(ObjectHandle *object, const std::string &string) const =0
Main Caffa namespace.
Definition: __init__.py:1