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
Fix: circular include for socket classes.
[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
..
c3abb2f
100644
(file)
--- a/
CAN-binder/low-can-binding/utils/socketcan.hpp
+++ b/
CAN-binder/low-can-binding/utils/socketcan.hpp
@@
-23,49
+23,33
@@
#include <linux/can/bcm.h>
#include <string.h>
#include <linux/can/bcm.h>
#include <string.h>
-#include "../can/can-message.hpp"
-#include "../low-can-binding.hpp"
+#include "../binding/low-can-hat.hpp"
#define INVALID_SOCKET -1
namespace utils
{
#define INVALID_SOCKET -1
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();
class socketcan_t
{
public:
socketcan_t();
- socketcan_t(const socketcan_t&
) = delete
;
+ socketcan_t(const socketcan_t&
s)
;
socketcan_t(socketcan_t&&);
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
+67,4
@@
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);
}
}