Changes to config to allow everything (including 'children'
and 'type') to be specified via instance name and not just
config class. Old code only did instance-name lookup for
SimObject parameters. This feature makes life easier for
transitioning to the Python script-based config.
sim/builder.cc:
Use ConfigNode::find to look for "type" parameter so it can
be found if set under instance name (not config class).
sim/param.cc:
Make Param<bool> accept "1" for true and "0" for false.
--HG--
extra : convert_revision : f40d0878d0f03b2e216f0506c05d0e52db608cca
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include "base/misc.hh"
|
||||
#include "sim/builder.hh"
|
||||
#include "sim/configfile.hh"
|
||||
#include "sim/config_node.hh"
|
||||
#include "sim/host.hh"
|
||||
#include "sim/sim_object.hh"
|
||||
#include "sim/universe.hh"
|
||||
@@ -153,7 +154,7 @@ SimObjectClass::createObject(IniFile &configDB,
|
||||
// (specified by 'type=' parameter)
|
||||
string simObjClassName;
|
||||
|
||||
if (!configDB.findDefault(configClassName, "type", simObjClassName)) {
|
||||
if (!configNode->find("type", simObjClassName)) {
|
||||
cerr << "Configuration class '" << configClassName << "' not found."
|
||||
<< endl;
|
||||
abort();
|
||||
|
||||
@@ -147,14 +147,14 @@ template <>
|
||||
bool
|
||||
parseParam(const string &s, bool &value)
|
||||
{
|
||||
const string &lower = to_lower(s);
|
||||
const string &ls = to_lower(s);
|
||||
|
||||
if (lower == "true" || lower == "t" || lower == "yes" || lower == "y") {
|
||||
if (ls == "true" || ls == "t" || ls == "yes" || ls == "y" || ls == "1") {
|
||||
value = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (lower == "false" || lower == "f" || lower == "no" || lower == "n") {
|
||||
if (ls == "false" || ls == "f" || ls == "no" || ls == "n" || ls == "0") {
|
||||
value = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user