all: Copyright update
[apps/agl-service-can-low-level.git] / low-can-binding / utils / socketcan-bcm.hpp
index 22927cb..4806ac0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015, 2016 ,2017 "IoT.bzh"
+ * Copyright (C) 2015, 2016 , 2017, 2018, 2019 "IoT\.bzh"
  * Author "Romain Forlot" <romain.forlot@iot.bzh>
  * Author "Loïc Collignon" <loic.collignon@iot.bzh>
  * Licensed under the Apache License, Version 2.0 (the "License");
 #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 int write_message(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);
+
 }