| #!/usr/bin/python |
| |
| import gobject |
| |
| import dbus |
| import dbus.service |
| import dbus.mainloop.glib |
| |
| class Canceled(dbus.DBusException): |
| _dbus_error_name = "org.chromium.flimflam.Error.Canceled" |
| |
| class Agent(dbus.service.Object): |
| @dbus.service.method("org.chromium.flimflam.Agent", |
| in_signature='', out_signature='') |
| def Release(self): |
| print("Release") |
| mainloop.quit() |
| @dbus.service.method("org.chromium.flimflam.Agent", |
| in_signature='o', out_signature='s') |
| def RequestPassphrase(self, service): |
| print "PassphraseRequested (%s)" % (service) |
| raise Canceled("Canceled") |
| |
| @dbus.service.method("org.chromium.flimflam.Agent", |
| in_signature='', out_signature='') |
| def Cancel(self): |
| print "Cancel" |
| |
| if __name__ == '__main__': |
| dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) |
| |
| bus = dbus.SystemBus() |
| manager = dbus.Interface(bus.get_object('org.chromium.flimflam', "/"), |
| 'org.chromium.flimflam.Manager') |
| |
| path = "/test/agent" |
| object = Agent(bus, path) |
| |
| manager.RegisterAgent(path) |
| |
| mainloop = gobject.MainLoop() |
| mainloop.run() |
| |
| #manager.UnregisterAgent(path) |