sim: Add a checkpoint function to test for entries
When loading a checkpoint, it's sometimes desirable to be able to test whether an entry within a secion exists. This is currently done automatically in the UNSERIALIZE_OPT_SCALAR macro, but it isn't possible to do for arrays, containers, or enums. Instead of adding even more macros, add a helper function (CheckpointIn::entryExists()) that tests for the presence of an entry. Change-Id: I4b4646b03276b889fd3916efefff3bd552317dbc Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
@@ -692,6 +692,12 @@ CheckpointIn::~CheckpointIn()
|
||||
delete db;
|
||||
}
|
||||
|
||||
bool
|
||||
CheckpointIn::entryExists(const string §ion, const string &entry)
|
||||
{
|
||||
return db->entryExists(section, entry);
|
||||
}
|
||||
|
||||
bool
|
||||
CheckpointIn::find(const string §ion, const string &entry, string &value)
|
||||
{
|
||||
|
||||
@@ -359,6 +359,8 @@ class CheckpointIn
|
||||
bool findObj(const std::string §ion, const std::string &entry,
|
||||
SimObject *&value);
|
||||
|
||||
|
||||
bool entryExists(const std::string §ion, const std::string &entry);
|
||||
bool sectionExists(const std::string §ion);
|
||||
|
||||
// The following static functions have to do with checkpoint
|
||||
|
||||
Reference in New Issue
Block a user