summaryrefslogtreecommitdiffstats
path: root/parameter
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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
| * | 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>