summaryrefslogtreecommitdiffstats
path: root/parameter
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* Support context mapping at Subsystem levelDavid Wagner2014-06-245-24/+114
| | | | | | | | | | | | | | | | | | | | | | | BZ: 176942 Add a class (ConfigurableMappingElement) handling the mapping; to be derived by all classes that can contain mapping. ConfigurableMappingElement derives from ConfigurableElement. Until now, the only child of ConfigurableElement that could have mapping was InstanceConfigurableElement (through TypeElement, that contains all information related to its type). Now, both InstanceConfigurableElement and Subsystem derive from ConfigurableMappingElement. That way, Subsystem XML elements can now have a "Mapping" attribute, propagated to all Elements in the tree. The Subsystem.xsd schema is updated in that regard. Only context mapping is relevant at the Subsystem-level (as opposed to instantiation mapping). If an instantiation mapping is set in the Subsystem, it is silently ignored. Change-Id: I3c09959bc5e3d18c5a4d354e498d69cc5489a247 Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* Revert "Android.mk: Remove the libparameter_includes hack"Mattijs Korpershoek2014-06-231-0/+33
| | | | | | | | | | | This reverts commit 34e90ae1c744e1de6547e014326ef54f516439c8. libparameter_includes and libparameter_includes_host are used to build the parameter-framework plugins. They were removed by error. We need to revert this patch since we still use those make targets. Signed-off-by: Mattijs Korpershoek <mattijsx.korpershoek@intel.com>
* CMake: export client and plugin headers in separate directoriesDavid Wagner2014-02-201-76/+9
| | | | | | | | | client headers are exporter in parameter/client; plugin headers in parameter/plugin. Also, reduce the list of exported plugin headers to the bare minimum. Signed-off-by: David Wagner <david.wagner@intel.com>
* CMake: add rules for installing headersDavid Wagner2014-02-181-0/+100
| | | | | | | | | | | libparameter abd libxmlserializer headers. Concerning libparameter headers: only core headers (needed for the plugins) are currently exported. We'll need to export the client headers too, but we must make a distiction between the two classes of headers. Also, some currently exported core headers might not be needed (some cleanup is needed). Signed-off-by: David Wagner <david.wagner@intel.com>
* CMake: beautification, fix some commentsDavid Wagner2014-02-181-4/+5
| | | | Signed-off-by: David Wagner <david.wagner@intel.com>
* CMake: clarify why libparameter doesn't link with libremote-processorDavid Wagner2014-02-171-0/+1
| | | | | | It is accessed through dlopen(). Signed-off-by: David Wagner <david.wagner@intel.com>
* CMake: add installation instructionDavid Wagner2014-02-171-0/+2
| | | | | | | | | Run "cmake -DCMAKE_INSTALL_PREFIX=/path/to/install ." for choosing a custom prefix (optional: if it is not specified, a default directory will be chosen). Run "make install" for installing all generated files. Signed-off-by: David Wagner <david.wagner@intel.com>
* Add CMake MakefilesDavid Wagner2014-02-171-0/+176
| | | | | | | 1) Generate the Makefiles with "cmake"; 2) compile all targets with "make". Signed-off-by: David Wagner <david.wagner@intel.com>
* Android.mk: Remove the libparameter_includes hackDavid Wagner2014-02-141-33/+0
| | | | | | The plugins' Android.mk will directly access libparameter's include dir. Signed-off-by: David Wagner <david.wagner@intel.com>
* Rename libutility to libpfw_utilityDavid Wagner2014-02-131-4/+4
| | | | | | That name was too generic and may have conflicted in the future. Signed-off-by: David Wagner <david.wagner@intel.com>
* Reintroduce hardcoded include pathsDavid Wagner2014-02-131-1/+1
| | | | | | | | | | Pathmaps for libxml2, stlport and icu4c are not defined in vanilla AOSP. As temporary fix for compilation on vanilla AOSP, we need to hardcode them again. Commit 55f41bcc3edf282f236539bb26bd6dc8638f235e introduced the use of include-path-for. Signed-off-by: David Wagner <david.wagner@intel.com>
* Change the license to 3-clause BSDDavid Wagner2014-02-13179-3920/+4884
| | | | | | | 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>
* In structure XML files, implement component library files inclusionGuillaume Denneulin2014-02-134-8/+73
| | | | | | | | | | | | | | BZ: 168727 In the PFW structure file, it is not possible to include a component library from another XML file. Implement the possibility to import component from another XML file that would be included in a structure XML file and that would describe a component library. Change-Id: Id6125140de1c8e9882375d01199f695b929f45e2 Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com>
* Correct signed hexadecimal integer ranges conversionSylvain Pichon2014-02-131-1/+4
| | | | | | | | | | | BZ: 165527 PFW does not convert hexadecimal signed range values correctly This patch correct signed range values interpretation Change-Id: I5c060c637781821b70b769cabc31347b0e5e5be1 Signed-off-by: Sylvain Pichon <sylvainx.pichon@intel.com>
* Add integer conversion that can take care of sign extensionGuillaume Denneulin2014-02-128-5/+73
| | | | | | | | | | | | | | BZ: 163707 When using signed integers of size 8 or 16, the bit of sign needs to be propagated if the API called by the plugin wait for "int" type Add the virtual toInteger function in CTypeElement for each parameter type to take care of conversion to "int". Specialize this function in the class CIntegerParameterType to take care of sign extension. Change-Id: I41183dccbcc21212299d1dde86b3ad4ba8432ce4 Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com>
* Improve verbosity during PFW socket creationFrédéric Boisnard2014-02-121-1/+5
| | | | | | | | | | | | | BZ: 151780 Debugging XML generation from .pfw files is uneasy because the log messages are lacking ports & sockets information. Added the port number to the logs of the PFW when a new socket is created. Change-Id: I688f954068a6819ecc9e65f7664ac7a98ca0dabf Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
* [core] Optimize log handling.Guillaume Denneulin2014-02-122-12/+21
| | | | | | | | | | | BZ: 154623 When logging, the pfw was limited to 512 bytes. Remove this limitation and optimize the buffer allocated. Change-Id: I91537f30a519d93a4b1e55a23fe02f42dec3af8a Signed-off-by: Guillaume Denneulin <guillaume.denneulin@intel.com>
* Close all dynamic libraries when PFW is destroyedRenaud de Chivre2014-02-124-3/+23
| | | | | | | | | | | | | BZ: 159294 The PFW opens many dynamic libs but does not keep any track of them. This prevents to close them cleanly and have border effect when trying to do coverage measurement. The patch ensures that the PFW closes its libraries when destroyed. Change-Id: Idd1f69bfbc719e8e000914bef990c809ec5ed206 Signed-off-by: Renaud de Chivre <renaud.de.chivre@intel.com>