From 5ee4c61a1b7eba4ad9bf6a8728eb242c509c5fab Mon Sep 17 00:00:00 2001 From: Marek Blaha Date: Thu, 29 Apr 2021 17:18:04 +0200 Subject: [PATCH] Add API to set signal destination (#168) With this patch it is possible to create unicast signals. --- include/sdbus-c++/Message.h | 1 + src/Message.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/sdbus-c++/Message.h b/include/sdbus-c++/Message.h index 133a7bc..9d9c26e 100644 --- a/include/sdbus-c++/Message.h +++ b/include/sdbus-c++/Message.h @@ -215,6 +215,7 @@ namespace sdbus { public: Signal() = default; + void setDestination(const std::string& destination); void send() const; }; diff --git a/src/Message.cpp b/src/Message.cpp index 45f8f36..29ad5df 100644 --- a/src/Message.cpp +++ b/src/Message.cpp @@ -818,6 +818,12 @@ void Signal::send() const SDBUS_THROW_ERROR_IF(r < 0, "Failed to emit signal", -r); } +void Signal::setDestination(const std::string& destination) +{ + auto r = sd_bus_message_set_destination((sd_bus_message*)msg_, destination.c_str()); + SDBUS_THROW_ERROR_IF(r < 0, "Failed to set signal destination", -r); +} + PlainMessage createPlainMessage() { static auto connection = internal::createConnection();