commit | fb913e88d30f1c9c29c03926de0eae377442e984 | [log] [tgz] |
---|---|---|
author | Patrick Williams <patrick@stwcx.xyz> | Wed Feb 15 10:19:21 2017 -0600 |
committer | Patrick Williams <patrick@stwcx.xyz> | Wed Feb 15 10:24:32 2017 -0600 |
tree | e90256fa21ad9acf203b90d5589fc209875fa563 | |
parent | 5e70389908b4326135bbfc7b75fcb3a563798382 [diff] |
message-append: char* passed to sd-bus as char** If a call to message::append resulted in the templates generating a call to sd_bus_message_append_basic, all flavors of char* were being passed to sd_bus as char**. Fix by adding type-templates to distinguish between T and T* for the parameters to sd_bus_message_append_basic. Fixes openbmc/openbmc#1025. Change-Id: I2f3a204ae10803c677d1c3aecfa4d9eabc40b593 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