X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fbinding%2Fapplication.cpp;h=d22633f993224fe64282f4002a7dab22c56b3117;hb=33cc8f946c04532d395a3929ccb06938014b0714;hp=a85b518465a978a7276d16d2d5138c8dac042210;hpb=e190b7b3069d86fce25831c366bb0cd3fa615289;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/binding/application.cpp b/low-can-binding/binding/application.cpp index a85b5184..d22633f9 100644 --- a/low-can-binding/binding/application.cpp +++ b/low-can-binding/binding/application.cpp @@ -52,32 +52,49 @@ uint8_t application_t::get_active_message_set() const return active_message_set_; } -std::vector > application_t::get_can_message_set() +std::vector > application_t::get_message_set() { - return can_message_set_; + return message_set_; } -std::vector > application_t::get_all_can_signals() +vect_ptr_signal_t application_t::get_all_signals() { - return can_message_set_[active_message_set_]->get_all_can_signals(); + return message_set_[active_message_set_]->get_all_signals(); } -std::vector >& application_t::get_diagnostic_messages() +vect_ptr_diag_msg_t application_t::get_diagnostic_messages() { - return can_message_set_[active_message_set_]->get_diagnostic_messages(); + return message_set_[active_message_set_]->get_diagnostic_messages(); } -std::vector >& application_t::get_can_message_definition() +vect_ptr_msg_def_t application_t::get_messages_definition() { - return can_message_set_[active_message_set_]->get_can_message_definition(); + return message_set_[active_message_set_]->get_messages_definition(); } + +std::shared_ptr application_t::get_message_definition(uint32_t id) +{ + std::shared_ptr ret = nullptr; + vect_ptr_msg_def_t messages_definition = get_messages_definition(); + for(std::shared_ptr &msg_def : messages_definition) + { + if(msg_def->get_id() == id) + { + ret = msg_def; + break; + } + } + return ret; +} + + uint32_t application_t::get_signal_id(diagnostic_message_t& sig) const { return sig.get_pid(); } -uint32_t application_t::get_signal_id(can_signal_t& sig) const +uint32_t application_t::get_signal_id(signal_t& sig) const { return sig.get_message()->get_id(); } @@ -95,12 +112,12 @@ bool application_t::isEngineOn() bool engine_on = false; uint64_t last_timestamp_in_s; - if(sf.can_signals.size() == 1) + if(sf.signals.size() == 1) { - last_timestamp_in_s = sf.can_signals.front()->get_last_value_with_timestamp().second + last_timestamp_in_s = sf.signals.front()->get_last_value_with_timestamp().second / MICROSECONDS_IN_SECOND; - if(sf.can_signals.front()->get_last_value_with_timestamp().first > 0 && + if(sf.signals.front()->get_last_value_with_timestamp().first > 0 && std::difftime(std::time(nullptr), last_timestamp_in_s) < ENGINE_VALUE_TIMEOUT) { engine_on = true; @@ -137,3 +154,22 @@ bool application_t::isEngineOn() return engine_on; } + +#ifdef USE_FEATURE_J1939 +std::shared_ptr application_t::get_socket_address_claiming() +{ + return subscription_address_claiming_->get_socket(); +} + +std::shared_ptr application_t::get_subscription_address_claiming() +{ + return subscription_address_claiming_; +} + + +void application_t::set_subscription_address_claiming(std::shared_ptr new_subscription) +{ + subscription_address_claiming_ = new_subscription; +} + +#endif \ No newline at end of file