dbus-glib define services

Tomas Pelka tpelka at redhat.com
Tue Nov 18 07:23:59 PST 2008

Hi folks,

I have few thing that confuse me a bit.

1) What means in dbus-glib service definition xml this def:
   <method name="SendCar">
      <arg type="(suv)" direction="in"/>
      <arg type="(uo)" direction="out"/>

What are the brackets [(suv)]?

2) Another definition:
  <method name="ManyStringify">
      <arg type="a{sv}" direction="in"/>
      <arg type="a{sv}" direction="out"/>

In my opinion input is dictionary, with string key, and value is
variant, but variant isn't a type. The input string should be:
dict:string:variant:"key",int32:-42, but this didn't worked.

3) How can I define dict of dicts:
  <method name="DictOfDicts">
      <arg type="a{sa{ss}}" direction="in"/>
      <arg type="a{sa{ss}}" direction="out"/>

Same problem as above, dict isn't a type, it is container.

In dbus-send manual:
"D-Bus supports more types than these, but dbus-send currently does not.
Also, dbus-send  does not permit empty containers or nested containers
(e.g. arrays of variants)."

Is any other chance to send messages through dbus, except write a
special program?

Thanks for comments.


More information about the dbus mailing list