sim: Move SimObject resolver to sim_object.hh
The object resolver isn't serialization specific and shouldn't live in serialize.hh. Move it to sim_object.hh since it queries to the SimObject hierarchy.
This commit is contained in:
parent
66941163e5
commit
db465fd788
2 changed files with 16 additions and 11 deletions
|
@ -64,6 +64,7 @@ class IniFile;
|
|||
class Serializable;
|
||||
class CheckpointIn;
|
||||
class SimObject;
|
||||
class SimObjectResolver;
|
||||
class EventQueue;
|
||||
|
||||
typedef std::ostream CheckpointOut;
|
||||
|
@ -449,17 +450,6 @@ 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 CheckpointIn
|
||||
{
|
||||
|
|
|
@ -231,6 +231,21 @@ class SimObject : public EventManager, public Serializable, public Drainable
|
|||
static SimObject *find(const char *name);
|
||||
};
|
||||
|
||||
/**
|
||||
* Base class to wrap object resolving functionality.
|
||||
*
|
||||
* This can be provided to the serialization framework to allow it to
|
||||
* map object names onto C++ objects.
|
||||
*/
|
||||
class SimObjectResolver
|
||||
{
|
||||
public:
|
||||
virtual ~SimObjectResolver() { }
|
||||
|
||||
// Find a SimObject given a full path name
|
||||
virtual SimObject *resolveSimObject(const std::string &name) = 0;
|
||||
};
|
||||
|
||||
#ifdef DEBUG
|
||||
void debugObjectBreak(const char *objs);
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue