From 98a9fa7c3248673354367018b4a48af6637a7a58 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Mon, 31 Oct 2016 21:17:54 -0700 Subject: [PATCH] spec: Clarify behaviour of o.f.D.P.GetAll MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clarify its intended behaviour in two situations: • For interfaces which have no properties. • Where some properties are not visible to the caller (due to access control, for example). The intention here is for this behaviour to be mandatory, but given that this is quite late on in the specification’s life, and various D-Bus libraries like dbus-glib and telepathy-glib cannot support access control at a per-property level, for example. GDBus can, although it’s questionable whether this is a good idea. Deliberately leave the specification open to allow access control at a higher level as well (such as per-(object, interface)). https://bugs.freedesktop.org/show_bug.cgi?id=36190 --- doc/dbus-specification.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml index 64f561b..7fdeeb4 100644 --- a/doc/dbus-specification.xml +++ b/doc/dbus-specification.xml @@ -3814,6 +3814,17 @@ possibilities). + If org.freedesktop.DBus.Properties.GetAll is called + with a valid interface name which contains no properties, an empty array + should be returned. If it is called with a valid interface name for + which some properties are not accessible to the caller (for example, due + to per-property access control implemented in the service), those + properties should be silently omitted from the result array. + If org.freedesktop.DBus.Properties.Get is called for + any such properties, an appropriate access control error should be + returned. + + If one or more properties change on an object, the org.freedesktop.DBus.Properties.PropertiesChanged signal may be emitted (this signal was added in 0.14): -- 2.7.4