diff options
Diffstat (limited to 'src/sim/serialize.hh')
-rw-r--r-- | src/sim/serialize.hh | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh index d3c9bb40b..18efa2a26 100644 --- a/src/sim/serialize.hh +++ b/src/sim/serialize.hh @@ -255,14 +255,28 @@ class SerializableClass SerializableClass the##OBJ_CLASS##Class(CLASS_NAME, \ OBJ_CLASS::createForUnserialize); +// Base class to wrap object resolving functionality. This can be +// provided to Checkpoint to allow it to map object names onto +// object C++ objects in which to unserialize +class SimObjectResolver +{ + public: + virtual ~SimObjectResolver() { } + + // Find a SimObject given a full path name + virtual SimObject *resolveSimObject(const std::string &name) = 0; +}; + class Checkpoint { private: IniFile *db; + SimObjectResolver &objNameResolver; + public: - Checkpoint(const std::string &cpt_dir); + Checkpoint(const std::string &cpt_dir, SimObjectResolver &resolver); ~Checkpoint(); const std::string cptDir; |