summaryrefslogtreecommitdiffstats
path: root/src/openxc/diagnostic_message.hpp
blob: 33b41e617e3327258acea37de326d79e7850a1e5 (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
#pragma once

#include <string>
#include <json.hpp>

namespace openxc
{
	class diagnostic_message
	{
	private:
		std::string		bus_;
		std::uint32_t	id_;
		std::uint32_t	mode_;
		std::uint32_t	frequency_;
		std::uint32_t	pid_;
		std::string		name_;
		std::string		decoder_;
		std::string		callback_;
	public:
		std::string bus() const;
		std::uint32_t id() const;
		std::uint32_t mode() const;
		std::uint32_t frequency() const;
		std::uint32_t pid() const;
		std::string name() const;
		std::string decoder() const;
		std::string callback() const;
		
		void from_json(const nlohmann::json& j);
		nlohmann::json to_json() const;
	};

	void to_json(nlohmann::json& j, const diagnostic_message& p);
	void from_json(const nlohmann::json& j, diagnostic_message& p);
}