}
// check if error or hangup
- if ((revents & (EPOLLERR|EPOLLRDHUP|EPOLLHUP)) != 0)
+ if ((revents & (EPOLLERR | EPOLLRDHUP | EPOLLHUP)) != 0)
{
sd_event_source_unref(event_source);
can_subscription->get_socket()->close();
}
static int subscribe_unsubscribe_diagnostic_messages(afb_req_t request,
- bool subscribe,
- list_ptr_diag_msg_t diagnostic_messages,
- struct event_filter_t& event_filter,
- map_subscription& s,
- bool perm_rec_diag_req)
+ bool subscribe,
+ list_ptr_diag_msg_t diagnostic_messages,
+ struct event_filter_t& event_filter,
+ map_subscription& s,
+ bool perm_rec_diag_req)
{
int rets = 0;
application_t& app = application_t::instance();
}
static int subscribe_unsubscribe_signals(afb_req_t request,
- bool subscribe,
- list_ptr_signal_t signals,
- struct event_filter_t& event_filter,
- map_subscription& s)
+ bool subscribe,
+ list_ptr_signal_t signals,
+ struct event_filter_t& event_filter,
+ map_subscription& s)
{
int rets = 0;
for(const auto& sig: signals)
if( !sf.signals.empty() )
{
AFB_DEBUG("ID WRITE RAW : %d",sf.signals.front()->get_message()->get_id());
- if(flags&BCM_PROTOCOL)
+ if(flags & BCM_PROTOCOL)
{
if(sf.signals.front()->get_message()->is_fd())
{
{
if(flags & BCM_PROTOCOL)
{
- if( subscription.signal_ != nullptr)
- {
- subscription.socket_ = std::make_shared<utils::socketcan_bcm_t>();
- ret = subscription.socket_->open(subscription.signal_->get_message()->get_bus_device_name());
- }
- else if (! subscription.diagnostic_message_ .empty())
- {
- subscription.socket_ = std::make_shared<utils::socketcan_bcm_t>();
- ret = subscription.socket_->open(application_t::instance().get_diagnostic_manager().get_bus_device_name());
- }
- else if ( !bus_name.empty())
- {
- subscription.socket_ = std::make_shared<utils::socketcan_bcm_t>();
- ret = subscription.socket_->open(bus_name);
- }
+ subscription.socket_ = std::make_shared<utils::socketcan_bcm_t>();
+ if( subscription.signal_ )
+ ret = subscription.socket_->open(subscription.signal_->get_message()->get_bus_device_name());
+ else if(! subscription.diagnostic_message_.empty())
+ ret = subscription.socket_->open(application_t::instance().get_diagnostic_bus());
+ else if(! bus_name.empty())
+ ret = subscription.socket_->open(bus_name);
+
subscription.index_ = (int)subscription.socket_->socket();
}
#ifdef USE_FEATURE_ISOTP
else if(flags & ISOTP_PROTOCOL)
{
- if(subscription.signal_ != nullptr)
+ std::shared_ptr<utils::socketcan_isotp_t> socket = std::make_shared<utils::socketcan_isotp_t>();
+ if(subscription.signal_ )
{
canid_t rx = NO_CAN_ID;
canid_t tx = NO_CAN_ID;
rx = subscription.signal_->get_message()->get_id();
tx = subscription.get_tx_id();
}
- std::shared_ptr<utils::socketcan_isotp_t> socket = std::make_shared<utils::socketcan_isotp_t>();
ret = socket->open(subscription.signal_->get_message()->get_bus_device_name(),rx,tx);
subscription.socket_ = socket;
}
- else if(!bus_name.empty())
+ else if(! bus_name.empty())
{
- std::shared_ptr<utils::socketcan_isotp_t> socket = std::make_shared<utils::socketcan_isotp_t>();
ret = socket->open(bus_name, subscription.get_rx_id(),subscription.get_tx_id());
subscription.socket_ = socket;
}