Dictionary argument in Python server method

hkxyz e11years at gmail.com
Wed Sep 16 13:15:15 PDT 2009


hi,

I'm trying to accept a dictionary as an argument to a method as follows,
however the method fails to be visible. This is with Ubuntu jaunty amd64

@dbus.service.method("com.example.poxy", in_signature='a{ss}',
out_signature='i')
    def test( self,  request ): 
       pass

Running qdbus shows that the method is 'introspectable', but calling it
fails with "Cannot find '.test' in object /top at com.service.example".

This works with other arguments that are not dictionaries. 

Is this a bug?


xxx at host64:/$ qdbus com.service.example /top Introspect
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/top">
  <interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg direction="out" type="s" />
    </method>
  </interface>
  <interface name="com.service.poxy">
    <method name="test">
      <arg direction="in"  type="a{ss}" name="request" />
      <arg direction="out" type="i" />
    </method>
  </interface>
</node>




-- 
View this message in context: http://www.nabble.com/Dictionary-argument-in-Python-server-method-tp25479722p25479722.html
Sent from the Free Desktop - dbus mailing list archive at Nabble.com.



More information about the dbus mailing list