diff options
Diffstat (limited to 'src/components/application_manager/include/application_manager/helpers/application_helper.h')
-rw-r--r-- | src/components/application_manager/include/application_manager/helpers/application_helper.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/helpers/application_helper.h b/src/components/application_manager/include/application_manager/helpers/application_helper.h index 18267c9e7f..a7933c2451 100644 --- a/src/components/application_manager/include/application_manager/helpers/application_helper.h +++ b/src/components/application_manager/include/application_manager/helpers/application_helper.h @@ -69,6 +69,19 @@ ApplicationSharedPtr FindPendingApp( return app; } +template <class UnaryPredicate> +ApplicationSharedPtr FindReregisterApp( + DataAccessor<ReregisterWaitList> accessor, UnaryPredicate finder) { + ReregisterWaitList::const_iterator begin = accessor.GetData().begin(); + ReregisterWaitList::const_iterator end = accessor.GetData().end(); + ReregisterWaitList::const_iterator it = std::find_if(begin, end, finder); + if (accessor.GetData().end() == it) { + return ApplicationSharedPtr(); + } + ApplicationSharedPtr app = *it; + return app; +} + /** * Helper function for lookup through applications list and returning all * applications satisfying predicate logic |