diff options
| author | Tim Redfern <tim@eclectronics.org> | 2014-01-09 16:50:51 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2014-01-09 16:50:51 +0000 |
| commit | d6571e5a9b8fc2bed416ff4798e3a29136004ff5 (patch) | |
| tree | 10371f8e55c345fd1590876b634b7a9cf51f9230 /NT/src/factory.h | |
| parent | a940710de90c5bc2b9a3e74f19d60c769ab76643 (diff) | |
beginnng json output
Diffstat (limited to 'NT/src/factory.h')
| -rw-r--r-- | NT/src/factory.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/NT/src/factory.h b/NT/src/factory.h index ac204a0..8c44507 100644 --- a/NT/src/factory.h +++ b/NT/src/factory.h @@ -12,19 +12,18 @@ namespace Rotor { ~Node_factory(){ for (auto t:type_map) delete t.second; } - void add_type(std::string type,Node* proto){ - type_map[type]=proto; - type_map[type]->type=type; + void add_type(Node* proto){ + type_map[proto->node_type]=proto; }; - void add_type(std::string type,Node* proto,std::string category){ - add_type(type,proto); + void add_type(Node* proto,std::string category){ + add_type(proto); if (category_map.find(category)==category_map.end()) category_map[category]=vector<Node*>(); category_map[category].push_back(proto); }; Node *create(std::map<std::string,std::string> &settings){ - if (settings.find("type")!=settings.end()) { - if (type_map.find(settings["type"])!=type_map.end()) { - return type_map[settings["type"]]->clone(settings); + if (settings.find("node_type")!=settings.end()) { + if (type_map.find(settings["node_type"])!=type_map.end()) { + return type_map[settings["node_type"]]->clone(settings); } } return NULL; |
