commit | e416398bdabac6aea443a30e874b5f297fed4687 | [log] [tgz] |
---|---|---|
author | Christian Andersen <c.andersen@kostal.com> | Fri Dec 09 11:24:03 2016 +0100 |
committer | Christian Andersen <c.andersen@kostal.com> | Fri Dec 09 11:24:03 2016 +0100 |
tree | 1145244eda9bf82e39b6f7f27ee0bcd4fbac802b | |
parent | 7904ed64341334649a5c613f7007a449d6899508 [diff] |
sdbus++: Handle parsing of multi-level containers The type array contructed by YAML is difficult to process recursively. So the type array gets preprocessed and converted to a recursive data structure. Fixes openbmc/sdbusplus#4 Change-Id: Ife8a47d9b6babd75835f496702ca5899ac6e18c3 Signed-off-by: Christian Andersen <c.andersen@kostal.com>
sdbusplus is a library and a tool for generating C++ bindings to dbus.
The path of your file will be the interface name. For example, for an interface xyz.openbmc_project.control.Chassis
, you would create the following file: xyz/openbmc_project/control/Chassis.interface.yaml
. Similary, for errors, you would create xyz/openbmc_project/control/Chassis.errors.yaml
.
Generating all the files:
root_dir=$(readlink -f ../phosphor-dbus-interfaces) desired_interface=xyz.openbmc_project.control.Chassis file_prefix=chassis_interface file_exp_prefix=chassis_interface_exceptions outdir=../phosphor-chassis-control/generated # Server bindings python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir interface server-header $desired_interface > $outdir/$file_prefix.hpp python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir interface server-cpp $desired_interface > $outdir/$file_prefix.cpp # Exception bindings python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir error exception-header $desired_interface > $outdir/$file_exp_prefix.hpp python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir error exception-cpp $desired_interface > $outdir/$file_exp_prefix.cpp # Docs python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir interface markdown $desired_interface > $outdir/$file_prefix.md python tools/sdbus++ --templatedir=tools/sdbusplus/templates --rootdir=$root_dir error markdown $desired_interface > $outdir/$file_exp_prefix.md