diff options
author | Frédéric Boisnard <fredericx.boisnard@intel.com> | 2013-02-25 15:56:56 +0100 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-12 17:03:48 +0100 |
commit | e42dacdeaf82d63000be61c6f1583a2ab08e0a98 (patch) | |
tree | ffbdab1836280ba3e9a979802949edb046f21c04 /parameter/DomainConfiguration.cpp | |
parent | 6bc17c03f4b006a411b768fca33269843144542d (diff) | |
download | external_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.cpp | 31 |
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) { |