commit | 768f128c369aac30689b3b3ceebf1b43a4949158 | [log] [tgz] |
---|---|---|
author | Christian Andersen <c.andersen@kostal.com> | Fri Dec 09 15:48:50 2016 +0100 |
committer | Christian Andersen <c.andersen@kostal.com> | Fri Dec 09 15:53:05 2016 +0100 |
tree | 0146494c8f757541ed0a825dacc47d880b6deaaa | |
parent | e416398bdabac6aea443a30e874b5f297fed4687 [diff] |
sdbus++: Fix generation of enums The fix to openbmc/sdbusplus#4 broke the generation of enums, because enums are currently not directly parsed by the cpp type conversion. This also means that there is additional work required to support enums nested into containers. Fixes openbmc/sdbusplus#8 Change-Id: I4f206fa899d84128bc7463d54c5b83e40e28d61f 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