summaryrefslogtreecommitdiffstats
path: root/src/openxc/command.cpp
blob: 4cc0682f69e5e2d50317bd43731eae7facdad2a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "command.hpp"

namespace openxc
{
	std::string command::name() const
	{
		return name_;
	}
	
	bool command::enabled() const
	{
		return enabled_;
	}
	
	std::string command::handler() const
	{
		return handler_;
	}
	
	void command::from_json(const nlohmann::json& j)
	{
		name_ = j.count("name") ? j["name"].get<std::string>() : "";
		enabled_ = j.count("enabled") ? j["enabled"].get<bool>() : true;
		handler_ = j.count("handler") ? j["handler"].get<std::string>() : "";
	}

	nlohmann::json command::to_json() const
	{
		nlohmann::json j;
		j["name"] = name_;
		j["enabled"] = enabled_;
		j["handler"] = handler_;
		return j;
	}

	void to_json(nlohmann::json& j, const command& p)
	{
		j = p.to_json();
	}

	void from_json(const nlohmann::json& j, command& p)
	{
		p.from_json(j);
	}
}