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();