SD_BUS_SET_PROPERTY
Section: sd_bus_set_property (3)
Updated:
Page Index
NAME
sd_bus_set_property, sd_bus_set_propertyv, sd_bus_get_property, sd_bus_get_property_trivial, sd_bus_get_property_string, sd_bus_get_property_strv - Set or query D-Bus service properties
SYNOPSIS
#include <systemd/sd-bus.h>
-
int sd_bus_set_property(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, sd_bus_message **reply, const char *type, ...);
-
int sd_bus_set_propertyv(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, sd_bus_message **reply, const char *type, va_list ap);
-
int sd_bus_get_property(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, sd_bus_message **reply, const char *type);
-
int sd_bus_get_property_trivial(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, char type, void *ret_ptr);
-
int sd_bus_get_property_string(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, char **ret);
-
int sd_bus_get_property_strv(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, char ***ret);
DESCRIPTION
These functions set or query D-Bus properties. D-Bus properties are service fields exposed via the
org.freedesktop.DBus.Properties
interface. Under the hood, these functions call methods of the
org.freedesktop.DBus.Properties
interface and as a result their semantics are similar to
sd_bus_call_method(3).
sd_bus_set_property()
sets a D-Bus property. On success, the response is stored in
reply. If setting the property fails or an internal error occurs, an error is returned and an extended description of the error is optionally stored in
ret_error
if it is not
NULL.
type
and the arguments that follow it describe the new value of the property and must follow the format described in
sd_bus_message_append(3).
sd_bus_set_propertyv()
is equivalent to
sd_bus_set_property(), except that it is called with a
"va_list"
instead of a variable number of arguments.
sd_bus_get_property()
queries a D-Bus property. If retrieving the property fails or an internal error occurs, an error is returned and an extended description of the error is optionally stored in
ret_error
if it is not
NULL. On success, the property is stored in
reply.
type
describes the property type and must follow the format described in
sd_bus_message_append(3).
sd_bus_get_property_trivial(),
sd_bus_get_property_string()
and
sd_bus_get_property_strv()
are shorthands for
sd_bus_get_property()
that are used to query basic, string and string vector properties respectively. The caller is responsible for freeing the string and string vector results stored in
ret
by
sd_bus_get_property_string()
and
sd_bus_get_property_strv().
RETURN VALUE
On success, these functions return a non-negative integer. On failure, they return a negative errno-style error code.
Errors
See the
sd_bus_call_method(3)
man page for a list of possible errors.
NOTES
These APIs are implemented as a shared library, which can be compiled and linked to with the
libsystemd pkg-config(1)
file.
SEE ALSO
systemd(1),
sd-bus(3),
sd_bus_call_method(3)