sdbus++: add stubs to generate event files
Add options to `sdbus++` to generate the files for `events.yaml` files:
header, cpp, markdown. Create simple stubs for these that generate
empty files. Enable them in `sdbus++-gen-meson` and add an example
for the Calculator.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia1df9ca02e1de5fc3f6dadfd409d646e1341a3d6
diff --git a/example/gen/meson.build b/example/gen/meson.build
index b550c79..c63d829 100644
--- a/example/gen/meson.build
+++ b/example/gen/meson.build
@@ -5,10 +5,10 @@
check: true,
).stdout().strip().split('\n')[0]
-if sdbuspp_gen_meson_ver != 'sdbus++-gen-meson version 7'
+if sdbuspp_gen_meson_ver != 'sdbus++-gen-meson version 8'
warning('Generated meson files from wrong version of sdbus++-gen-meson.')
warning(
- 'Expected "sdbus++-gen-meson version 7", got:',
+ 'Expected "sdbus++-gen-meson version 8", got:',
sdbuspp_gen_meson_ver
)
endif
diff --git a/example/gen/net/poettering/Calculator/meson.build b/example/gen/net/poettering/Calculator/meson.build
index 128a6ca..5869d1d 100644
--- a/example/gen/net/poettering/Calculator/meson.build
+++ b/example/gen/net/poettering/Calculator/meson.build
@@ -2,7 +2,7 @@
generated_sources += custom_target(
'net/poettering/Calculator__cpp'.underscorify(),
input: [ '../../../../yaml/net/poettering/Calculator.interface.yaml', ],
- output: [ 'error.cpp', 'error.hpp', 'common.hpp', 'server.cpp', 'server.hpp', 'aserver.hpp', 'client.hpp', ],
+ output: [ 'error.cpp', 'error.hpp', 'event.cpp', 'event.hpp', 'common.hpp', 'server.cpp', 'server.hpp', 'aserver.hpp', 'client.hpp', ],
depend_files: sdbusplusplus_depfiles,
command: [
sdbuspp_gen_meson_prog, '--command', 'cpp',
diff --git a/example/gen/net/poettering/meson.build b/example/gen/net/poettering/meson.build
index 3aa2a36..c88566e 100644
--- a/example/gen/net/poettering/meson.build
+++ b/example/gen/net/poettering/meson.build
@@ -2,7 +2,7 @@
subdir('Calculator')
generated_others += custom_target(
'net/poettering/Calculator__markdown'.underscorify(),
- input: [ '../../../yaml/net/poettering/Calculator.errors.yaml', '../../../yaml/net/poettering/Calculator.interface.yaml', ],
+ input: [ '../../../yaml/net/poettering/Calculator.errors.yaml', '../../../yaml/net/poettering/Calculator.events.yaml', '../../../yaml/net/poettering/Calculator.interface.yaml', ],
output: [ 'Calculator.md' ],
depend_files: sdbusplusplus_depfiles,
command: [
diff --git a/example/yaml/net/poettering/Calculator.events.yaml b/example/yaml/net/poettering/Calculator.events.yaml
new file mode 100644
index 0000000..8372d70
--- /dev/null
+++ b/example/yaml/net/poettering/Calculator.events.yaml
@@ -0,0 +1,20 @@
+version: 0.0.0
+
+errors:
+ - name: DivisionByZero
+ severity: warning
+ errno: EDOM
+ en:
+ message: Attempted to divide by zero.
+
+ - name: PermissionDenied
+ severity: warning
+ errno: EPERM
+ en:
+ message: Insufficient privileges for operation.
+
+events:
+ - name: Cleared
+ en:
+ description: The calculator is cleared.
+ message: The calculator is cleared.