Keep subscription to signal simplier without doubling
[apps/agl-service-can-low-level.git] / src / can / can-bus-dev.cpp
index 157f7de..3aafff3 100644 (file)
 
 #include "can-bus.hpp"
 #include "can-message.hpp"
-#include "low-can-binding.hpp"
+#include "../low-can-binding.hpp"
 
 /// @brief Class constructor
 /// @param dev_name String representing the device name into the linux /dev tree
-can_bus_dev_t::can_bus_dev_t(const std::string& dev_name)
-       : device_name_{dev_name}
+can_bus_dev_t::can_bus_dev_t(const std::string& dev_name, int32_t address)
+       : device_name_{dev_name}, address_{address}
+{}
+
+std::string can_bus_dev_t::get_device_name() const
 {
+       return device_name_;
 }
 
 /// @brief Open the can socket and returning it
-/// @return -1
+/// @return -1 if something wrong.
 int can_bus_dev_t::open()
 {
        const int canfd_on = 1;
@@ -48,7 +52,8 @@ int can_bus_dev_t::open()
        struct timeval timeout;
 
        DEBUG(binder_interface, "CAN Handler socket : %d", can_socket_.socket());
-       if (can_socket_) return 0;
+       if (can_socket_)
+               return 0;
 
        can_socket_.open(PF_CAN, SOCK_RAW, CAN_RAW);
        if (can_socket_)
@@ -168,7 +173,7 @@ void can_bus_dev_t::can_reader(can_bus_t& can_bus)
 
 /// @brief Send a can message from a can_message_t object.
 /// @param[in] can_msg the can message object to send
-int can_bus_dev_t::send_can_message(can_message_t& can_msg)
+int can_bus_dev_t::send(can_message_t& can_msg)
 {
        ssize_t nbytes;
        canfd_frame f;
@@ -197,7 +202,7 @@ int can_bus_dev_t::send_can_message(can_message_t& can_msg)
 /// @brief Send a can message from a can_message_t object.
 /// @param[in] can bus used to send the message
 /// @param[in] can_msg the can message object to send
-bool can_bus_dev_t::send_can_message(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size)
+bool can_bus_dev_t::shims_send(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size)
 {
        ssize_t nbytes;
        canfd_frame f;
@@ -206,9 +211,9 @@ bool can_bus_dev_t::send_can_message(const uint32_t arbitration_id, const uint8_
        f.len = size;
        ::memcpy(f.data, data, size);
 
-       if(socket.socket())
+       if(can_socket_.socket())
        {
-               nbytes = ::sendto(socket.socket(), &f, sizeof(struct canfd_frame), 0,
+               nbytes = ::sendto(can_socket_.socket(), &f, sizeof(struct canfd_frame), 0,
                        (struct sockaddr*)&txAddress_, sizeof(txAddress_));
                if (nbytes == -1)
                {