commit | cf078c43c3c05347bd9285c4e5bc43278c07d8ff | [log] [tgz] |
---|---|---|
author | Patrick Williams <patrick@stwcx.xyz> | Mon Dec 12 12:13:48 2016 -0600 |
committer | Patrick Williams <patrick@stwcx.xyz> | Mon Dec 12 12:22:34 2016 -0600 |
tree | 6273e1c0709956c2ab39bf3333839e78b0323e4a | |
parent | abf5f78d0f277663ad5804a8f66213178ce5417c [diff] |
sdbus++: Avoid using C++ reserved words Some words are reserved in C++, so they cannot be used as function or variable names. If a YAML file specifies these we must come up with an alternative name for the generated C++ function. Do this by adding underscore characters to the generated name. Fixes openbmc/sdbusplus#10. Change-Id: I992caafb02fe71ea6ac2cf3c555a9956e4ba616a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
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