summaryrefslogtreecommitdiffstats
path: root/parameter
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | 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>
* | Merge pull request #20 from 01org/fix-build-issues-bisDavid Wagner2014-10-241-2/+6
|\ \ | | | | | | Fix build issues bis
| * | Android: Don't build libparameter with ClangDavid Wagner2014-10-241-0/+2
| | | | | | | | | | | | | | | | | | It does not compile yet; this issue will have to be tackled. Signed-off-by: David Wagner <david.wagner@intel.com>
| * | Android.mk: declare intel as module ownerDavid Wagner2014-10-241-0/+4
| | | | | | | | | | | | | | | | | | | | | This seems to be mandatory. Change-Id: Idba8c7a3ec9e2f05b28ee593d1d15a420a0bd9ed Signed-off-by: David Wagner <david.wagner@intel.com>
| * | Fix multi-arch build issueQiming Shi2014-10-241-2/+0
| |/ | | | | | | | | | | | | | | | | LOCAL_MODULE_PATH is deprecated and in this case, useless. Change-Id: I72054e3a5c70c2779d170f07f24734d75fdf48f8 Signed-off-by: Qiming Shi <qiming.shi@intel.com> Reviewed-on: https://android.intel.com/211229 Reviewed-by: cactus <cactus@intel.com>
* | Merge pull request #13 from 01org/OznOg-bisDavid Wagner2014-10-24163-1201/+1005
|\ \ | | | | | | some C++ cleanup
| * | Remove using std::XXX from headersSebastien Gonzalve2014-09-11149-799/+949
| | | | | | | | | | | | | | | This is a bad practice to have using in headers because it pollutes the namespace of any user of that header.
| * | Remove useless cpp'sSebastien Gonzalve2014-09-1121-408/+62
| |/ | | | | | | | | Those files are empty or almost empty, put remaining stuff in header if necessary.
* | Allow the plugin libraries to have empty path for locationLouis Le Gall2014-10-011-3/+5
|/ | | | | | | | | | | | | | | If the xml defines the path of plugin library as empty, as a slash is always added between the folder path and the library name, the parameter framework will look for the library at the root of the file system. This patch prevents from adding the slash except if the path is not empty. Issue: GMINL-1748 Change-Id: I14ed5a5ddbef7e0305300479f4fd44bf611f3442 Signed-off-by: Louis Le Gall <louis.le.gall@intel.com>
* More README filesDavid Wagner2014-09-101-0/+4
| | | | | | | - More details in the root README.md file; add a nice diagram - Add a lot of README files in subdirectories Signed-off-by: David Wagner <david.wagner@intel.com>
* Add 3-clause BSD license to CMake makefiles.Mattijs Korpershoek2014-06-301-0/+28
| | | | | | | | | | | BZ: 207083 License headers were missing in CMake makefiles. This patch adds the 3-clause BSD license header to each CMakeLists.txt. Change-Id: Ia4da92e139e02d6348d655d0d88a16166d8431ca Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Fix stlport includes in makefilesMattijs Korpershoek2014-06-301-5/+3
| | | | | | | | | | | | | | BZ: 207083 According to libstlport.mk, to use stlport for a given target, we shall "include external/stlport/libstlport.mk" in the target. This was not done in the parameter-framework's makefiles. This patch change all targets which require stlport to include it in the correct way. Change-Id: Ie9b75af6269f172ad6a6c753e15efd0c7baafdd9 Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Align the CMakeFiles with the recent code changesDavid Wagner2014-06-251-0/+2
| | | | | | | | We have forgotten to update the list of headers to be installed after some recent developments. Change-Id: Iaeadde5bd566021e9ee34c5fd49f3649f1509e3e Signed-off-by: David Wagner <david.wagner@intel.com>
* 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>
* FixedPointParameter: Rename conversion functionsMattijs Korpershoek2014-06-252-18/+34
| | | | | | | | | | BZ: 197723 Give a few functions more meaningful names. Add some cast fixes and doxygen to the renamed functions. Change-Id: I002a3fa9b397294153c23b9883c3ad3b1c136e54 Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Fix fixed-point parameter range checkMattijs Korpershoek2014-06-251-7/+1
| | | | | | | | | | | | BZ: 197723 When adding parameters which are far out of bounds, the range check does not refuse to set the value. This is unexpected behaviour. This patch adds a correct range check. Change-Id: I325920bcabc9485bd8f95aadcaff36a67182b97c Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* FixedPointParameter: Removed precision notionDavid Wagner2014-06-251-23/+3
| | | | | | | | | | | | | | | | | | | BZ: 197723 Significant digits were computed in order to prevent odd behaviour when printing a converted fixed point parameter. After converting a number from fixed point towards a double, we had to round up/down in order to print the double to the user (or towards a file). The printing showed only the significant digits, in other words, the digits which can vary from 0 to 9. This caused unpredictable behaviour when rounding using the setPrecision() function. This patch removes the 'precision' notion related to fixed points in order to have a predictable behaviour by displaying all fractional digits. Change-Id: Id5a9b5b8a80d5a96bcbbb6af9213770a05a70083 Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Fix Fixed Point convert issue.Francois Gaffie2014-06-252-55/+147
| | | | | | | | | | | | | | BZ: 185336 Convert is failing when trying to convert the string value to integer value within FixedPointParameterType class. This patch fixes the issue by requesting to convert the string into a signed type. Change-Id: I77987eb1564292bd6dcdd0da4db52c4b4f92818f Signed-off-by: Francois Gaffie <francois.gaffie@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Correct FixedPointParameter display precisionDavid Wagner2014-06-251-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BZ: 176178 Explain the precision computation (m * log10(2)): For a Qn.m number, the step between each storable number is 2^(-m). Hence, on a decimal representation, the Dth digit after the decimal point can take all possible values (1..9) - meaning that it is significant - only if 2^(-m) <= 10^(-D) -m <= log2(10^(-D)) -m <= log10(10^(-D)) / log10(2) -m <= -D / log10(2) m * log10(2) >= D Conversly, the Dth digit can be represented if D <= m * log10(2) We add 1 to the precision in order to display the digit right after the last significant digit. This will lead to oddities such as: $ setParameter /Test/test/f32_Q8.23 0.1234569 $ getParameter /Test/test/f32_Q8.23 > 0.1234570 but it will avoid modifying raw values when converting from string to Q-format and back to string. Also, use std::setprecision() on the stream instead of manually truncating the displayed number. Change-Id: Ief2a7daabf4505ae4312e79036b0374f53368cac Signed-off-by: David Wagner <david.wagner@intel.com>
* FixedPointParameterType: fix potential compilation issueDavid Wagner2014-06-251-22/+9
| | | | | | | | | | | | | | | BZ: 176178 The isEncodable() method has several prototypes and some compilers are not able to decide which version to use and produce a compilation error. Remove unnecessary casts and make the code simpler by using a template-based conversion library from string to various numeric types instead of using strtoll and strtod. Change-Id: I53d0b4ebd12f2cbb315bb52d98365a35876b5aef Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Fix KW10 issuesEduardo Mendi2014-06-253-6/+18
| | | | | | | | | | | | BZ: 186081 Due to upgrade klocwork (KW version from 9.6 to 10.0) new issues have been raised. This patch fix the new issues raised in PFW. Change-Id: I54c14e4d6da1c9a5f8d82aec1769a9e7e948db50 Signed-off-by: Eduardo Mendi <eduardox.mendi@intel.com>
* Test-platform enable/disable xml validationMattijs Korpershoek2014-06-258-25/+172
| | | | | | | | | | | | | | | | | | | | | | 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>
* Add explicit API to append parameter path to error logFrancois Gaffie2014-06-245-24/+27
| | | | | | | | | | | | BZ: 183857 Explicit API names makes the code easier to read, allowing even to remove some comments. This patch adds an API to append the parameter path to the error log. Change-Id: Id136497072e53c8dd0ea3d95354e1dfe6193f771 Signed-off-by: Francois Gaffie <francois.gaffie@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Restore autosync of string parameterFrancois Gaffie2014-06-247-43/+67
| | | | | | | | | | | | | | BZ: 183857 Sync for String parameter accessed from parameter handle API does not work. This patch allows synchronisation for string parameter accessed from parameter handle APIs. Change-Id: If738402f4c0fcb0bb51bd2515e46f3ac36a361dd Signed-off-by: Francois Gaffie <francois.gaffie@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>