[SSSD] [PATCH] Implement org.freedesktop.DBus.Properties.GetAll for primitive types

Lukas Slebodnik lslebodn at redhat.com
Fri May 23 06:31:49 UTC 2014


On (21/05/14 22:53), Jakub Hrozek wrote:
>Hi,
>
>the attached patches implement the
>org.freedesktop.DBus.Properties.GetAll method for retrieving primitive
>types and their arrays.
>
>The patchset build on the previous set (currently still on review) that
>implements the .Get method. The GetAll handler simply walks through the
>existing getters and retrieves the results, storing them in a single
>variant.
>
>The patches include a unit test that tests all currently supported
>combinations of primitive types and array of primitive types.

>From fc4b278c0914b2c7001393e471f4f6f0b532ba54 Mon Sep 17 00:00:00 2001
>From: Jakub Hrozek <jhrozek at redhat.com>
>Date: Wed, 21 May 2014 16:48:45 +0200
>Subject: [PATCH 1/5] SBUS: Add utility function sbus_add_variant_to_dict
>
>---
> src/sbus/sssd_dbus.h            |   5 ++
> src/sbus/sssd_dbus_properties.c | 116 ++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 121 insertions(+)
>
src/sbus/sssd_dbus_properties.c:287:41: error: no member named 'invoker_get_all' in
      'struct sbus_interface_meta'
                                  meta->invoker_get_all);
                                  ~~~~  ^
It is introduced in 4th aptch
"SBUS: Implement org.freedesktop.DBus.Properties.GetAll for primitive types"

>From 32d84445012991dba38ee5b60f5614aca70b889d Mon Sep 17 00:00:00 2001
>From: Jakub Hrozek <jhrozek at redhat.com>
>Date: Wed, 21 May 2014 20:10:23 +0200
>Subject: [PATCH 5/5] SBUS: Add org.freedesktop.DBus.Properties.GetAll to
> Introspection

FAIL: sbus_tests

sbys_tests.log file is attached.

LS
-------------- next part --------------
Running suite(s): sbus
80%: Checks: 5, Failures: 1, Errors: 0
../sssd/src/tests/sbus_tests.c:328:F:tests:test_introspection:0: Assertion '"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n" "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n" "<node>\n" "  <interface name=\"test.Pilot\">\n" "    <method name=\"Blink\">\n" "    </method>\n" "    <method name=\"Eat\">\n" "    </method>\n" "  </interface>\n" " <interface name=\"org.freedesktop.DBus.Introspectable\">\n" "   <method name=\"Introspect\">\n" "     <arg name=\"data\" type=\"s\" direction=\"out\"/>\n" "   </method>\n" " </interface>\n" " <interface name=\"org.freedesktop.DBus.Properties\">\n" "   <method name=\"Get\">\n" "     <arg name=\"interface\" direction=\"in\" type=\"s\"/>\n" "     <arg name=\"property\" direction=\"in\" type=\"s\"/>\n" "     <arg name=\"value\" direction=\"out\" type=\"v\"/>\n" "   </method>\n" " </interface>\n" "</node>\n"==xml' failed: "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n" "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n" "<node>\n" "  <interface name=\"test.Pilot\">\n" "    <method name=\"Blink\">\n" "    </method>\n" "    <method name=\"Eat\">\n" "    </method>\n" "  </interface>\n" " <interface name=\"org.freedesktop.DBus.Introspectable\">\n" "   <method name=\"Introspect\">\n" "     <arg name=\"data\" type=\"s\" direction=\"out\"/>\n" "   </method>\n" " </interface>\n" " <interface name=\"org.freedesktop.DBus.Properties\">\n" "   <method name=\"Get\">\n" "     <arg name=\"interface\" direction=\"in\" type=\"s\"/>\n" "     <arg name=\"property\" direction=\"in\" type=\"s\"/>\n" "     <arg name=\"value\" direction=\"out\" type=\"v\"/>\n" "   </method>\n" " </interface>\n" "</node>\n"=="<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="test.Pilot">
    <method name="Blink">
    </method>
    <method name="Eat">
    </method>
  </interface>
 <interface name="org.freedesktop.DBus.Introspectable">
   <method name="Introspect">
     <arg name="data" type="s" direction="out"/>
   </method>
 </interface>
 <interface name="org.freedesktop.DBus.Properties">
   <method name="Get">
     <arg name="interface" direction="in" type="s"/>
     <arg name="property" direction="in" type="s"/>
     <arg name="value" direction="out" type="v"/>
   </method>
 </interface>
</node>
", xml=="<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="test.Pilot">
    <method name="Blink">
    </method>
    <method name="Eat">
    </method>
  </interface>
 <interface name="org.freedesktop.DBus.Introspectable">
   <method name="Introspect">
     <arg name="data" type="s" direction="out"/>
   </method>
 </interface>
 <interface name="org.freedesktop.DBus.Properties">
   <method name="Get">
     <arg name="interface" direction="in" type="s"/>
     <arg name="property" direction="in" type="s"/>
     <arg name="value" direction="out" type="v"/>
   </method>
   <method name="GetAll">
     <arg name="interface" direction="in" type="s"/>
     <arg name="properties" direction="out" type="a{sv}"/>
   </method>
 </interface>
</node>
"


More information about the sssd-devel mailing list