29 #ifndef Pt_Xml_XmlSerializationContext_h
30 #define Pt_Xml_XmlSerializationContext_h
32 #include <Pt/Xml/Api.h>
33 #include <Pt/SerializationContext.h>
71 virtual const char*
onGetId(
const void* p);
78 virtual void onBeginLoad(
void* obj,
const std::type_info& fixupInfo,
79 const char* name,
const char*
id);
90 virtual void onPrepareFixup(
void* obj,
const char*
id, FixupInfo::FixupHandler,
unsigned m);
103 std::map<const void*, std::size_t> _idmap;
104 std::map<const void*, std::string> _refmap;
105 std::vector<Fixup*> _targets;
106 std::vector<Fixup*> _pointers;
115 #endif // Pt_Xml_XmlSerializationContext_h
Core module.
Definition: Allocator.h:33
virtual void onFixup()
Fixup all prepared references to their targets.
virtual void onRebindFixup(const char *id, void *obj, void *prev)
Rebind reference to fixup for a ID.
~XmlSerializationContext()
Destructor.
virtual const char * onGetId(const void *p)
Get the ID for a reference.
virtual void onFinishLoad()
Finish loading a type.
virtual bool onBeginSave(const void *p, const char *name)
Begin saving a type.
virtual void onFinishSave()
Finish saving a type.
Context for the serialization of types.
Definition: Api-SerializationContext.h:22
virtual const char * onMakeId(const void *p)
Create an ID for a type, if referenced.
virtual void onPrepareId(const void *p)
Mark a type as being referenced.
virtual void onPrepareFixup(void *obj, const char *id, FixupInfo::FixupHandler, unsigned m)
Prepare a reference to fixup for an ID.
Serialization context for XML serialization.
Definition: XmlSerializationContext.h:46
virtual void onRebindTarget(const char *id, void *obj)
Rebind a ID to a referenced type.
virtual void onClear()
Clears all content.
virtual void onBeginLoad(void *obj, const std::type_info &fixupInfo, const char *name, const char *id)
Begin loading a type.
XmlSerializationContext()
Default Constructor.