sdbus++: events: create json for events
Create JSON for the events containing their metadata and leverage that
as the "message" portion of the `sd_bus_error`. This will allow
unpacking the message on a client side back to the original exception.
Tested:
```
$ busctl --user call net.poettering.Calculator /net/poettering/calculator net.poettering.Calculator Divide xx 5 0
Call failed: {"net.poettering.Calculator.DivisionByZero":{"FOO":"unused"}}
```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I4edd76d983267f28e51c4aa41902d45f5d6da793
diff --git a/meson.build b/meson.build
index 52e330a..598ad64 100644
--- a/meson.build
+++ b/meson.build
@@ -12,6 +12,7 @@
)
libsystemd_pkg = dependency('libsystemd')
+nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
python = import('python')
python_bin = python.find_installation('python3', modules:['inflection', 'yaml', 'mako'])
@@ -40,7 +41,10 @@
'sdbusplus',
libsdbusplus_src,
include_directories: root_inc,
- dependencies: libsystemd_pkg,
+ dependencies: [
+ libsystemd_pkg,
+ nlohmann_json_dep
+ ],
version: meson.project_version(),
install: true,
)
@@ -60,7 +64,11 @@
sdbusplus_dep = declare_dependency(
include_directories: root_inc,
link_with: libsdbusplus,
- dependencies: [ libsystemd_pkg, boost_dep ],
+ dependencies: [
+ boost_dep,
+ libsystemd_pkg,
+ nlohmann_json_dep,
+ ],
)
subdir('tools')