Branch data Line data Source code
1 : : #include <linux/can.h>
2 : :
3 : : #include <cstdint>
4 : :
5 : : /**
6 : : * @brief Asbtracts the Linux CAN Socket logic
7 : : *
8 : : */
9 : : class ICanDriver {
10 : : public:
11 : 0 : ICanDriver() = default;
12 : : ICanDriver(const ICanDriver&) = default;
13 : : auto operator=(const ICanDriver&) -> ICanDriver& = default;
14 : : ICanDriver(ICanDriver&&) = default;
15 : : auto operator=(ICanDriver&&) -> ICanDriver& = default;
16 : 0 : virtual ~ICanDriver() = default;
17 : :
18 : : /**
19 : : * @brief Receives CAN message
20 : : *
21 : : * @param frame CAN frame
22 : : * @return int32_t number of bytes received
23 : : */
24 : : virtual auto receive(can_frame* frame) const -> int32_t = 0;
25 : : };
|