summaryrefslogtreecommitdiffstats
path: root/parameter/ConfigurableDomains.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Drop release v2.6.0+no-stlportJean-Michel Trivi2015-07-151-2/+2
| | | | | | | Bug 246391 Change-Id: I662b7b0f90c97cb169978e1b64ad1fe32c440cf5 Signed-off-by: Jean-Michel Trivi <jmtrivi@google.com>
* Type mismatch corrections (Windows 64 bits)Patrick Benavoli2015-04-241-10/+10
| | | | | | | | This patch removes the type mismatch warnings revealed by Windows 64 compiler. Wherever necessary, used size_t type for size related data. Change-Id: Ie045ce95940cd83fe8d681168ac9526fc6028d43 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
* New command for importing a single domain from a fileDavid Wagner2015-01-221-10/+36
| | | | | | | | | | | | | | | | | | 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>
* Remove const/non-const code duplication in CConfigurableDomainsDavid Wagner2015-01-221-11/+4
| | | | | | | | Implement the non-const method of findConfigurableDomain by calling the const version, as described in Effective C++ Item 3. Change-Id: Ib7b58100dc817d02092299923edf2e6c7ce2f117 Signed-off-by: David Wagner <david.wagner@intel.com>
* Allow more flexibility in overriding CElement::toXmlDavid Wagner2015-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The toXml method has a default implementation that recursively calls toXml on the children and set their "Name" attribute. With this approach, the toplevel element's name isn't set unless its overrided implementation explicitly does so. A first approach for fixing that is to set the XmlElement's name and recursively call toXml on children (without setting their name because it will be done by their toXml method). However, the "CXmlElement" being created may or may not be the object on which the toXml method is called, in which case the name will be set on the wrong XmlElement. Instead, in CElement::toXml, we set the XmlElement's name and call a new virtual method, childrenToXml which only recursively call toXml on children. This gives full flexibility to elements to choose how they want to serialize themselves and how they want to serialize their children. CConfigurableDomain::toXml is modified to take that change into account. Change-Id: Id12a1023e91cb000e55c242c13643b1db7d46871 Signed-off-by: David Wagner <david.wagner@intel.com>
* Remove using std::XXX from headersSebastien Gonzalve2014-09-111-7/+9
| | | | | This is a bad practice to have using in headers because it pollutes the namespace of any user of that header.
* 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>
* [PFW] Access Configurations directlyFrédéric Boisnard2014-02-121-1/+31
| | | | | | | | | | | | | | | | | | | | | 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: Add resync mechanism if a subsystem needs resyncGuillaume Denneulin2014-02-121-17/+9
| | | | | | | | | | | | | | | | | | | 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-20/+19
| | | | | | | | | | | | | | | | 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: Show pending configurations in status commandFrédéric Boisnard2014-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | 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: 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/+8
| | | | | | | | | | | | | | 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: Rule handling from CLIPatrick Benavoli2014-02-101-57/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Manage subsystem plugin dependencyPatrick Benavoli2014-02-101-1/+2
| | | | | | | | | | | | | | | | | | | | BZ: 15204 As subsystem plugins might depend on one another, they can't always be all loaded at once. Because a certain order must sometimes be respected, the loading process has now become iterative, not merely failing upon the first loading failure. - Fixed a missing carriage return in the configurable domains listing functionallity Change-Id: I7e0d6ecbb258fcb1acaad78359e65f0e132d09ab Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25408 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: file organizationPatrick Benavoli2014-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | BZ: 12888, 12925, 13285, 13289 - Removed hard coded paths from source files - Separated test related resources and programs into a test subfolder - Schemas folder at root containing the schemas, a symbolic link to that folder might be a good way to enable schema aware editing - Now global configuration file path is passed from the hosting platform instead of the class name. - Global configuration path contains only the relevant class related descriptions (plugin paths, structure, settings) - .user environment file eclipsed through git-ignore (and removed from projects) - Removed system class configuration obsolete files Change-Id: I99b783ba22bca05238a760b2127939a91e976be8 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25404 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>
* parameter-framework: SequencePatrick Benavoli2014-02-101-4/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 13152 - Introduced sequence notion in configurations: Sequences are configuration specific and are controlled from the Settings related XML files (order of settings appearance) as well as from the tuning interface (new commands available to set and get the sequence (setElementSequence / getElementSequence). Notes: - sequences will only matter for domains which new "SequenceAware" attribute is set to true (false by default). This attribute is also controlable through the tuning interface (setSequenceAware / getSequenceAware commands). - sequence unaware domain configurations will be applied before sequence aware ones. To allow for such functionality, the XML for settings format had to be reworked, leading to an unfortunate compatibility break. However, one benefit is that now a clear Settings section appears at the bottom of the domain description, which is easier to maintain than the previous structure where the settings appeared as sub-nodes of associated elements. Change-Id: Ic93552fd510ed8847f9c8e7d9d6164f7ea3c8c45 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/22558 Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com> Reviewed-on: http://android.intel.com:8080/26780 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
* parameter-framework: improvements and correctionsPatrick Benavoli2014-02-101-3/+2
| | | | | | | | | | | | | | | | | | BZ: 6721 - Bug correction concerning selection criteria display (inclusive type) - Adapted XML format to allow for only on parameter to be associated to a domain - Removed unused files in parameter project Change-Id: I9f42d08ff8cb60354714fe3d6b0f0b321ad0a7bf Orig-Change-Id: I837e553070f5acf2d275082c986ba29433493e31 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16878 Reviewed-by: Mahe, Erwan <erwan.mahe@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
* parameter-framework: initial commitPatrick Benavoli2011-09-081-0/+428
BZ: 6081 Parameter-framework is still-under-development, Intel proprietary, multi-platform (standard C++, for now only linux, no dependency on Android) software that allows system-wide parameter management. It relies on a number of configurations files, from which it knows how / when to hand out settings towards the hardware (subsystems) at runtime. 3 kinds of configuration files are used: - Structure description files indicating the actual parameter structure, types, min/max values, data representation. - Configurable domain description file containing the actual distribution of parameters over different domains, that is, different set of configurations, each of which being dynamically activated based on selection criteria rules that are themselves configurable. Configurable domains file contain the tuned settings along the tuning process, that is during the period where the system is being tuned. - Binary settings file used to store the settings when the tuning process is complete. Changing any of those files causes no recompilation of the framework. This project is based on a open plugin architecture allowing any kind of subsystems to be handled, whatever their respective Endianness. It fully relies on the platform SW to provide it with with the kowledge of exisitng selection criteria (selected device, current mode), as well as change events that occuring on them, thus triggering the application of corresponding configuration settings wherever appropriate. It supports handling mutliple parameter classes (Audio, Energy management) through TCP/IP interface. For now tuning commands can be sent to parameter-framework instances through a command-line utility, via adb over USB or via ethernet/WIFI. Change-Id: If7709c464db118f367f953e0824f49cce9fd0402 Orig-Change-Id: I7842e8808a4cfc0c615e0365e6d02101971ae2dc Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/16877 Reviewed-by: Mahe, Erwan <erwan.mahe@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>