summaryrefslogtreecommitdiffstats
path: root/parameter
Commit message (Collapse)AuthorAgeFilesLines
* Fix "|" display artifact on inclusive criterion typeFrancois Gaffie2015-04-241-1/+4
| | | | | | | | | | | | When translating a numerical value to literal for an inclusive criterion type, if the numerical value is not found into the map of pairs, it appends anyway the "|". This patch removes this artifacts display if the numerical value is not part of the acceptable values of this criterion type. Change-Id: I2ff4ee1ae6e6e3ac87c94c596bae3ae534f173c4 Signed-off-by: Francois Gaffie <francois.gaffie@intel.com>
* Version 2.4.2David Wagner2015-04-241-1/+1
| | | | Signed-off-by: David Wagner <david.wagner@intel.com>
* Re-implement the Tokenizer class from scratchDavid Wagner2015-04-241-1/+1
| | | | | | | | | | | | It didn't have a license header. Even though we received explicit authorization to use it, it wasn't a comfortable situation. This is an original implementation that only keeps the APIs we use in the parameter-framework and keep them identical (except for a small exception). The behaviour is also exactly the same. Change-Id: I85a69c76027ee026a693d79cd19edd3b86796f9d Signed-off-by: David Wagner <david.wagner@intel.com>
* Remove dead getRoot member function from elementJules Clero2015-04-242-20/+0
| | | | Signed-off-by: Jules Clero <julesx.clero@intel.com>
* Handle config path without slashKevin Rocard2015-04-241-5/+7
| | | | | | | | | If the parameter configuration file path does not contain a "/" it used to assert as it could not find it's folder. Use "." this case. Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
* Output parameter within getNumericalValue not initializedFrancois Gaffie2015-02-191-0/+1
| | | | | | | | | | | | | | When calling getNumericalValue on inclusive criterion, the value to be outputed is never initialized. The Criterion type will append the value corresponding to each literal value to the uninitialized value leading to undefined behavior. This patch initializes the output value. Issue: GMINL-6007 Change-Id: Id9fc8b010b4d0b6dfc921825387817789d35e5ba Signed-off-by: Francois Gaffie <francois.gaffie@intel.com>
* Make CParameterMgr::init privateFrederic Boisnard2015-02-182-2/+4
| | | | | | | | | | | Since 3adb785eb097028750fc1b4c5ecab3bebf1a9ae3, CParameterMgr::init should not be called directly. However, it was kept public and CParameterMgrFullConnector was using it. Make it private and remove its use from CParameterMgrFullConnector. Signed-off-by: Frederic Boisnard <frederic.boisnard@intel.com> Signed-off-by: David Wagner <david.wagner@intel.com>
* SystemClass: remove useless overridden init() methodDavid Wagner2015-02-182-6/+0
| | | | | | | | The overridden implementation was only calling the base implementation. It can therefore can be completely removed as it is the default behaviour. Change-Id: Ic0eadf82abfdaad0ca76d3e9a757544d5ec31427 Signed-off-by: David Wagner <david.wagner@intel.com>
* Merge pull request #41 from krocard/fix_string+num_concatDavid Wagner2015-02-181-1/+1
|\ | | | | Fix pointer arithmetic instead of concat
| * Fix pointer arithmetic instead of concatKevin Rocard2015-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | `"my number " + 5` does not produces `"my number 5"` but rather `"mber "`. If the number was greater than `len(string) + 2` (pointing to the \0 and one past the end in authorized, more in UB) the result would have been undefined behaviour. Transforme the number to std::string using toString. Signed-off-by: Kevin Rocard <kevin.rocard@intel.com>
* | Merge pull request #49 from pafonso/iminleg_rebaseDavid Wagner2015-02-1827-81/+332
|\ \ | |/ |/| Iminleg rebase
| * Fix SystemClass duplicate 'Name' attribute in xml exportDavid Wagner2015-02-182-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | When refactoring Element::toXml, we forgot to make the necessary adaptation in SystemClass::toXml. The latter does not need to set the Name attribute anymore because this is taken care of by the base toXml method. SystemClass::toXml now only calls the base and can therefore be completely removed. Change-Id: Ibd12feaac2c101dcc22e8716e332cb02f03ba99a Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-19676 Signed-off-by: David Wagner <david.wagner@intel.com>
| * Add libremote-processor as dependencyPhilippe Afonso2015-02-181-0/+2
| | | | | | | | | | | | | | | | | | | | libremote-processor headers are needed by the parameter core. This patch adds explicitily the dependency to this module. Change-Id: I7a223a0abd35f9524a047ca92e1029c5cef38e38 Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-19676 Signed-off-by: Philippe Afonso <philippex.afonso@intel.com>
| * Create a Logarithm Adaptation parameter typePiotr Diop2015-02-187-3/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some parameters need to be converted to logarithm. This can be the case for volumes that come from HAL as mere decimal values. This patch adds the LogarithmAdaptationParameter type. Change-Id: Ic64232816a82c56a6ddffa5fdccda356eb4ec9c7 Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-16954 Signed-off-by: Piotr Diop <piotrx.diop@intel.com> Reviewed-on: https://android.intel.com:443/320371
| * 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>
| * Adding XML format to Criteria export tuning I/FPatrick Benavoli2015-02-188-42/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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>
* | ParameterMgr: add a method to forcefully disable the remote interfaceDavid Wagner2015-01-286-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-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-2216-222/+591
|\ \ \ | |/ / | | | 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>
| * | 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 #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>
* | 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 #24 from 01org/fix-android-l-buildDavid Wagner2014-11-031-1/+1
|\ | | | | Remove libxml2-schemas target since it is now covered by the aosp
| * Audio: Remove the hack to buid a libxml2 with schemaspafonsoX2014-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Clarify the "Non accessible element" errorDavid Wagner2014-10-311-1/+1
|/ | | | | | | | | | | | | This error happens, among others, when trying to set an element as if it was a parameter. The error message was not very helpful. Previous error message: Non accessible element New error message: Can't set /A/b/c because it is not a parameter Signed-off-by: David Wagner <david.wagner@intel.com>
* Merge pull request #17 from Makohoek/static_analysis_fixDavid Wagner2014-10-241-2/+2
|\ | | | | Fix a use-after-free issue
| * Fix a use-after-free issueDavid Wagner2014-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In CBinaryStream, a member gets used after it has been destroyed. This was caught by a static code analyser. Issue: GMINL-1702 Change-Id: I5c93855f12a8f392e1f4249a15048816fb0f13ce Signed-off-by: David Wagner <david.wagner@intel.com> Reviewed-on: https://android.intel.com/278483 Reviewed-by: cactus <cactus@intel.com> Tested-by: cactus <cactus@intel.com> Reviewed-by: Beatty, Robert M <robert.m.beatty@intel.com> Tested-by: Beatty, Robert M <robert.m.beatty@intel.com>
* | Merge pull request #15 from krocard/Remove_non_ascii_charDavid Wagner2014-10-241-11/+11
|\ \ | | | | | | Remove non ascii char