.simple-agent dbus pin handle

Jelle de Jong <[email protected]> Sun, 27 Jul 2008 18:52:51 +0200
Newsgroups gmane.linux.bluez.user
Message-ID <[email protected]>
This message contains the following attachment(s):
.simple-agent.py

Hello everybody,

I can't get my pin-agent working anymore. I currently have not the 
knowledge to fix this issue and help is appreciated. I don't use a gui 
on the system, so gnome tools is not an options. Any help is really 
appreciated.

running on debian sid:
Architecture: i386
Version: 3.36-1

Thanks in advance,

Jelle


sudo python .simple-agent.py
ERROR:dbus.connection:Unable to set arguments ('/test/agent',) according 
to signature u'os': <type 'exceptions.TypeError'>: More items found in 
D-Bus signature than in Python arguments
Traceback (most recent call last):
   File ".simple-agent.py", line 54, in <module>
     adapter.RegisterAgent(path)
   File "/var/lib/python-support/python2.5/dbus/proxies.py", line 68, in 
__call__
     return self._proxy_method(*args, **keywords)
   File "/var/lib/python-support/python2.5/dbus/proxies.py", line 140, 
in __call__
     **keywords)
   File "/var/lib/python-support/python2.5/dbus/connection.py", line 
597, in call_blocking
     message.append(signature=signature, *args)
TypeError: More items found in D-Bus signature than in Python arguments

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users
.simple-agent.py (text/x-python, 1.7 KB)
#!/usr/bin/python

import gobject

import dbus
import dbus.service
import dbus.mainloop.glib

class Agent(dbus.service.Object):
    @dbus.service.method("org.bluez.Agent",
                    in_signature="", out_signature="")
    def Release(self):
        print "Release"
        mainloop.quit()

    @dbus.service.method("org.bluez.Agent",
                    in_signature="os", out_signature="")
    def Authorize(self, device, uuid):
        print "Authorize (" + device + ", " + uuid + ")"
        return

    @dbus.service.method("org.bluez.Agent",
                    in_signature="o", out_signature="s")
    def RequestPasskey(self, device):
        print "RequestPasskey (" + device + ")"
        return "0000"

    @dbus.service.method("org.bluez.Agent",
                    in_signature="s", out_signature="")
    def ConfirmModeChange(self, mode):
        print "ConfirmModeChange (" + mode + ")"
        return

    @dbus.service.method("org.bluez.Agent",
                    in_signature="", out_signature="")
    def Cancel(self):
        print "Cancel"
        return

if __name__ == '__main__':
    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

    bus = dbus.SystemBus()
    manager = dbus.Interface(bus.get_object("org.bluez", "/"),
                            "org.bluez.Manager")

    path = manager.DefaultAdapter()
    adapter = dbus.Interface(bus.get_object("org.bluez", path),
                            "org.bluez.Adapter")

    path = "/test/agent"
    object = Agent(bus, path)

    adapter.RegisterAgent(path)
    print "Agent registered"

    mainloop = gobject.MainLoop()
    mainloop.run()

    #adapter.UnregisterAgent(path)
    #print "Agent unregistered"