message: Add wrappers for sd_bus_get_xxx

At the moment only signal arguments are accessible in signal
messages.  Key information such as the path of the object emitting
the signal are in the message headers, so provide access to those
as well.

Change-Id: I25bc18c21cd4c3d66cad4cf38235469d5092d364
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
1 file changed
tree: 69f5dc5a66a7090ba7c6f621aa925d3f3dcd29cb
  1. mapbox/
  2. sdbusplus/
  3. test/
  4. tools/
  5. .gitignore
  6. bootstrap.sh
  7. configure.ac
  8. LICENSE
  9. Makefile.am
  10. README.md
  11. sdbusplus.pc.in
README.md

sdbusplus

sdbusplus is a library and a tool for generating C++ bindings to dbus.

How to use tools/sdbus++

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