aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Cleaned up XML export featurePatrick Benavoli2015-02-182-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 209937 This patch solves 1 issue regarding XML export feature: - ParameterMgr.cpp::exportElementToXMLString(): This method was receiving a useless bValidateWithSchema argument. Indeed, elements in memory are necessarily valid (unlike documents coming from external sources). Change-Id: I55bf84c8ff53c37c9fc55e60f7f64e8776a43dc7 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
| * | Missing error reporting statement in XML Export featurePatrick Benavoli2015-02-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 209937 In case an error is encountered during the XML encoding operation, no error message is created to log the issue. This patch updates XmlStringDocSink.cpp::doProcess() so that the error string is filled in case of errors. Change-Id: Ie93e50f857506b8637b1bb0dd8d411a01f16ec49 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
| * | Adding XML format to Criteria export tuning I/FPatrick Benavoli2015-02-1811-46/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 209937 The "listCriteria" command returns the list of criteria in a human readable way. However, external tools that require to know this list of criteria have trouble parsing this output. An XML output would solve the issue. Changed "listCriteria" command to accept "XML" as first and only argument. In the end, listCriteria command accepts the 3 following forms: - listCriteria => will list the criteria states and type content in a human readable format - listCriteria csv|CSV => will list the criteria states and type content in a CSV format - listCriteria xml|XML => will list the criteria states and type content in an XML format Removed python binding accordingly. Change-Id: Ib060ec0a5d1ff87ba6c25caf4e0d5839a7927715 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com> Signed-off-by: Sebastien Gonzalve <sebastien.gonzalve@intel.com>
| * | Delete subsystem instances *before* plugin unloadPatrick Benavoli2015-02-182-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 208504 Before this patch there was a crash in CElement destructor in Ubuntu upon destuction of parameter framework instance. The crash was caused by the attempt to call unmapped code: The subsystem plugin libraries were getting unloaded before the execution of the subsystem destructors. Note: In Android the issue is not seen since library unload is not implemented. This patch ensures SystemClass destructor destroys the subsystems explicitely unloading the plugins. Change-Id: I19dad262b384bdbd63c7c319a41a5d547d0e75e9 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
| * | Coding style correctionPatrick Benavoli2015-02-182-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 208504 Concerns the handle to remote processor library. In PFW coding style, the variables are named like in english language: The actual nature of the object needs to lie at the end of the name. Change-Id: If41218c3456d07c81a953182488c6ae71e31b6d8 Signed-off-by: Patrick Benavoli <patrick.benavoli@intel.com>
| * | 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 #40 from krocard/no_verbose_cxxDavid Wagner2015-02-171-10/+10
|\ \ \ | | | | | | | | Remove CXX compiler verbose flag for swig binding
| * | | Low case cmake command in bindings for consistencyKevin Rocard2015-02-161-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some cmake commands were in big case in the python binding cmake. As all others are in low case, put everything in low case. Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
| * | | Remove CXX compiler verbose flag for swig bindingKevin Rocard2015-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling swig generated files, the CXX compiler flag list included -v. This leaded to unnecessary log output during compilation. Remove the flag Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
| * | | Fix cmake set_property in python bindingsKevin Rocard2015-02-161-2/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `SET_SOURCE_FILES_PROPERTIES(pfw.i PROPERTIES SWIG_FLAGS "-v" "-Wall" "-Werror")` sets 2 variables: - `SWIG_FLAGS="-v"` - `-Wall="-Werror"` which is obviously not what was wanted. Replace by `SET_PROPERTY(SOURCE pfw.i PROPERTY SWIG_FLAGS "-v" "-Wall" "-Werror")` that only sets `SWIG_FLAGS="-v -Wall -Werror"`. Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
* | | Merge pull request #48 from krocard/remote-process_completionDavid Wagner2015-02-173-0/+162
|\ \ \ | |/ / |/| | Introduce remote-process bash completion
| * | Introduce remote-process bash completionKevin Rocard2015-02-173-0/+162
|/ / | | | | | | | | | | | | | | | | | | | | | | | | When working with the parameter-framework, the remote-process command is very handy. Nevertheless it has long commands and it is easy to make mistakes. Add a bash completion script to complete: - hostnames - frequently used port - commands and arguments based on the remote usage (help command) Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
* | Merge pull request #47 from dawagner/krocard-missing_std_in_skeletonDavid Wagner2015-02-133-4/+10
|\ \ | | | | | | missing std in skeleton
| * | Travis-CI: also build the skeleton pluginDavid Wagner2015-02-131-1/+5
| | | | | | | | | | | | | | | | | | | | | The skeleton plugin is an example and as such needs to work out-of-the-box. Make travis build it to ensure we don't break anything. Signed-off-by: David Wagner <david.wagner@intel.com>
| * | Merge branch 'missing_std_in_skeleton' of ↵David Wagner2015-02-132-3/+5
| |\ \ |/ / / | | | | | | https://github.com/krocard/parameter-framework into krocard-missing_std_in_skeleton
| * | Missing std prefix in skeleton pluginKevin Rocard2015-02-062-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The skeleton plugin is not compiled when compiling the root pfw project. As a result, when `using namespaces` was removed from the pfw headers the skeleton plugin was left unchecked and unfortunately broken. Fix the missing `std::` by adding them where needed or inserting a `using std::string`. Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
* | | Merge pull request #45 from krocard/xml_coverage_create_elementDavid Wagner2015-02-131-6/+6
|\ \ \ | | | | | | | | Use minidom factory methods in xml coverage generator
| * | | Use minidom factory methods in xml coverage generatorKevin Rocard2015-02-101-6/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The exportToXML was creating an minidom.Element using it's constructor, which is forbidden in the documentation: > Applications should not instantiate the classes themselves; they should use the creator functions available on the Document object. http://docs.python.org/library/xml.dom.minidom.html Since python 3.4 this method no longer works (private interface change) thus the xml coverage generation was broken. Fix by calling the recommended method Document.createElement. See bug: http://bugs.python.org/issue15290 Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
* | | Merge pull request #46 from 01org/travis-officialDavid Wagner2015-02-132-0/+36
|\ \ \ | |/ / |/| | Add a configuration file for Travis-CI
| * | Add a configuration file for Travis-CIDavid Wagner2015-02-132-0/+36
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Travis will build each new commit and each pull request and publish the results here: https://travis-ci.org/01org/parameter-framework and on the #parameter-framework channel on FreeNode. This commit also adds a build status icon in the Readme. Signed-off-by: David Wagner <david.wagner@intel.com>
* | Merge pull request #21 from ↵David Wagner2015-01-291-1/+2
|\ \ | |/ |/| | | | | krocard/Fix_error_message_in_case_of_unknown_criterion_value Fix error message in case of unknown criterion value
| * Fix error message in case of unknown criterion valueKevin Rocard2015-01-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | When failing to parse a criterion rule, the pfw was outputing: Value error: This did not help to find the root cause. With this patch it would have output: Value error: <Input value> is not part of criterion <Criterion> Signed-off-by: Kevin Rocard <kevinx.rocard@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>