sdbus++: async: server: add generator stub
Add the needful changes in the tools and meson-generator to
create an asynchronous server binding header.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I0607aefc006eafb9224d92b887cf2d3b30c8da06
diff --git a/example/gen/meson.build b/example/gen/meson.build
index 23394ac..b550c79 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 6'
+if sdbuspp_gen_meson_ver != 'sdbus++-gen-meson version 7'
warning('Generated meson files from wrong version of sdbus++-gen-meson.')
warning(
- 'Expected "sdbus++-gen-meson version 6", got:',
+ 'Expected "sdbus++-gen-meson version 7", 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 e906ab2..128a6ca 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', 'client.hpp', ],
+ output: [ 'error.cpp', 'error.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/test/gen/meson.build b/test/gen/meson.build
index 23394ac..b550c79 100644
--- a/test/gen/meson.build
+++ b/test/gen/meson.build
@@ -5,10 +5,10 @@
check: true,
).stdout().strip().split('\n')[0]
-if sdbuspp_gen_meson_ver != 'sdbus++-gen-meson version 6'
+if sdbuspp_gen_meson_ver != 'sdbus++-gen-meson version 7'
warning('Generated meson files from wrong version of sdbus++-gen-meson.')
warning(
- 'Expected "sdbus++-gen-meson version 6", got:',
+ 'Expected "sdbus++-gen-meson version 7", got:',
sdbuspp_gen_meson_ver
)
endif
diff --git a/test/gen/server/Test/meson.build b/test/gen/server/Test/meson.build
index 829f238..459f0a8 100644
--- a/test/gen/server/Test/meson.build
+++ b/test/gen/server/Test/meson.build
@@ -2,7 +2,7 @@
generated_sources += custom_target(
'server/Test__cpp'.underscorify(),
input: [ '../../../yaml/server/Test.interface.yaml', ],
- output: [ 'common.hpp', 'server.cpp', 'server.hpp', 'client.hpp', ],
+ output: [ 'common.hpp', 'server.cpp', 'server.hpp', 'aserver.hpp', 'client.hpp', ],
depend_files: sdbusplusplus_depfiles,
command: [
sdbuspp_gen_meson_prog, '--command', 'cpp',
diff --git a/tools/meson.build b/tools/meson.build
index 30ce47f..8570394 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -13,6 +13,7 @@
'sdbusplus/templates/error.cpp.mako',
'sdbusplus/templates/error.hpp.mako',
'sdbusplus/templates/error.md.mako',
+ 'sdbusplus/templates/interface.aserver.hpp.mako',
'sdbusplus/templates/interface.client.hpp.mako',
'sdbusplus/templates/interface.common.hpp.mako',
'sdbusplus/templates/interface.md.mako',
diff --git a/tools/sdbus++-gen-meson b/tools/sdbus++-gen-meson
index 9dcae96..2de2032 100755
--- a/tools/sdbus++-gen-meson
+++ b/tools/sdbus++-gen-meson
@@ -36,7 +36,7 @@
## if a repository contains old copies of the generated meson.build files and
## needs an update. We should increment the version number whenever the
## resulting meson.build would change.
-tool_version="sdbus++-gen-meson version 6"
+tool_version="sdbus++-gen-meson version 7"
function show_version() {
echo "${tool_version}"
}
@@ -190,6 +190,7 @@
interface.yaml)
outputs="${outputs}'common.hpp', "
outputs="${outputs}'server.cpp', 'server.hpp', "
+ outputs="${outputs}'aserver.hpp', "
outputs="${outputs}'client.hpp', "
;;
@@ -307,6 +308,7 @@
${sdbusppcmd} interface server-header "${intf}" > "${outputdir}/server.hpp"
${sdbusppcmd} interface server-cpp "${intf}" > "${outputdir}/server.cpp"
${sdbusppcmd} interface client-header "${intf}" > "${outputdir}/client.hpp"
+ ${sdbusppcmd} interface aserver-header "${intf}" > "${outputdir}/aserver.hpp"
fi
if [[ -e "${rootdir}/$1.errors.yaml" ]]; then
diff --git a/tools/sdbusplus/interface.py b/tools/sdbusplus/interface.py
index ed3e2d7..734a1fe 100644
--- a/tools/sdbusplus/interface.py
+++ b/tools/sdbusplus/interface.py
@@ -57,6 +57,11 @@
def markdown(self, loader):
return self.render(loader, "interface.md.mako", interface=self)
+ def async_server_header(self, loader):
+ return self.render(
+ loader, "interface.aserver.hpp.mako", interface=self
+ )
+
def server_header(self, loader):
return self.render(loader, "interface.server.hpp.mako", interface=self)
diff --git a/tools/sdbusplus/main.py b/tools/sdbusplus/main.py
index c40cee6..fcab7b1 100644
--- a/tools/sdbusplus/main.py
+++ b/tools/sdbusplus/main.py
@@ -11,6 +11,7 @@
valid_types = {"interface": sdbusplus.Interface, "error": sdbusplus.Error}
valid_processes = {
+ "aserver-header": "async_server_header",
"client-header": "client_header",
"common-header": "common_header",
"exception-cpp": "exception_cpp",
diff --git a/tools/sdbusplus/templates/interface.aserver.hpp.mako b/tools/sdbusplus/templates/interface.aserver.hpp.mako
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/sdbusplus/templates/interface.aserver.hpp.mako