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-26 12:01:48 +0300
commit8feb69c064325bc2e06e43324aed20f2ca0cd445 (patch)
treee7255e97cb8ba59d1d002bc4197def63a69c181c
parent638722b3220c6e1da2e5196601fbb50b5931ac19 (diff)
downloadsdl_core-8feb69c064325bc2e06e43324aed20f2ca0cd445.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 1ea613b1a6..f398b14056 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 43c5c2724c..cea72e5362 100644
--- a/src/components/application_manager/src/application_impl.cc
+++ b/src/components/application_manager/src/application_impl.cc
@@ -1135,6 +1135,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_);