namespace utils
{
- /// @brief Construct a default, invalid, socket.
- socketcan_bcm_t::socketcan_bcm_t()
- : socketcan_t{}
- {}
-
- /// @brief Destruct the socket.
- socketcan_bcm_t::~socketcan_bcm_t()
- {}
-
/// @brief Connect the socket.
/// @return 0 if success.
int socketcan_bcm_t::connect(const struct sockaddr* addr, socklen_t len)
class socketcan_bcm_t : public socketcan_t
{
public:
- socketcan_bcm_t();
- socketcan_bcm_t(const socketcan_bcm_t&);
- socketcan_bcm_t(socketcan_bcm_t&&);
- virtual ~socketcan_bcm_t();
+ using socketcan_t::socketcan_t;
virtual int open(std::string device_name);
namespace utils
{
- /// @brief Construct a default, invalid, socket.
- socketcan_raw_t::socketcan_raw_t()
- : socketcan_t{}
- {}
-
- /// @brief Destruct the socket.
- socketcan_raw_t::~socketcan_raw_t()
- {}
-
/// @brief Bind the socket.
/// @return 0 if success.
int socketcan_raw_t::bind(const struct sockaddr* addr, socklen_t len)
class socketcan_raw_t : public socketcan_t
{
public:
- socketcan_raw_t();
- socketcan_raw_t(const socketcan_raw_t&);
- socketcan_raw_t(socketcan_raw_t&&);
- virtual ~socketcan_raw_t();
-
+ using socketcan_t::socketcan_t;
virtual int open(std::string device_name);
private:
: socket_{INVALID_SOCKET}
{}
+ /// @brief Construct a socket by copying an existing one.
+ socketcan_t::socketcan_t(const socketcan_t& s)
+ : socket_{s.socket_}
+ {}
+
/// @brief Construct a socket by moving an existing one.
socketcan_t::socketcan_t(socketcan_t&& s)
: socket_{s.socket_}
s.socket_ = INVALID_SOCKET;
}
- /// @brief Destruct the socket.
socketcan_t::~socketcan_t()
- {
- if(socket_ != INVALID_SOCKET)
- ::close(socket_);
- }
+ {}
const struct sockaddr_can& socketcan_t::get_tx_address() const
{
{
public:
socketcan_t();
- socketcan_t(const socketcan_t&);
+ socketcan_t(const socketcan_t& s);
socketcan_t(socketcan_t&&);
virtual ~socketcan_t();