summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander <akutsan@luxoft.com>2018-06-15 14:15:58 +0300
committerIra Lytvynenko (GitHub) <ILytvynenko@luxoft.com>2018-06-27 18:20:29 +0300
commit40c1131d138e5df1eb4fc64f235f3df16301efdd (patch)
treec6d3a258cd1c16f21bca0944eefc486d6444ba35
parent7fb5c42e8c5fc391efc3fb2788d590d0c59f502e (diff)
downloadsdl_core-40c1131d138e5df1eb4fc64f235f3df16301efdd.tar.gz
Implement Extensions() functions
Extensions() function returns list of registered application extensions
-rw-r--r--src/components/application_manager/include/application_manager/application.h6
-rw-r--r--src/components/application_manager/include/application_manager/application_impl.h2
-rw-r--r--src/components/application_manager/src/application_impl.cc4
3 files changed, 12 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h
index 0a70d81648..fd0503581c 100644
--- a/src/components/application_manager/include/application_manager/application.h
+++ b/src/components/application_manager/include/application_manager/application.h
@@ -903,6 +903,12 @@ class Application : public virtual InitialApplicationData,
virtual bool RemoveExtension(AppExtensionUID uid) = 0;
/**
+ * @brief Get list of available application extensions
+ * @return application extensions
+ */
+ virtual const std::list<AppExtensionPtr>& Extensions() const = 0;
+
+ /**
* @brief Get list of subscriptions to vehicle info notifications
* @return list of subscriptions to vehicle info notifications
*/
diff --git a/src/components/application_manager/include/application_manager/application_impl.h b/src/components/application_manager/include/application_manager/application_impl.h
index e4b3751403..24426f1c68 100644
--- a/src/components/application_manager/include/application_manager/application_impl.h
+++ b/src/components/application_manager/include/application_manager/application_impl.h
@@ -441,6 +441,8 @@ class ApplicationImpl : public virtual Application,
*/
bool RemoveExtension(AppExtensionUID uid) OVERRIDE;
+ const std::list<AppExtensionPtr>& Extensions() const OVERRIDE;
+
std::string hash_val_;
uint32_t grammar_id_;
diff --git a/src/components/application_manager/src/application_impl.cc b/src/components/application_manager/src/application_impl.cc
index 99927e8069..a53fe52675 100644
--- a/src/components/application_manager/src/application_impl.cc
+++ b/src/components/application_manager/src/application_impl.cc
@@ -1138,6 +1138,10 @@ bool ApplicationImpl::RemoveExtension(AppExtensionUID uid) {
return it != extensions_.end();
}
+const std::list<AppExtensionPtr>& ApplicationImpl::Extensions() const {
+ return extensions_;
+}
+
void ApplicationImpl::PushMobileMessage(
smart_objects::SmartObjectSPtr mobile_message) {
sync_primitives::AutoLock lock(mobile_message_lock_);