sd_bus_set_property

elogind
sd_bus_set_property 3
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

    #include <elogind/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 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 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. 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.

## History

`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.

## See Also

elogind 8, sd-bus 3, sd_bus_call_method 3