sdbus++: move interface name to common header
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I887b85d47e4e380426973f217bb94b1bec69f7aa
diff --git a/example/calculator-server.cpp b/example/calculator-server.cpp
index 9e02ba0..aa60662 100644
--- a/example/calculator-server.cpp
+++ b/example/calculator-server.cpp
@@ -56,7 +56,7 @@
static_assert(
std::string_view(
- sdbusplus::client::net::poettering::Calculator::interface) ==
+ sdbusplus::common::net::poettering::Calculator::interface) ==
std::string_view(Calculator::interface));
// Create a new bus and affix an object manager for the subtree path we
diff --git a/tools/sdbusplus/templates/interface.client.hpp.mako b/tools/sdbusplus/templates/interface.client.hpp.mako
index d7cc84e..7c3c6e8 100644
--- a/tools/sdbusplus/templates/interface.client.hpp.mako
+++ b/tools/sdbusplus/templates/interface.client.hpp.mako
@@ -1,17 +1,18 @@
#pragma once
-namespace sdbusplus::client::${interface.cppNamespacedClass()}
-{
-
-static constexpr auto interface = "${interface.name}";
-
-} // namespace sdbusplus::client::${interface.cppNamespacedClass()}
+#include <${interface.headerFile("common")}>
#ifndef SDBUSPP_REMOVE_DEPRECATED_NAMESPACE
namespace sdbusplus::${interface.old_cppNamespacedClass("client")}
{
-using sdbusplus::client::${interface.cppNamespacedClass()}::interface;
+constexpr auto interface =
+ sdbusplus::common::${interface.cppNamespacedClass()}::interface;
} // namespace sdbusplus::${interface.old_cppNamespacedClass("client")}
#endif
+
+namespace sdbusplus::client::${interface.cppNamespacedClass()}
+{
+
+} // namespace sdbusplus::client::${interface.cppNamespacedClass()}
diff --git a/tools/sdbusplus/templates/interface.server.hpp.mako b/tools/sdbusplus/templates/interface.server.hpp.mako
index 7b9d660..ca20b2c 100644
--- a/tools/sdbusplus/templates/interface.server.hpp.mako
+++ b/tools/sdbusplus/templates/interface.server.hpp.mako
@@ -8,9 +8,11 @@
#include <string>
#include <systemd/sd-bus.h>
#include <tuple>
+
% for m in interface.methods + interface.properties + interface.signals:
-${ m.cpp_prototype(loader, interface=interface, ptype='callback-hpp-includes') }\
+${ m.cpp_prototype(loader, interface=interface, ptype='callback-hpp-includes') }
% endfor
+#include <${interface.headerFile("common")}> \
<%
def setOfPropertyTypes():
return set(p.cppTypeParam(interface.name) for p in
@@ -20,12 +22,10 @@
namespace sdbusplus::server::${interface.cppNamespace()}
{
-class ${interface.classname}
+class ${interface.classname} :
+ public sdbusplus::common::${interface.cppNamespacedClass()}
{
public:
- static constexpr auto interface =
- "${interface.name}";
-
/* Define all of the basic class operations:
* Not allowed:
* - Default constructor to avoid nullptrs.