#pragma once
#include "socketcan.hpp"
-#include "../can/can-message.hpp"
+#include "../can/message/can-message.hpp"
namespace utils
{
- struct simple_bcm_msg
- {
- struct bcm_msg_head msg_head;
- struct can_frame frames;
- };
-
-#ifdef KERNEL_MINIMAL_VERSION_OK
- struct canfd_bcm_msg
- {
- struct bcm_msg_head msg_head;
- struct canfd_frame frames;
- canfd_bcm_msg() { msg_head.flags |= CAN_FD_FRAME; }
- };
-#endif
-
- /// @brief derivated socketcan class specialized for BCM CAN socket.
+ /// @brief derivated socketcan class specialized for BCM CAN socket.make_bcm_head
class socketcan_bcm_t : public socketcan_t
{
public:
using socketcan_t::socketcan_t;
virtual int open(std::string device_name);
+ virtual std::shared_ptr<message_t> read_message();
+ virtual void write_message(std::vector<std::shared_ptr<message_t>>& vobj);
+ virtual void write_message(std::shared_ptr<message_t> obj);
private:
int connect(const struct sockaddr* addr, socklen_t len);
};
- socketcan_bcm_t& operator>>(socketcan_bcm_t& s, can_message_t& cm);
-// socketcan_bcm_t& operator<<(socketcan_bcm_t& s, const struct simple_bcm_msg& obj);
-// socketcan_bcm_t& operator<<(socketcan_bcm_t& s, const struct canfd_bcm_msg& obj);
+
}