blob: 37b40fc44e2253e7249f4d12d43c414aa595c53f (
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#pragma once
#include <string>
#include <vector>
#include <map>
#include <json.hpp>
#include "can_bus.hpp"
#include "can_message.hpp"
#include "diagnostic_message.hpp"
#include "mapping.hpp"
#include "command.hpp"
namespace openxc
{
class message_set
{
private:
std::string name_;
bool bit_numbering_inverted_;
std::uint32_t max_message_frequency_;
can_bus_mode raw_can_mode_;
std::vector<std::string> parents_;
std::vector<std::string> initializers_;
std::vector<std::string> loopers_;
std::map<std::string, can_bus> buses_;
std::map<std::string, can_message> messages_;
std::vector<diagnostic_message> diagnostic_messages_;
std::vector<mapping> mappings_;
std::vector<std::string> extra_sources_;
std::vector<command> commands_;
public:
message_set();
message_set(const message_set&) = default;
message_set(message_set&&) = default;
std::string name() const;
bool bit_numbering_inverted() const;
std::uint32_t max_message_frequency() const;
can_bus_mode raw_can_mode() const;
const std::vector<std::string>& parents() const;
const std::vector<std::string>& initializers() const;
const std::vector<std::string>& loopers() const;
const std::map<std::string, can_bus>& buses() const;
const std::map<std::string, can_message>& messages() const;
const std::vector<diagnostic_message>& diagnostic_messages() const;
const std::vector<mapping>& mappings() const;
const std::vector<std::string>& extra_sources() const;
const std::vector<command>& commands() const;
std::string to_initializer() const;
void from_json(const nlohmann::json& j);
nlohmann::json to_json() const;
};
void to_json(nlohmann::json& j, const message_set& p);
void from_json(const nlohmann::json& j, message_set& p);
}
|