From 014ba2dd29eaadb4d61948ca417c25112f76ee0e Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 13 Jun 2017 17:20:05 +0200 Subject: Import CAN generator from low-level-can-service Also use the app-templates CMake helpers. Change-Id: I034e5efa9baa0f686a081f60df5c3588e4b3bd51 Signed-off-by: Romain Forlot --- src/openxc/message_set.hpp | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 src/openxc/message_set.hpp (limited to 'src/openxc/message_set.hpp') diff --git a/src/openxc/message_set.hpp b/src/openxc/message_set.hpp new file mode 100755 index 0000000..935817e --- /dev/null +++ b/src/openxc/message_set.hpp @@ -0,0 +1,59 @@ +#pragma once + +#include +#include +#include +#include + +#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_; + float max_message_frequency_; + can_bus_mode raw_can_mode_; + std::vector parents_; + std::vector initializers_; + std::vector loopers_; + std::map buses_; + //std::map messages_; + std::vector messages_; + std::vector diagnostic_messages_; + std::vector mappings_; + std::vector extra_sources_; + std::vector commands_; + + public: + message_set(); + message_set(const message_set&) = default; + message_set(message_set&&) = default; + + std::string name() const; + bool bit_numbering_inverted() const; + float max_message_frequency() const; + can_bus_mode raw_can_mode() const; + const std::vector& parents() const; + const std::vector& initializers() const; + const std::vector& loopers() const; + const std::map& buses() const; + const std::vector& messages() const; + const std::vector& diagnostic_messages() const; + const std::vector& mappings() const; + const std::vector& extra_sources() const; + const std::vector& commands() 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); +} -- cgit 1.2.3-korg