summaryrefslogtreecommitdiff
path: root/NT/src/factory.cpp
blob: b8f4642a49f58f51b26394fedfaa724f4d448541 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "factory.h"

using namespace Rotor;
using namespace std;

Node_factory::Node_factory(std::string _log_id){
	log_id=_log_id;
	//for now, statically load prototype map in constructor
	add_type(new Time(),"nodes");
	add_type(new Multiply(),"nodes");
	add_type(new Print(),"nodes");
}
bool Node_factory::list_node(const string &_type,Json::Value &json){
	for (auto& type: type_map) {
		if (type.first==_type) {
			json["node"]=type.second->to_json();
			return true;
		}
	}
	json["error"]="Node '"+_type+"' not found";
	return false;
};