sdbusplus::server::object Add sdbus interface
This object which is part of the composed object for the
phosphor-dbus-interfaces, now supports testing through the
interface as exposed from the sdbusplus::bus::bus object.
Change-Id: I70061e3d1f1ffa027800a2d3e70407a5038f3e07
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/sdbusplus/server/object.hpp b/sdbusplus/server/object.hpp
index 0f27e3b..499f4e8 100644
--- a/sdbusplus/server/object.hpp
+++ b/sdbusplus/server/object.hpp
@@ -1,5 +1,7 @@
#pragma once
+
#include <sdbusplus/bus.hpp>
+#include <sdbusplus/sdbus.hpp>
namespace sdbusplus
{
@@ -91,9 +93,10 @@
*/
object(bus::bus& bus, const char* path, bool deferSignal = false) :
details::compose<Args...>(bus, path),
- __sdbusplus_server_object_bus(bus.get()),
+ __sdbusplus_server_object_bus(bus.get(), bus.getInterface()),
__sdbusplus_server_object_path(path),
- __sdbusplus_server_object_emitremoved(false)
+ __sdbusplus_server_object_emitremoved(false),
+ __sdbusplus_server_object_intf(bus.getInterface())
{
if (!deferSignal)
{
@@ -105,8 +108,9 @@
{
if (__sdbusplus_server_object_emitremoved)
{
- sd_bus_emit_object_removed(__sdbusplus_server_object_bus.get(),
- __sdbusplus_server_object_path.c_str());
+ __sdbusplus_server_object_intf->sd_bus_emit_object_removed(
+ __sdbusplus_server_object_bus.get(),
+ __sdbusplus_server_object_path.c_str());
}
}
@@ -115,8 +119,9 @@
{
if (!__sdbusplus_server_object_emitremoved)
{
- sd_bus_emit_object_added(__sdbusplus_server_object_bus.get(),
- __sdbusplus_server_object_path.c_str());
+ __sdbusplus_server_object_intf->sd_bus_emit_object_added(
+ __sdbusplus_server_object_bus.get(),
+ __sdbusplus_server_object_path.c_str());
__sdbusplus_server_object_emitremoved = true;
}
}
@@ -129,6 +134,7 @@
bus::bus __sdbusplus_server_object_bus;
std::string __sdbusplus_server_object_path;
bool __sdbusplus_server_object_emitremoved;
+ SdBusInterface* __sdbusplus_server_object_intf;
};
} // namespace object