Code Review
/
apps
/
agl-service-can-low-level.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Derivate socketcan to multiple child depending upon socket CAN type.
[apps/agl-service-can-low-level.git]
/
CAN-binder
/
low-can-binding
/
utils
/
socketcan.hpp
diff --git
a/CAN-binder/low-can-binding/utils/socketcan.hpp
b/CAN-binder/low-can-binding/utils/socketcan.hpp
index
8a71d3a
..
391fb46
100644
(file)
--- a/
CAN-binder/low-can-binding/utils/socketcan.hpp
+++ b/
CAN-binder/low-can-binding/utils/socketcan.hpp
@@
-30,42
+30,27
@@
namespace utils
{
namespace utils
{
- struct simple_bcm_msg
- {
- struct bcm_msg_head msg_head;
- struct can_frame frames;
- };
-
- struct canfd_bcm_msg
- {
- struct bcm_msg_head msg_head;
- struct canfd_frame frames;
- canfd_bcm_msg() { msg_head.flags |= CAN_FD_FRAME; }
- };
-
class socketcan_t
{
public:
socketcan_t();
socketcan_t(const socketcan_t&) = delete;
socketcan_t(socketcan_t&&);
class socketcan_t
{
public:
socketcan_t();
socketcan_t(const socketcan_t&) = delete;
socketcan_t(socketcan_t&&);
- ~socketcan_t();
+
virtual
~socketcan_t();
const struct sockaddr_can& get_tx_address() const;
explicit operator bool() const;
int socket() const;
const struct sockaddr_can& get_tx_address() const;
explicit operator bool() const;
int socket() const;
-
int open(std::string device_name)
;
+
virtual int open(std::string device_name) = 0
;
int setopt(int level, int optname, const void* optval, socklen_t optlen);
int close();
int setopt(int level, int optname, const void* optval, socklen_t optlen);
int close();
- pr
ivate
:
+ pr
otected
:
int socket_;
struct sockaddr_can tx_address_;
int open(int domain, int type, int protocol);
int socket_;
struct sockaddr_can tx_address_;
int open(int domain, int type, int protocol);
- int bind(const struct sockaddr* addr, socklen_t len);
- int connect(const struct sockaddr* addr, socklen_t len);
};
template <typename T>
};
template <typename T>
@@
-83,9
+68,6
@@
namespace utils
ERROR(binder_interface, "%s: Error sending : %i %s", __FUNCTION__, errno, ::strerror(errno));
return s;
}
ERROR(binder_interface, "%s: Error sending : %i %s", __FUNCTION__, errno, ::strerror(errno));
return s;
}
-
- socketcan_t& operator<<(socketcan_t& s, const struct simple_bcm_msg& obj);
- socketcan_t& operator<<(socketcan_t& s, const struct canfd_bcm_msg& obj);
socketcan_t& operator>>(socketcan_t& s, can_message_t& cm);
}
socketcan_t& operator>>(socketcan_t& s, can_message_t& cm);
}