From e8b84fcca67007b518118783b10347f569e0f0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 24 Jul 2018 23:23:29 +0200 Subject: [PATCH] man: add sd_bus_message_new_signal(3) --- man/rules/meson.build | 1 + man/sd-bus.xml | 1 + man/sd_bus_message_new_signal.xml | 116 ++++++++++++++++++++++++++++++ man/send-unit-files-changed.c | 16 +++++ 4 files changed, 134 insertions(+) create mode 100644 man/sd_bus_message_new_signal.xml create mode 100644 man/send-unit-files-changed.c diff --git a/man/rules/meson.build b/man/rules/meson.build index 305876f72b..df7ea47470 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -216,6 +216,7 @@ manpages = [ 'sd_bus_message_new_method_errnof', 'sd_bus_message_new_method_errorf'], ''], + ['sd_bus_message_new_signal', '3', [], ''], ['sd_bus_message_read', '3', ['sd_bus_message_readv'], ''], ['sd_bus_message_read_basic', '3', [], ''], ['sd_bus_message_set_destination', '3', ['sd_bus_message_set_sender'], ''], diff --git a/man/sd-bus.xml b/man/sd-bus.xml index 8c7b60743c..6210f40dc2 100644 --- a/man/sd-bus.xml +++ b/man/sd-bus.xml @@ -61,6 +61,7 @@ sd_bus_message_get_cookie3, sd_bus_message_get_monotonic_usec3, sd_bus_message_new_method_error3, +sd_bus_message_new_signal3, sd_bus_message_read_basic3, sd_bus_message_read3, sd_bus_message_set_destination3, diff --git a/man/sd_bus_message_new_signal.xml b/man/sd_bus_message_new_signal.xml new file mode 100644 index 0000000000..1c7629c149 --- /dev/null +++ b/man/sd_bus_message_new_signal.xml @@ -0,0 +1,116 @@ + + + + + + + + sd_bus_message_new_signal + systemd + + + + sd_bus_message_new_signal + 3 + + + + sd_bus_message_new_signal + + Create a signal message + + + + + #include <systemd/sd-bus.h> + + + int sd_bus_message_new_signal + sd_bus *bus + sd_bus_message **m + const char *path + const char *interface + const char *member + + + + + + Description + + The sd_bus_message_new_signal() function creates a new bus message + object that encapsulates a D-Bus signal, and returns it in the m output + parameter. The signal will be sent to path path, on the interface + interface, member member. When this message is + sent, no reply is expected. + + + + Return Value + + This function returns 0 if the message object was successfully created, and a negative + errno-style error code otherwise. + + + + Errors + + Returned errors may indicate the following problems: + + + + -EINVAL + + The output parameter m is + NULL. + + The path parameter is not a valid D-Bus path + (/an/object/path), the interface parameter is not + a valid D-Bus interface name (an.interface.name), or the + member parameter is not a valid D-Bus member + (Name). + + + + -ENOTCONN + + The bus parameter bus is NULL or + the bus is not connected. + + + + -ENOMEM + + Memory allocation failed. + + + + + + + + Examples + + + Send a simple signal + + + + This function in systemd sources is used to emit the + UnitFilesChanged signal when the unit files have been changed. + + + + + + See Also + + + systemd1, + sd-bus3 + + + + diff --git a/man/send-unit-files-changed.c b/man/send-unit-files-changed.c new file mode 100644 index 0000000000..aecfbcbed1 --- /dev/null +++ b/man/send-unit-files-changed.c @@ -0,0 +1,16 @@ +#include +#define _cleanup_(f) __attribute__((cleanup(f))) + +int send_unit_files_changed(sd_bus *bus) { + _cleanup_(sd_bus_message_unrefp) sd_bus_message *message = NULL; + int r; + + r = sd_bus_message_new_signal(bus, &message, + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", + "UnitFilesChanged"); + if (r < 0) + return r; + + return sd_bus_send(bus, message, NULL); +}