serialize.hh (10930:ddc3d96d6313) | serialize.hh (11067:5379f099e488) |
---|---|
1/* 2 * Copyright (c) 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 50 unchanged lines hidden (view full) --- 59 60#include "base/bitunion.hh" 61#include "base/types.hh" 62 63class IniFile; 64class Serializable; 65class CheckpointIn; 66class SimObject; | 1/* 2 * Copyright (c) 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 50 unchanged lines hidden (view full) --- 59 60#include "base/bitunion.hh" 61#include "base/types.hh" 62 63class IniFile; 64class Serializable; 65class CheckpointIn; 66class SimObject; |
67class SimObjectResolver; |
|
67class EventQueue; 68 69typedef std::ostream CheckpointOut; 70 71 72/** The current version of the checkpoint format. 73 * This should be incremented by 1 and only 1 for every new version, where a new 74 * version is defined as a checkpoint created before this version won't work on --- 369 unchanged lines hidden (view full) --- 444// Macros to encapsulate the magic of declaring & defining 445// SerializableBuilder and SerializableClass objects 446// 447 448#define REGISTER_SERIALIZEABLE(CLASS_NAME, OBJ_CLASS) \ 449SerializableClass the##OBJ_CLASS##Class(CLASS_NAME, \ 450 OBJ_CLASS::createForUnserialize); 451 | 68class EventQueue; 69 70typedef std::ostream CheckpointOut; 71 72 73/** The current version of the checkpoint format. 74 * This should be incremented by 1 and only 1 for every new version, where a new 75 * version is defined as a checkpoint created before this version won't work on --- 369 unchanged lines hidden (view full) --- 445// Macros to encapsulate the magic of declaring & defining 446// SerializableBuilder and SerializableClass objects 447// 448 449#define REGISTER_SERIALIZEABLE(CLASS_NAME, OBJ_CLASS) \ 450SerializableClass the##OBJ_CLASS##Class(CLASS_NAME, \ 451 OBJ_CLASS::createForUnserialize); 452 |
452// Base class to wrap object resolving functionality. This can be 453// provided to Checkpoint to allow it to map object names onto 454// object C++ objects in which to unserialize 455class SimObjectResolver 456{ 457 public: 458 virtual ~SimObjectResolver() { } | |
459 | 453 |
460 // Find a SimObject given a full path name 461 virtual SimObject *resolveSimObject(const std::string &name) = 0; 462}; 463 | |
464class CheckpointIn 465{ 466 private: 467 468 IniFile *db; 469 470 SimObjectResolver &objNameResolver; 471 --- 42 unchanged lines hidden --- | 454class CheckpointIn 455{ 456 private: 457 458 IniFile *db; 459 460 SimObjectResolver &objNameResolver; 461 --- 42 unchanged lines hidden --- |