Update flag FRAME_LAYOUT_IS_BIGENDIAN to BYTE_FRAME_IS_BIG_ENDIAN
[apps/agl-service-can-low-level.git] / low-can-binding / can / message-definition.cpp
index 407ad75..dab502a 100644 (file)
@@ -25,7 +25,7 @@ message_definition_t::message_definition_t(
        uint32_t flags,
        frequency_clock_t frequency_clock,
        bool force_send_changed,
-       const std::vector<std::shared_ptr<signal_t> >& signals)
+       const vect_ptr_signal_t& signals)
        :  parent_{nullptr},
        bus_{bus},
        id_{id},
@@ -43,7 +43,7 @@ message_definition_t::message_definition_t(const std::string bus,
        uint32_t flags,
        frequency_clock_t frequency_clock,
        bool force_send_changed,
-       const std::vector<std::shared_ptr<signal_t> >& signals)
+       const vect_ptr_signal_t& signals)
        : parent_{nullptr},
        bus_{bus},
        id_{id},
@@ -62,22 +62,32 @@ const std::string message_definition_t::get_bus_device_name() const
                .get_can_device_name(bus_);
 }
 
+const std::string message_definition_t::get_name() const{
+       return name_;
+}
+
 uint32_t message_definition_t::get_id() const
 {
-       return id_;
+       return is_j1939() || ((id_ & CAN_SFF_MASK) == id_) ?
+               id_ : id_ | CAN_EFF_FLAG ;
 }
 
 bool message_definition_t::is_fd() const
 {
-       return (flags_&FD_FRAME);
+       return (flags_ & CAN_PROTOCOL_WITH_FD_FRAME);
 }
 
 bool message_definition_t::is_j1939() const
 {
-       return (flags_&J1939_PROTOCOL);
+       return (flags_ & J1939_PROTOCOL);
+}
+
+bool message_definition_t::is_isotp() const
+{
+       return (flags_ & ISOTP_PROTOCOL);
 }
 
-std::vector<std::shared_ptr<signal_t>>& message_definition_t::get_signals()
+vect_ptr_signal_t& message_definition_t::get_signals()
 {
        return signals_;
 }
@@ -100,4 +110,8 @@ uint32_t message_definition_t::get_length() const
 uint32_t message_definition_t::get_flags() const
 {
        return flags_;
-}
\ No newline at end of file
+}
+
+bool message_definition_t::frame_layout_is_bigendian() const{
+       return (flags_ & BYTE_FRAME_IS_BIG_ENDIAN);
+}