void g_dbus_proxy_set_cached_property ( GDBusProxy* proxy, const gchar* property_name, GVariant* value )
value is not
NULL, sets the cached value for the property with
property_name to the value in
NULL, then the cached value is removed from the
proxy has an expected interface (see
property_name is referenced by
value is checked against the type of the property.
GVariant is floating, it is consumed. This allows
convenient ‘inline’ use of g_variant_new(), e.g.
g_dbus_proxy_set_cached_property (proxy, "SomeProperty", g_variant_new ("(si)", "A String", 42));
Normally you will not need to use this method since
is tracking changes using the
D-Bus signal. However, for performance reasons an object may
decide to not use this signal for some properties and instead
use a proprietary out-of-band mechanism to transmit changes.
As a concrete example, consider an object with a property
ChatroomParticipants which is an array of strings. Instead of
transmitting the same (long) array every time the property changes,
it is more efficient to only transmit the delta using e.g. signals
ChatroomParticipantJoined(String name) and
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string.
Value for the property or
NULLto remove it from the cache.
The argument can be
The data is owned by the caller of the function.