aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Removed spurious execution mode on source filesPatrick Benavoli2015-02-188-0/+0
| | | | | | | | | BZ: 208504 Some source files were mistakenly assigned the executable flag. Change-Id: Iad85123c331d2599126ed46f070fe10614f7c360 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
* Adding a missing const in a get type methodPatrick Benavoli2015-01-292-3/+14
| | | | | | | | | BZ: 208504 CParameterAccessContext::outRawFormatIsHex() was missing the const modifier. Change-Id: I3120a231d2dff8f4274b95cd2d3c8ff0817bf8ac Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
* Move element tree initialisation to load functionGuillaume Denneulin2015-01-292-6/+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>
* Fixing TestPlatform.cpp file coding styleJules Clero2015-01-291-91/+114
| | | | | | | | | | BZ: 213233 TestPlatform.cpp has been edited regarding uncrustify suggestions. Change-Id: Iac75c5923d5bf9836730ca6f21789967a98895e9 Signed-off-by: Jules Clero <jules.clero@intel.com>
* Fix test-platform set criterion by Lexical State BugJules Clero2015-01-291-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 213233 The setCriterionState command of the Test Platform was setting undesired value when asking for multiple states to an InclusiveCriterion. The method used in setCriterionStateByLexicalSpace was to parse arguments before to get numerical value for each of them with the getNumericalValue method from ISelectionCriterionTypeInterface. Then, different masks were aggregated to set the criterion's state. Regarding the getNumericalValue method behaviour which parses automatically value arguments, this method leads to undesired bytes in the mask which leads to undesired criterion's state. The solution is to aggregate the setCriterionState arguments when more than one arg are used. As getNumericalValue use | to split his first parameter, the code has been modified to use this behaviour. getNumericalValue is now called only one time and the returned mask is directly used to set criterion's state. Change-Id: Ie3a1d79a6f66928a2418f11233ff0d1ef5c3e900 Signed-off-by: Jules Clero <jules.clero@intel.com>
* Merge pull request #38 from dawagner/python-bindingsDavid Wagner2015-01-2925-1238/+2240
|\ | | | | Python bindings and new EDD -> XML generator using these bindings
| * python bindings: add a READMEDavid Wagner2015-01-281-0/+29
| | | | | | | | | | Change-Id: I361ef7ca42fb79f61164f227b8f7893f90332b62 Signed-off-by: David Wagner <david.wagner@intel.com>
| * xmlGenerator: update the READMEDavid Wagner2015-01-281-10/+49
| | | | | | | | | | | | | | Document the new python xml generator and deprecate the old one. Change-Id: I5bf9a8206c82678eda7b29b1fe88cbc0396b1f9d Signed-off-by: David Wagner <david.wagner@intel.com>
| * domainGenerator.py: disable the remote interfaceDavid Wagner2015-01-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | The remote interface sometimes gets in the way of XML generation when the port is already in use. A "retry" mechanism existed in the previous generator but was unreliable. In the new generator, we disable it altogether as we don't need it. Change-Id: I0a1850058b688f5ea09b93959601d3c706d812b6 Signed-off-by: David Wagner <david.wagner@intel.com>
| * ParameterMgr: add a method to forcefully disable the remote interfaceDavid Wagner2015-01-287-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * domainGenerator.py: pass a logger to the parameter-frameworkDavid Wagner2015-01-281-0/+12
| | | | | | | | | | | | | | | | Take advantage of the setLogger() method that was newly added to the bindings to allow the parameter-framework to log during XML generation. Change-Id: I71a43fae915756a7986a48a840306d454d071f17 Signed-off-by: David Wagner <david.wagner@intel.com>
| * bindings: bind ILogger and setLogger()David Wagner2015-01-284-5/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow users of the parameter-framework bindings to set a logger; without it, the parameter-framework wasn't able to log anything. Some SWIG features and workarounds must be activated in order to: - Support nested classes; - Derive bound classes and allow C++ to call back the user-created objects; - Properly handle exceptions that may be raised upon errors happening on the user side. Change-Id: I955152a4658eff3307ad595f175f2624a3acfa8c Signed-off-by: David Wagner <david.wagner@intel.com>
| * xmlGenerator: new generator using the python bindingsDavid Wagner2015-01-282-0/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new script (domainGenerator.py) uses both the newly-refactored EddParser.py module as well as the new python bindings to generate XML Settings through the parameter-framework interface. This script can take the following data as input: - the toplevel config file (mandatory) - the 'criteria' file (mandatory) - an initial settings file to be amended (optional) - zero, one, or several 'domain' files (each containing a single domain) - zero, one, or several files in the EDD syntax (aka ".pfw" files) Call the script with the "--help" argument for detailed help. It implements its own derived class of PfwBaseTranslator, calling the parameter-framework python bindings. Any error happening within the binding or below (e.g. the pfw core) is collected and forwarded to the user. Change-Id: Id11123e083ed2a487800e737007a99541949a4bb Signed-off-by: David Wagner <david.wagner@intel.com>
| * xmlGenerator: modularize hostConfig.py for easier reuseDavid Wagner2015-01-281-11/+11
| | | | | | | | | | | | | | | | Instead of calling this script from command line, we will need to use it from another python script/module. Change-Id: Ic3b1f55c0a73c4edff005687327cd19570ab7743 Signed-off-by: David Wagner <david.wagner@intel.com>
| * xmlGenerator: Refactor PFWScriptGeneratorDavid Wagner2015-01-288-1174/+1190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing code is split in two parts: - "EDD"-files parsing; - parameter-framework remote commands generation The first part is mostly kept as-is but the file is renamed to "EddParser.py"; the second part is refactored and an object presenting a "Translator" intreface is passed to the parsed objects in order to generate the remote parameter-framework commands. Later, another class implementing the Translator interface will be implemented using the python bindings. Some dead code is removed in the process. Change-Id: I9725600ce34f36742c7e27ea7aee53892dd799b0 Signed-off-by: David Wagner <david.wagner@intel.com>
| * PFWScriptGenerator: remove incomplete and unused XML output supportDavid Wagner2015-01-281-48/+4
| | | | | | | | | | | | | | | | | | | | | | | | This script is used to generate XML files through the parameter-framework's remote interface. A "direct xml output" support was partially implemented to generate the XML output without the involvement of the parameter-framework. It has never been comletely implemented nor used by anyone, so we'd better remove it. Change-Id: I6ad166306585c55884482ed03934da9f3efc70df Signed-off-by: David Wagner <david.wagner@intel.com>
| * Introduce Python bindingsDavid Wagner2015-01-287-0/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These bindings for the parameter-framework generic connector use "SWIG" to generate: - a C++ file providing a basic bridge between C++ and Python (must be compiled to a shared library named "_PyPfw.so" - the name is important) - a Python module wrapping it inside a Proxy class, re-creating the same classes as the parameter-framework generic connector. See http://www.swig.org for the full SWIG documentation. They are generated and compiled on-the-fly as part of the build process. Change-Id: If7c67f1178dcc9f438cf037246eb77bbd74b689a Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Sebastien Gonzalve<sebastien.gonzalve@intel.com>
| * Add {get,set}SchemaFolderLocation() to the public Pfw APIDavid Wagner2015-01-286-0/+66
|/ | | | | | | | | | 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>
* Merge pull request #37 from dawagner/full-connectorDavid Wagner2015-01-2210-282/+886
|\ | | | | New "ParameterMgr" Connector, as alternative to the ParameterMgrPlatformConnector. This "Full" connector offers all the capabilities of the ParameterMgr.
| * New ParamegerMgr "Full" connectorDavid Wagner2015-01-224-0/+613
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a new connector that implements (almost) all of the parameter-framework capabilities, in contrast to CParameterMgrPlatformConnector which only implements criteria creation, modification, and application and dynamic parameter handling capabilities. It will allow user to programatically do whatever the PFW can do, e.g. create domains and configurations. Change-Id: Ide118aaaae4f84fa7280d2cae470de0c024c0f00 Signed-off-by: David Wagner <david.wagner@intel.com>
| * parameter: sort C++ filenames and remove duplicatesDavid Wagner2015-01-222-185/+112
| | | | | | | | | | | | | | | | | | | | There were duplicates in the CMakeLists.txt; this patch removes them and sorts the filenames so that they are identical in Android.mk and CMakeLists.txt. Please keep the names sorted, using the shell's "sort -u" command. Change-Id: I027676beb4ee19de2341cd65e0e5c077cddb5627 Signed-off-by: David Wagner <david.wagner@intel.com>
| * Make ParameterMgrLogger templateDavid Wagner2015-01-226-29/+24
| | | | | | | | | | | | | | | | This will make it possible to have different kind of ParameterMgr connectors instead of hardcoding ParameterMgrPlatformConnector in ParameterMgrLogger. Change-Id: Ia78d9f56c8cc73321e1956856755a56a3569b517 Signed-off-by: David Wagner <david.wagner@intel.com>
| * ParameterMgr: make serializeElement and importDomainFromFile private methodsDavid Wagner2015-01-221-27/+28
| | | | | | | | | | | | | | | | There is no need for these method to be public as they are only used internaly. Change-Id: I172257211f35de26c11aaef499f7c847d55ced0b Signed-off-by: David Wagner <david.wagner@intel.com>
| * ParameterMgr: enforce Tuning Mode on write access of parametersDavid Wagner2015-01-222-6/+7
| | | | | | | | | | | | | | | | | | | | 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-222-13/+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-222-20/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #36 from dawagner/single-domainDavid Wagner2015-01-2219-336/+721
|\ \ | |/ | | Single domain import/export remote commands
| * New command for importing a single domain from a fileDavid Wagner2015-01-226-16/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-223-23/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-223-12/+19
| | | | | | | | | | | | | | | | | | | | 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-2211-161/+242
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Schemas: Split ConfigurableDomain from ConfigurableDomainsDavid Wagner2015-01-223-114/+130
| | | | | | | | | | | | | | | | This is done in preparation for future work making it possible to export/import domains in standalone and separate files. Change-Id: I35ae66361d18e2de603cedee6b1701defcc9d357 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-225-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #28 from krocard/ctest_configDavid Wagner2015-01-223-0/+43
|\ \ | | | | | | Integrate fix point parameter test in cmake
| * | Integrate fix point parameter test in cmakeKevin Rocard2014-12-103-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cmake can manage test with ctest. Running them when make test is run. Unfortunately the only automatic tests the pfw has (fix point parameter test) are not declared in cmake. Add a test target and declare the fix point parameter test in cmake. Thus a simple make test after the make install will run all tests. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
* | | Merge pull request #30 from krocard/explicit_dependency_on_dlDavid Wagner2015-01-221-1/+2
|\ \ \ | | | | | | | | Link parameter-framework.so with dl
| * | | Link parameter-framework.so with dlKevin Rocard2014-12-051-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The parameter-framework was using dl{open,close,error} but was not requesting to link with dl. This leaded to compilation failure on non implicit dl distributions. Add explict dependency to dl. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
* | | Merge pull request #35 from 01org/fix-test-platform-boolean-gettersDavid Wagner2015-01-221-2/+1
|\ \ \ | |_|/ |/| | test-platform: fix boolean remote getter commands output
| * | test-platform: fix boolean remote getter commands outputDavid Wagner2015-01-021-2/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getter commands return a boolean value ("true" or "false") were implemented by a generic method. However, this method returned a "Done" result, which suppresses the normal output and prints "Done" instead. This is fixed by making this method return a "Success" result, which is interpreted as "give the output to the user". In the same time, we remove a useless "cast to void" which is usually a workaround for unused variables. Change-Id: I49115d3b29967fd455ffc0b703dfb4f4d438280e Signed-off-by: David Wagner <david.wagner@intel.com>
* | Release v2.3.0David Wagner2014-12-121-1/+1
|/ | | | | | | It's been a long time we haven't changed this version number. We will start making releases and this one is the first of a series. Signed-off-by: David Wagner <david.wagner@intel.com>
* Merge pull request #26 from 01org/schemas-readme-fixesDavid Wagner2014-11-261-8/+48
|\ | | | | Schemas readme fixes
| * Schemas/Readme: more details for each type of configuration fileDavid Wagner2014-11-251-7/+47
| | | | | | | | | | | | | | The scope of this readme is widened to document the hierarchy of configuration files and details on the content of each of them. Signed-off-by: David Wagner <david.wagner@intel.com>
| * Schemas/Readme: replace 'TuningMode' with 'TuningAllowed'David Wagner2014-11-251-2/+2
|/ | | | | | | There is no such "TuningMode" attribute; it was a mistake and the attribute described in this documentation corresponds to "TuningAllowed". Signed-off-by: David Wagner <david.wagner@intel.com>
* Merge pull request #25 from 01org/fix-fixed-point-testDavid Wagner2014-11-032-708/+715
|\ | | | | Fix fixed point test
| * fixed-point-tests: strip the '_host' suffix on executablesDavid Wagner2014-11-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This only makes sense on the Android build system. However, these tests are broken on Android because libremote-processor is compiled as "libremote-processor_host.so" on Android whereas libparameter will only try to load "libremote-processor.so" anyway. For now, let's ignore the Android build system and only care about how we do it with CMake: CMake builds libremote-processor.so, test-platform and remote-process so let's remove the "_host" suffixes that were added for compatibility with the output of the Android makefiles. Signed-off-by: David Wagner <david.wagner@intel.com>
| * fixed-point-tests: Run the tests for each possible parameter sizeDavid Wagner2014-11-032-706/+713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of parameters were duplicated because we had one parameter for each size (8, 16 and 32) and for each integral/fractional combination. However, they were all at the root of the subsystem and a lot overlapped, e.g., q1.2 for 32bits and q1.2 for 16 bits. We fix this by: - Adding a ParameterBlock for each size - Modifying the tests to account for the change in the parameter paths - Run the tests for 8, 16 and 32 bits Signed-off-by: David Wagner <david.wagner@intel.com>
* | Merge pull request #24 from 01org/fix-android-l-buildDavid Wagner2014-11-032-68/+2
|\ \ | | | | | | Remove libxml2-schemas target since it is now covered by the aosp
| * | Audio: Remove the hack to buid a libxml2 with schemaspafonsoX2014-11-032-68/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 218524 The "Schemas" feature is enabled in Android-L, so there is no need for this out-of-tree compilation anymore. So this patch deletes its compilation in parameter-framework project. Change-Id: I111afa3e12fa80c2871bae475d550bc49c4440cc Signed-off-by: pafonsoX <philippex.afonso@intel.com> Signed-off-by: David Wagner <david.wagner@intel.com>