I’m trying to save and load the state of the application, using a simple XML file using ofxXmlSerializer.
Everything works fine when using non-derived classes, but when introducing polymorphism I can’t deserialize anymore, as I don’t know a priori the derived class that should be constructed.
Do you know of any solution? (using ofBaseSerializable if possible…)
The main issue is that I have to send an ofParameterGroup containing the appropiate fields of the derived type to the ofBaseSerializer.deserialize() in order to load the field values into the group, but I don’t know the correct type yet.
class Base {
float distance;
}
class FooBase : public Base{
int number;
}
class BooBase : public Base{
string name;
}
Calling ofBaseSerializer to deserialize this xml would require an ofParameterGroup with fields distance and number, but I don’t know I require this fields until I read the “tag” is “FooBase”.
This “manual” xml reading would mean I can’t use ofBaseSerializer.deserialize() any more.