diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-25 17:12:37 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 17:55:05 +0200 |
commit | 9f0d5da859bfe7778394f35baf48fbe77f1ed7d9 (patch) | |
tree | 1171c20714c22f7a433283fe821732a59f2836eb /low-can-binding/binding/low-can-subscription.cpp | |
parent | ed4d7bde0c6dd6d7f4812f2601e1fa2f681ed960 (diff) |
Use subscription's sockets as shared_ptr
This change is made to leverage C++ to read and write the different socket
classes depending on CAN protocol used.
Bug-AGL: SPEC-2386
Change-Id: I5e25e271fc82e9627f836aeb43b2af5ef25db83a
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding/binding/low-can-subscription.cpp')
-rw-r--r-- | low-can-binding/binding/low-can-subscription.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/low-can-binding/binding/low-can-subscription.cpp b/low-can-binding/binding/low-can-subscription.cpp index d8149b64..09e9b807 100644 --- a/low-can-binding/binding/low-can-subscription.cpp +++ b/low-can-binding/binding/low-can-subscription.cpp @@ -49,7 +49,7 @@ low_can_subscription_t& low_can_subscription_t::operator=(const low_can_subscrip low_can_subscription_t::~low_can_subscription_t() { - socket_.close(); + socket_->close(); } low_can_subscription_t::operator bool() const @@ -200,7 +200,7 @@ float low_can_subscription_t::get_max() const return event_filter_.max; } -utils::socketcan_bcm_t& low_can_subscription_t::get_socket() +std::shared_ptr<utils::socketcan_t> low_can_subscription_t::get_socket() { return socket_; } @@ -229,12 +229,12 @@ int low_can_subscription_t::open_socket(const std::string& bus_name) if(! socket_) { if( can_signal_ != nullptr) - {ret = socket_.open(can_signal_->get_message()->get_bus_device_name());} + {ret = socket_->open(can_signal_->get_message()->get_bus_device_name());} else if (! diagnostic_message_ .empty()) - {ret = socket_.open(application_t::instance().get_diagnostic_manager().get_bus_device_name());} + {ret = socket_->open(application_t::instance().get_diagnostic_manager().get_bus_device_name());} else if ( ! bus_name.empty()) - { ret = socket_.open(bus_name);} - index_ = (int)socket_.socket(); + { ret = socket_->open(bus_name);} + index_ = (int)socket_->socket(); } return ret; } @@ -337,7 +337,7 @@ int low_can_subscription_t::create_rx_filter(utils::bcm_msg& bcm_msg) // else monitor all standard 8 CAN OBD2 ID response. if(bcm_msg.msg_head.can_id != OBD2_FUNCTIONAL_BROADCAST_ID) { - socket_.write_message(bcm_msg); + socket_->write_message(bcm_msg); if(! socket_) return -1; } @@ -347,7 +347,7 @@ int low_can_subscription_t::create_rx_filter(utils::bcm_msg& bcm_msg) { bcm_msg.msg_head.can_id = OBD2_FUNCTIONAL_RESPONSE_START + i; - socket_.write_message(bcm_msg); + socket_->write_message(bcm_msg); if(! socket_) return -1; } @@ -384,7 +384,7 @@ int low_can_subscription_t::tx_send(struct canfd_frame& cfd, const std::string& if(open_socket(bus_name) < 0) {return -1;} - socket_.write_message(bcm_msg); + socket_->write_message(bcm_msg); if(! socket_) return -1; |