diff options
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r-- | src/components/application_manager/src/application_manager_impl.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 7aa1bd550d..f525165827 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -835,6 +835,27 @@ void ApplicationManagerImpl::OnMessageReceived( messages_from_hmi_.PostMessage(impl::MessageFromHmi(message)); } +ApplicationConstSharedPtr ApplicationManagerImpl::WaitingApplicationByID( + const uint32_t hmi_id) const { + AppsWaitRegistrationSet app_list = AppsWaitingForRegistration().GetData(); + + AppsWaitRegistrationSet::const_iterator it_end = app_list.end(); + + HmiAppIdPredicate finder(hmi_id); + ApplicationSharedPtr result; + ApplicationSetConstIt it_app = std::find_if(app_list.begin(), it_end, finder); + if (it_app != it_end) { + result = *it_app; + } + return result; +} + +DataAccessor<AppsWaitRegistrationSet> +ApplicationManagerImpl::AppsWaitingForRegistration() const { + return DataAccessor<AppsWaitRegistrationSet>(apps_to_register_, + apps_to_register_list_lock_); +} + bool ApplicationManagerImpl::IsAppsQueriedFrom( const connection_handler::DeviceHandle handle) const { sync_primitives::AutoLock lock(apps_to_register_list_lock_); |