summaryrefslogtreecommitdiffstats
path: root/parameter/ParameterMgr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move element tree initialisation to load functionGuillaume Denneulin2015-01-291-0/+6
| | | | | | | | | | | | | | | | | | | | BZ: 207091 The parameter platform manager used to initialize the element tree. However, this is too early for plugins, since they need information from the core which have not been initialized yet. This patch delays the initialization of the element tree by adding it to the load() function of the ParameterMgr. Change-Id: I98e0e3a20ac0af2736eddc4c8349911eb1d1a691 Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com> Reviewed-on: https://android.intel.com/215426 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Tested-by: Rocard, KevinX <kevinx.rocard@intel.com>
* ParameterMgr: add a method to forcefully disable the remote interfaceDavid Wagner2015-01-281-0/+16
| | | | | | | | | | | | | | | In some setup, users might not want to start the remote interface even if the toplevel configuration file allows it. The parameter-framework client can now override the remote interface starting policy. This was, until now, only dictated by the 'TuningAllowed' attribute in the toplevel configuration file and the presence of the libremote-processor library. This method is forwarded to the connectors and the bindings. Change-Id: Ib6dc272dfc7114125fdafd1a58642cde88847752 Signed-off-by: David Wagner <david.wagner@intel.com>
* Add {get,set}SchemaFolderLocation() to the public Pfw APIDavid Wagner2015-01-281-0/+10
| | | | | | | | | | It will allow users to tell the parameter-framework where the Schemas are instead of letting it guess. These methods are also added to both "Platform" and "Full" connectors. Change-Id: I7fe3b2fd2c6dba1d90d36de97e6db7d71b2c686f Signed-off-by: David Wagner <david.wagner@intel.com>
* ParameterMgr: enforce Tuning Mode on write access of parametersDavid Wagner2015-01-221-5/+6
| | | | | | | | | | This applies only to setParameter: this commands should only be available in Tuning Mode. This is enforced by moving the tuning mode check from the remote interface to the internal CParameterMgr::accessParameterValue() method. Additionaly, CParameterMgr::accessValue is made private. Change-Id: I189362a768ce1cd9709b6e5d48cd833f7ca56479 Signed-off-by: David Wagner <david.wagner@intel.com>
* ParameterMgr: remove some dead codeDavid Wagner2015-01-221-10/+0
| | | | | | | logStructureContent() wasn't called by anybody. Change-Id: I152b6f1790a545ab302ca90389c78c43a0bb6056 Signed-off-by: David Wagner <david.wagner@intel.com>
* ParameterMgr: fix some return values typesDavid Wagner2015-01-221-2/+2
| | | | | | | | | Some public methods returned a "CCommandHandler" enum value type, which is intended to be used in the remote tuning methods only. Primitive bools must be used instead. Change-Id: Iac7a565f701c65875b3f1dd0896bf31d7d843d72 Signed-off-by: David Wagner <david.wagner@intel.com>
* ParameterMgr: Add more tuning methods to the C++ public APIDavid Wagner2015-01-221-20/+83
| | | | | | | | | | | | | | | | | | | | These methods are: - renameDomain - setSequenceAwareness - getSequenceAwareness - renameConfiguration - setElementSequence - setApplicationRule - getApplicationRule - clearApplicationRule The "remote tuning" methods are also modified to use them instead of directly accessing inner objects and the tuning mode checking is moved to the public C++ method when applicable. Change-Id: I9cdd0abbacb76232cd746878dca9ab619e8b6b58 Signed-off-by: David Wagner <david.wagner@intel.com>
* New command for importing a single domain from a fileDavid Wagner2015-01-221-6/+91
| | | | | | | | | | | | | | | | | | The command is used as follows: importDomainWithSettingsXML <file path> [overwrite] It reads the file given as first argument (path must be absolute) and imports the domain found in it. It does not check whether it overlaps with another domain (same elements in two domains). It does, however, check if there is an existing domain with the same name as the one being imported. If so and if the (optional) second argument is "overwrite", it will first delete the existing domain; if not it will refuse to import the new domain. Change-Id: I7aaa225f2f1a296f52dc8a97f55e1ff70c06d567 Signed-off-by: David Wagner <david.wagner@intel.com>
* New remote command for exporting a single domainDavid Wagner2015-01-221-17/+59
| | | | | | | | | | | | | | | The command is used as follows: getDomainWithSettingsXML <domain> and outputs the requested domain to the standard output. In that end, the const version of CConfigurableDomains::findConfigurableDomain is made public. This somewhat breaks encapsulation but since the returned domain is const, this has limited impact. Change-Id: I9b854040a5d59913b9b405c8e38d29a3018a6079 Signed-off-by: David Wagner <david.wagner@intel.com>
* Pass the SystemClass as deserialization context for DomainsDavid Wagner2015-01-221-2/+3
| | | | | | | | | | This allows diminishing the dependency on the parent element when creating a Domain element from an XML document: the parent was used to get a handle to the system class in order to check the existence of ConfigurableElements included in the Domain. Change-Id: Icba7c3c4db2b9728c0fb7c6840a254de9775f6a4 Signed-off-by: David Wagner <david.wagner@intel.com>
* Extract and specialize domain import- and export-specific contextsDavid Wagner2015-01-221-12/+14
| | | | | | | | | | | | Import and Export of ConfigurableDomains have different context needs: e.g. the value representation is only used for export; auto-validation is only meaningful for import whereas the "with settings" context is common to both. We create two new classes, derived from XmlDomainSerializingContext and move most of its content to each class it belongs to. Change-Id: I56589cdb3a8ea417e11d2ed98ccd055d7cdead67 Signed-off-by: David Wagner <david.wagner@intel.com>
* Merge pull request #15 from krocard/Remove_non_ascii_charDavid Wagner2014-10-241-11/+11
|\ | | | | Remove non ascii char
| * Remove non ASCII char in tree representationKevin Rocard2014-10-021-11/+11
| | | | | | | | | | | | | | | | | | | | | | Some comments representing a file tree were using non ASCII characters. They are not readable on many editors leading to incoherent display. Replace them by plain ASCII characters. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
* | Remove using std::XXX from headersSebastien Gonzalve2014-09-111-1/+6
|/ | | | | This is a bad practice to have using in headers because it pollutes the namespace of any user of that header.
* Fix bug when using setConfigurationParameter commandFrédéric Boisnard2014-06-251-0/+9
| | | | | | | | | | | | | | | | | | | | | BZ: 189941 There is an issue when trying to set parameter value in a configuration using the setConfigurationParameter command. The error returned is "Unable to forward synchronize configurable element, Failed to write value in mixer control". The root cause is a recent update concerning the auto synchronization mode which is now turned on by default. The setConfigurationParameter command first updates the local Configuration blackboard, and then the Main blackboard if this Configuration is the one applicable for the domain. However, this local blackboard should not be synchronized, only the main blackboard should be. This patch deactivates synchronization for the local blackboard. Change-Id: I7ca71806309d19ae482399f474d32a0c1b70ae6c Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
* Test-platform enable/disable xml validationMattijs Korpershoek2014-06-251-12/+35
| | | | | | | | | | | | | | | | | | | | | | BZ: 184054 test-platform has no way to tell to the parameter framework that it wants the parameter framework to validate xmls on loading. New command added to test-platform executable. setValidateSchemasOnStart true|false If set to true, the parameter framework will try to validate the .xmls with the .xsds located next to them. If set to false, it will never attempt to validate. SetValidateSchemas is false by default to allow backward compatibility. Note(a): This assumes that the script is able to find the .xsd files (which should be in /tmp/Schemas/). Change-Id: I7a5b0bc09d31e6647d8c631380d31503666e7e7b Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Change the license to 3-clause BSDDavid Wagner2014-02-131-22/+27
| | | | | | | Add license header in all source files and Makefiles, Add a "COPYING" file containing the license text. Signed-off-by: David Wagner <david.wagner@intel.com>
* Improve verbosity during PFW socket creationFrédéric Boisnard2014-02-121-1/+5
| | | | | | | | | | | | | BZ: 151780 Debugging XML generation from .pfw files is uneasy because the log messages are lacking ports & sockets information. Added the port number to the logs of the PFW when a new socket is created. Change-Id: I688f954068a6819ecc9e65f7664ac7a98ca0dabf Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
* Close all dynamic libraries when PFW is destroyedRenaud de Chivre2014-02-121-3/+9
| | | | | | | | | | | | | BZ: 159294 The PFW opens many dynamic libs but does not keep any track of them. This prevents to close them cleanly and have border effect when trying to do coverage measurement. The patch ensures that the PFW closes its libraries when destroyed. Change-Id: Idd1f69bfbc719e8e000914bef990c809ec5ed206 Signed-off-by: Renaud de Chivre <renaud.de.chivre@intel.com>
* Make "Path not found" error more verboseKevin Rocard2014-02-121-3/+3
| | | | | | | | | | | | | BZ: 156207 When an error occurs while using a path one does not know which path it refers to. Append the unfound path to the error : "Path not found: /the/path/that/was/not/found" Change-Id: If53c1a5c301906b464d38f604d6e97029f83ae3f Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
* Add an option to continue on failed setting loadKevin Rocard2014-02-121-2/+33
| | | | | | | | | | | | | | | | | BZ: 122982 When the PFW starts it loads the configurable domains, if the load fails, it used to abort the parameterMgr global load. Add an option to continue on failed setting load, as if there were none. Change-Id: Ifd3cd859ad0eaef266be4c9245ebd28c9e9c0a74 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/119924 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* Add missing subsystem policyKevin Rocard2014-02-121-2/+13
| | | | | | | | | | | | | | | | | | BZ: 122982 When the PFW starts it loads subsystems using there corresponding plugin. If the requested plugin is not found, the start fails. This is a problem, as for host, the plugins are not compiled. Add a command in the public API to ignore missing subsystem. Change-Id: I7597e3fef33466638191ff70b76e7faa9f979418 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/118039 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* Change the element builder semanticKevin Rocard2014-02-121-25/+25
| | | | | | | | | | | | | | | | | | | | BZ: 122982 To parse XML, the PFW uses factories containing a map of XML tags and their associated builder builder. The builders used to contain the XML tag of the XML element that it will use in the context of the factory. A builder and an XML tag are already linked by the factory, thus the tag member in the builder is redundant. Remove the XML tag builder attribute and provide it on factory filling. Change-Id: I827c3b34dffb23bc850316d0b092b31c21987ac2 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/124214 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* Add showMapping command to the PFWFrederic Boisnard2014-02-121-4/+73
| | | | | | | | | | | | | | | | | | | | BZ: 99822 Developers often need to get the mapping corresponding to a specific parameter. However, the PFW doesn't provide a command to achieve this goal. This patch aims to add the showMapping command to the PFW. Change-Id: I05af64a408abe4ceb7f5d177a0ff5fa0461034d0 Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/105145 Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* [PFW] Add getFormattedMapping for InstanceConfigurableElementsFrederic Boisnard2014-02-121-4/+6
| | | | | | | | | | | | | | | | | | | | | BZ: 99822 The mapping data need to be printed, however helper methods are missing to achieve this easily. This patch aims to add a new method "getFormattedMapping()" for CMappingData, allowing to format the mapping data as a string. Change-Id: Ia030c6b88905fcb7591ad45339712051eb88d1c1 Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/109301 Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Mark the getDomainsXML command as deprecatedKevin Rocard2014-02-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | BZ: 116973 The patch 15db1a7d renamed the command getDomainsXML to getDomainsWithSettingsXML. This changes the PFW API and breaks the PFW backward compatibility. Put the command back marked as deprecated. Both getDomainsXML and getDomainsWithSettingsXML are now supported. getDomainsXML output an deprecated message when used. Change-Id: Id838b6e02f003c789bb9cbe7a534e4985a4b348f Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/114071 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add setDomainsXML command to import domains from stringGeorges-Henri Baron2014-02-121-74/+121
| | | | | | | | | | | | | | | | | | | | | BZ: 55694 Unable possibility to import the configurable domains from a string Create one command that can be called through the command line of the parameter-framework. The command setDomainXML allows to import configurable domains with settings from a string provided as first argument containing the xml description. Change-Id: I6db7ccb8ba61b5e4c8ba81579a68f40e887d1534 Signed-off-by: Georges-Henri Baron <georges-henrix.baron@intel.com> Reviewed-on: http://android.intel.com:8080/65408 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Wrap command table linesKevin Rocard2014-02-121-57/+133
| | | | | | | | | | | | | | | | | | BZ: 101806 The coding style request all lines to be shorter than 100 caracters. Wrap modified table lines. Change-Id: Ib3ec331a162fff11f41ad82eedb9e84656dde2f7 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/109776 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* Add an optional csv flag to the listCriteria commandKevin Rocard2014-02-121-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 101806 The listCriteria command output is very dificult to parse. The default output format contains a lot of useless formating character: $ listCriteria BandRinging: ============ Possible states (Exclusive): {NetworkGenerated, PhoneGenerated} Current state = <none> Add a optional csv flag. With this flag, each criterion info fits in one line, with each field separated by commas: $ listCriteria csv Criterion name: BandRinging, type kind: exclusive, current state: <none>, states: {NetworkGenerated, PhoneGenerated} Change-Id: I7f2b0a86405846b03cab7f4a3023503b69c6e29b Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/102724 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@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>
* Reduce parameter-framework log on startKevin Rocard2014-02-121-1/+1
| | | | | | | | | | | | | | | | | | BZ: 102528 The PFW used to make a lot of useless log during init. Delete those useless logs. Change-Id: I9e4cf6461d4eb643444443ea57e90f97f79571a3 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/103882 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Fix the useless subsystem resync on PFW loadKevin Rocard2014-02-121-0/+3
| | | | | | | | | | | | | | | | | | | | BZ: 97808 The PFW used to resynchronise some subsystems at start before back/forward syncronisation. Which was useless. Reset subsystems 'needToResync' flag during PFW start before sync to avoid this dummy resync. Change-Id: Id0c0bb786f10e2724222fc18f2085164e95f963f Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/98452 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* [PFW] Fix issue when setting a parameter of a configuration not applicableFrédéric Boisnard2014-02-121-7/+13
| | | | | | | | | | | | | | | | | | | | | BZ: 93374 This patch aims to fix an issue when using the command setConfigurationParameter to update the value of a parameter of a configuration. The autosync shall be turned off when updating the value of a parameter in a configuration that is not currently applicable. Change-Id: I12f9d37e544dc7b54f1bed0470783fdfc8568b7c Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/96832 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* [PFW] Access Configurations directlyFrédéric Boisnard2014-02-121-7/+96
| | | | | | | | | | | | | | | | | | | | | 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>
* PFW: Correct truncated criterion logKevin Rocard2014-02-121-4/+1
| | | | | | | | | | | | | | | | | | | | | | BZ: 85746 Create a log fonction to log a string table. Use it to call the log function for each criterion. Context: When the PFW starts, it logs the criteria, their states and possible values. All criterion logs where concatenate in a string and logged. But if there is a lot of criteria, the 512 chars long log buffer might be overfload and the log is truncated. Change-Id: I72c89b25de9314b714763b3ac71a7d0cb9698910 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/90089 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>
* PFW: Back synchronisation no longer failsKevin Rocard2014-02-121-7/+1
| | | | | | | | | | | | | | | | | | | | | | BZ: 80500 As forward synchronisation, back synchronisation no longer return false if a syncer fails to backsynchronise. On subsystem restart, it will be resynchronise, so the back synchronisation failure is a warning not an error. As a result this patch also prevents PFW initialisation failure in case of unavailable subsystem. Change-Id: I21fe05747153a63cb77ed784532f3cbbf184d820 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/87779 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: Log criterion state at PFW startKevin Rocard2014-02-121-4/+25
| | | | | | | | | | | | | | | BZ: 77959 The PFW will log criterion patch state at start before appling configuration. Change-Id: I4ac3676b9ba685c1e226a8495ffdbe98f0c08219 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/79965 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: Add resync mechanism if a subsystem needs resyncGuillaume Denneulin2014-02-121-11/+20
| | | | | | | | | | | | | | | | | | | BZ: 76267 In the case of a hw subsystems reset, it's possible that its parameter managed by the PFW may not be aligned with the PFW blackboard. A re-synchronization mechanism is implemented to ensure that the subsystem is re-synchronized on the next configurations application. Change-Id: I032150955d25a7020cf494e69456897b4c157916 Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/83015 Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: Do not stop on hard sync errorsKevin Rocard2014-02-121-32/+38
| | | | | | | | | | | | | | | | BZ: 76263 When synchronization fails, the parameter-framework should log a warning and continue synchronization instead of stopping Change-Id: Ic12d8798ea25584db714ee26e644fac793c28881 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/81825 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: Improve login in PFW core and amixer pluginKevin Rocard2014-02-121-10/+12
| | | | | | | | | | | | | | | | | | | | BZ: 71914 Autolog adds a nesting log level. It is not always needed. For example in a Debug context a lot of log can be expected, so this level is useful but not otherwise. Autolog nesting is now optional. Add log during PFW structure loading. Change-Id: I24e1f615e3032c70a3b8b85a1cc1804dc49b631c Origin-Change-Id: I1f2c6c843e17595d4a81c1d2dfbff30d4187cdf8 Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/81269 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com>
* PFW: Show pending configurations in status commandFrédéric Boisnard2014-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | | BZ: 56118 Update the "status" command of the PFW to display the current pending configurations for all domains, that is to say configurations that are waiting the next call to "applyConfiguration()" to be applied. This improvement will help developers to better understand the current state of the PFW, in particular when dealing with HAL modifications. Change-Id: I6300620ad8cedcb534fb2859b57b7ab2988fa618 Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/64796 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Display warning messages to help userFrédéric Boisnard2014-02-121-1/+8
| | | | | | | | | | | | | | | | | | | | BZ: 54512 Display a warning message when a configuration cannot be applied because the TuningMode is on, in order to help user to identify potential issues. Display a warning message when a criterion change doesn't lead to a configuration application (a check is performed each time a criterion is changed). Change-Id: Id872655c92770d1f6f1b01b20db2fde3db826ceb Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/63845 Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add two commands to print xml settings and structureGeorges-Henri Baron2014-02-121-43/+104
| | | | | | | | | | | | | | | | | | | | | BZ: 44910 Creates two commands that can be called through the command line of the parameter-framework. First command getDomainXML returns a string containing the xml structure of the domains, configurations and settings. Second command getSystemClassXML returns a string containing the xml structure of all the instantiated parameter with their attributes. Change-Id: I9a35333802049a2177b8fc416754fdb67e6efff0 Signed-off-by: Georges-Henri Baron <georges-henrix.baron@intel.com> Reviewed-on: http://android.intel.com:8080/55155 Reviewed-by: Rocard, KevinX <kevinx.rocard@intel.com> Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Remove names from PFW license headerKevin Rocard2014-02-121-7/+1
| | | | | | | | | | | | | | | BZ: 47701 As parameter framework code is proprietary, it should not be signed (patrick Benavoli name inside the header). Change-Id: I198f2851ee2a6cffed64a552fa399b072a0cbd3e orig-Change-Id: I335ecce2fa22ad11d6fa24f57c7cbbae3423bf1e Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Reviewed-on: http://android.intel.com:8080/59560 Reviewed-by: Mendi, EduardoX <eduardox.mendi@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Add a command to delete all domainsKevin Rocard2014-02-121-0/+22
| | | | | | | | | | | | | | BZ: 42432 This command is useful to reset all PFW settings. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com> Change-Id: I23b74c45205739aeca71278979699b6b88f3111e Reviewed-on: http://android.intel.com:8080/53332 Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Fixed ParameterMgr destructorFrederic Boisnard2014-02-121-0/+1
| | | | | | | | | | | | | | | | BZ: 33745 The destructor of ParameterMgr did not destroy the instance of CCommandHandler. This issue is fixed by this patch. Change-Id: Ied23c7a094bb1cc528723a79e001cd6defa556d8 Signed-off-by: Frederic Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/46429 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Reviewed-by: Benavoli, Patrick <patrick.benavoli@intel.com> Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* gcc4.6: Fix incompatible type casts for 4.6 toolchain.Pavel Chupin2014-02-121-3/+3
| | | | | | | | | | | | | | | BZ: 33304 Change-Id: I6a13f95b0c5636591f76e7f123c0813608d50c73 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com> Reviewed-on: http://android.intel.com:8080/45958 Reviewed-by: Lu, Hongjiu <hongjiu.lu@intel.com> Reviewed-by: Beare, Bruce J <bruce.j.beare@intel.com> Reviewed-by: Yin, Fengwei <fengwei.yin@intel.com> Reviewed-by: Li, XiaojingX <xiaojingx.li@intel.com> Tested-by: Li, XiaojingX <xiaojingx.li@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Enhance subsytem libraries load mechanismGuillaume Denneulin2014-02-101-25/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 24093 If a subsystem library depends on another one, the libraries have to be loaded in a predefined order. the previous recovery mechanism on PFW was: When a subsystem library does not load because of a missing dependency, it tries to load all the other subsystems before trying one more time to load the failing library. Unfortunately, Android linker does not allow several try when loading a library. In consequence, this patch implements a new mechanism to load its subsystem libraries. For this new mechanism, the PFW will load the subsystem libraries in the order they are disposed in the file ParameterFrameworkConfiguration.xml Change-Id: I39b97e33c77a6b4392c3813cd3d780e10e3b60f8 Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/35903 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Enum parameter mappingPatrick Benavoli2014-02-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | BZ: 22125 Enum parameter types are now fully parsed as any other types, which allow Mapping attributes to be correctly interpreted. Now inner structure of enum parameter types is based on automatically created objects: ValuePair Slight adaptation of to ICS environment in Android.mk files and XmlComposer (time.h). More explicit error statement issued in case of plugin load failure in SystemClass.cpp. Added a log for Alsa mixer elements accesses. Change-Id: Ia71fd854e639a288c5dae79260b1e2a0eb1a7ac2 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/33756 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Rule handling from CLIPatrick Benavoli2014-02-101-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 15689 These changes enable handling changing the rules for configuration application from the command line interface. It is possible to assign a new rule, to display the existing one or to clear it. Restriction: like in XML, root rule must be compound. Syntax is the following: - Criterion rule expression: <criterion> <verb> <object> - Compound rule expression (All|Any){<content>} where <content> is a comma separated list of any kind of rules. Example: All{Any{SelectedOutputDevice Includes Headphones, SelectedOutputDevice Includes Headset}, Any{Mode Is Normal, Mode Is RingTone}} means the pertaining configuration will be applied when Selected device includes either Headphones or Headset, while, ate the same time, Mode is either Normal or RingTone. Added dumpDomains remote command to show a summary of domains, configurations as well as their application conditions (tree view). Removed not anymore necessary guard against deletion of domains or configurations that contain rules, ad now they're controlled from the CLI. Change-Id: Iad2c183271b077b8bbc8ac2fc5f37c266004070f Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/26100 Reviewed-by: De Chivre, RenaudX <renaudx.de.chivre@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* PFW: Max value on bit parametersPatrick Benavoli2014-02-101-3/+3
| | | | | | | | | | | | | | | | | | | BZ: 15708 Added Max attribute on bit parameter types. Max attribute, as the parameter itself is unsigned and can't exceed the maximum encodable value decided by the parameter's bit size. In addition, fixed a small mistake in CParameterMgr::createParameterHandle where now NULL is properly returned in case of failure instead of "false". Change-Id: Ifb0af6b4d43dc2c0ddb4e0e038b1ce226772d71f Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/26098 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>