Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

Version 3.1.0

Compare
Choose a tag to compare
@dawagner dawagner released this 24 Nov 13:07
· 206 commits to master since this release

The most significant additions are the new "serialization" API.

Major changes

Element access and serialization APIs

  • getElementStructureXML remote command prints an element's instantiated structure as XML. Instantiated means that references to ComponentTypes have been replaced by a ParameterBlock with their actual content.
  • getElementXML and setElementXML remote commands get or set an element's value as XML (same format than used in settings files).
  • getElementBytes and setElementBytes remote commands get or set an element's value as an array of bytes. This is a direct access to the parameters without any type check and as such must be used with caution.
  • New ElementHandle class published on the client API. This is similar to CParameterHandle but can be used to access the parameter tree at any level (not only the leaves). It allows reading the structure of an element as well as reading/writing the value of an element.
  • Components are now array-able: just like ParameterBlocks, Component instances can have an ArrayLength attribute. Be aware that Component arrays have the same limitation as ParameterBlock arrays. Mixing mapping and array on the same block has some non-trivial behaviour. Thus we discourage it. See this commit message
  • Package generation: packages can now be created, using cpack. Debian package and MSI installer generation are tested by the CI.

Minor changes

  • Fix issues found by static analysis (coverity). Defect density identified by Coverity is now reduced to zero.
  • Small, non-intrusive and retro-compatible changes have been made to the Python bindings API.
  • Some CMake changes to be more easily ported or integrated as a CMake subproject.
  • Schema files are installed under <prefix>/share/parameter-framework/schemas/