Remove boost library dependency.
[apps/agl-service-can-low-level.git] / src / openxc / can_message.hpp
index 57bd23f..3f7b018 100755 (executable)
@@ -2,7 +2,6 @@
 \r
 #include <string>\r
 #include <vector>\r
-#include <map>\r
 #include <json.hpp>\r
 \r
 #include "signal.hpp"\r
@@ -12,26 +11,29 @@ namespace openxc
        class can_message\r
        {\r
        private:\r
+               std::string                                             id_;\r
                std::string                                             bus_;\r
                bool                                                    bit_numbering_inverted_;\r
-               std::map<std::string, signal>   signals_;\r
+               std::vector<signal>                             signals_;\r
                std::string                                             name_;\r
                std::vector<std::string>                handlers_;\r
                bool                                                    enabled_;\r
-               std::uint32_t                                   max_frequency_;\r
-               std::uint32_t                                   max_signal_frequency_;\r
+               float                                                   max_frequency_;\r
+               float                                                   max_signal_frequency_;\r
                bool                                                    force_send_changed_;\r
                bool                                                    force_send_changed_signals_;\r
 \r
        public:\r
+               std::string id() const;\r
+               void id(const std::string& id);\r
                std::string     bus() const;\r
                bool bit_numbering_inverted() const;\r
-               const std::map<std::string, signal>& signals() const;\r
+               const std::vector<signal>& signals() const;\r
                std::string name() const;\r
                std::vector<std::string> handlers() const;\r
                bool enabled() const;\r
-               std::uint32_t max_frequency() const;\r
-               std::uint32_t max_signal_frequency() const;\r
+               float max_frequency() const;\r
+               float max_signal_frequency() const;\r
                bool force_send_changed() const;\r
                bool force_send_changed_signals() const;\r
                \r
@@ -43,4 +45,5 @@ namespace openxc
 \r
        void to_json(nlohmann::json& j, const can_message& p);\r
        void from_json(const nlohmann::json& j, can_message& p);\r
+       void from_json(const nlohmann::json& j, can_message& p, const std::string& id);\r
 }\r