| SD_BUS_SET_PROPERTY(3) | sd_bus_set_property | SD_BUS_SET_PROPERTY(3) |
.SH "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
.SH "SYNOPSIS"
#include <systemd/sd-bus.h>
.HP 576u 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,
const char *type, ...);
.HP 600u 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,
const char *type,
va_list ap);
.HP 576u 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);
.HP 768u 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);
.HP 744u 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);
.HP 696u 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);
.SH "DESCRIPTION"
.PP 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).
.PP sd_bus_set_property() sets a D-Bus property. 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).
.PP 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.
.PP 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).
.PP 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().
.SH "RETURN VALUE"
.PP On success, these functions return a non-negative integer. On failure,
they return a negative errno-style error code.
.SS "Errors"
.PP See the sd_bus_call_method(3) man page for a list of possible
errors.
.SH "NOTES"
.PP Functions described here are available as a shared library, which can be
compiled against and linked to with the
libsystemd pkg-config(1) file.
.PP All functions listed here are thread-agnostic and only a single thread
may operate on a given object at any given time. Different threads may
access the same object at different times. Multiple independent objects may
be used from different threads in parallel.
.PP The code described here uses getenv(3), which is declared to be
not multi-thread-safe. This means that the code calling the functions
described here must not call setenv(3) from a parallel thread. It is
recommended to only do calls to setenv() from an early phase of the
program when no other threads have been started.
.SH "HISTORY"
.PP sd_bus_set_property(), sd_bus_set_propertyv(),
sd_bus_get_property(), sd_bus_get_property_trivial(),
sd_bus_get_property_string(), and sd_bus_get_property_strv()
were added in version 246.
.SH "SEE ALSO"
| systemd 262.2 |