summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/application_manager_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/application_manager_impl.cc')
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc21
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_);