aboutsummaryrefslogtreecommitdiffstats
path: root/parameter/DomainConfiguration.cpp
diff options
context:
space:
mode:
authorFrédéric Boisnard <fredericx.boisnard@intel.com>2013-02-25 15:56:56 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-12 17:03:48 +0100
commite42dacdeaf82d63000be61c6f1583a2ab08e0a98 (patch)
treeffbdab1836280ba3e9a979802949edb046f21c04 /parameter/DomainConfiguration.cpp
parent6bc17c03f4b006a411b768fca33269843144542d (diff)
downloadexternal_parameter-framework-e42dacdeaf82d63000be61c6f1583a2ab08e0a98.zip
external_parameter-framework-e42dacdeaf82d63000be61c6f1583a2ab08e0a98.tar.gz
external_parameter-framework-e42dacdeaf82d63000be61c6f1583a2ab08e0a98.tar.bz2
[PFW] Access Configurations directly
BZ: 88357 This patch aims to enable direct access to Configurations without using the main blackboard. 2 additional commands are available: - getConfigurationParameter <domain> <configuration> <param path>: Get value for parameter at given path from configuration. - setConfigurationParameter <domain> <configuration> <param path> <value> Set value for parameter at given path to configuration. Change-Id: I9357ba5141feee558fa3f7c10f62db14406433b6 Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/92325 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'parameter/DomainConfiguration.cpp')
-rw-r--r--parameter/DomainConfiguration.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/parameter/DomainConfiguration.cpp b/parameter/DomainConfiguration.cpp
index 1aa3e0d..ec6e186 100644
--- a/parameter/DomainConfiguration.cpp
+++ b/parameter/DomainConfiguration.cpp
@@ -318,6 +318,37 @@ void CDomainConfiguration::getApplicationRule(string& strResult) const
}
}
+/**
+ * Get the Configuration Blackboard.
+ *
+ * Fetch the Configuration Blackboard related to the ConfigurableElement given in parameter. This
+ * Element is used to retrieve the correct AreaConfiguration where the Blackboard is stored.
+ *
+ * @param[in] pConfigurableElement A pointer to a ConfigurableElement that is part of the
+ * Domain. This must have been checked previously, as an
+ * assertion is performed.
+ *
+ * return Pointer to the Blackboard of the Configuration.
+ */
+CParameterBlackboard* CDomainConfiguration::getBlackboard(const CConfigurableElement* pConfigurableElement) const
+{
+ AreaConfigurationListIterator it;
+
+ for (it = _areaConfigurationList.begin(); it != _areaConfigurationList.end(); ++it) {
+
+ CAreaConfiguration* pAreaConfiguration = *it;
+
+ // Check if the Element is associated with the Domain
+ if (pAreaConfiguration->getConfigurableElement() == pConfigurableElement) {
+
+ return &pAreaConfiguration->getBlackboard();
+ }
+ }
+
+ assert(0);
+ return NULL;
+}
+
// Save data from current
void CDomainConfiguration::save(const CParameterBlackboard* pMainBlackboard)
{