commit | 7904ed64341334649a5c613f7007a449d6899508 | [log] [tgz] |
---|---|---|
author | Patrick Williams <patrick@stwcx.xyz> | Tue Nov 29 22:02:37 2016 -0600 |
committer | Patrick Williams <patrick@stwcx.xyz> | Fri Dec 02 11:42:45 2016 -0600 |
tree | f46303840c2b99501e6fe03b055b401918676579 | |
parent | 213da28e48a761445395c0bfe7b022087a9a35d2 [diff] |
sdbusplus: remove 'move' ops from server bindings The generated server bindings register 'this' with sdbus, so if a move is allowed then the object pointer left with sdbus no longer exists. Disallow 'move' operations to prevent this. Fixes openbmc/sdbusplus#6. Change-Id: I470b1372042d21ce14ad0cd9bc1af68e7394bcb9 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