From 7f038fed824cac9b747c033b441263512421c6b2 Mon Sep 17 00:00:00 2001 From: Arthur Guyader Date: Tue, 27 Aug 2019 14:43:08 +0200 Subject: Replace all enum types with masks This commit allows to change all enum types by masks. Now to implement new protocol you don't need to add more attribute in class. All can be contained in the flags field. Bug-AGL : SPEC-2779 Change-Id: I814d0052139be5d5efefc9ff1b4b558f46b85e90 Signed-off-by: Arthur Guyader --- low-can-binding/can/message-definition.cpp | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'low-can-binding/can/message-definition.cpp') diff --git a/low-can-binding/can/message-definition.cpp b/low-can-binding/can/message-definition.cpp index 064b2c17..407ad750 100644 --- a/low-can-binding/can/message-definition.cpp +++ b/low-can-binding/can/message-definition.cpp @@ -22,16 +22,14 @@ message_definition_t::message_definition_t( const std::string bus, uint32_t id, - bool is_fd, - message_format_t format, + uint32_t flags, frequency_clock_t frequency_clock, bool force_send_changed, const std::vector >& signals) : parent_{nullptr}, bus_{bus}, id_{id}, - is_fd_(is_fd), - format_{format}, + flags_{flags}, frequency_clock_{frequency_clock}, force_send_changed_{force_send_changed}, last_value_{CAN_MESSAGE_SIZE}, @@ -42,8 +40,7 @@ message_definition_t::message_definition_t(const std::string bus, uint32_t id, const std::string name, uint32_t length, - bool is_fd, - message_format_t format, + uint32_t flags, frequency_clock_t frequency_clock, bool force_send_changed, const std::vector >& signals) @@ -52,8 +49,7 @@ message_definition_t::message_definition_t(const std::string bus, id_{id}, name_{name}, length_{length}, - is_fd_(is_fd), - format_{format}, + flags_{flags}, frequency_clock_{frequency_clock}, force_send_changed_{force_send_changed}, last_value_{CAN_MESSAGE_SIZE}, @@ -73,19 +69,12 @@ uint32_t message_definition_t::get_id() const bool message_definition_t::is_fd() const { - return is_fd_; + return (flags_&FD_FRAME); } bool message_definition_t::is_j1939() const { - if(format_ == message_format_t::J1939) - { - return true; - } - else - { - return false; - } + return (flags_&J1939_PROTOCOL); } std::vector>& message_definition_t::get_signals() @@ -108,7 +97,7 @@ uint32_t message_definition_t::get_length() const return length_; } -message_format_t message_definition_t::get_format() const +uint32_t message_definition_t::get_flags() const { - return format_; + return flags_; } \ No newline at end of file -- cgit 1.2.3-korg