Add support for setting manual DNS server configuration
[platform/upstream/connman.git] / test / simple-agent
1 #!/usr/bin/python
2
3 import gobject
4
5 import dbus
6 import dbus.service
7 import dbus.mainloop.glib
8 import sys
9
10 class Canceled(dbus.DBusException):
11         _dbus_error_name = "org.moblin.connman.Error.Canceled"
12
13 class Agent(dbus.service.Object):
14         passphrase = ""
15
16         @dbus.service.method("org.moblin.connman.Agent",
17                                         in_signature='', out_signature='')
18         def Release(self):
19                 print("Release")
20                 mainloop.quit()
21
22         @dbus.service.method("org.moblin.connman.Agent",
23                                         in_signature='o', out_signature='')
24         def RequestPassphrase(self, path):
25                 print "PassphraseRequested (%s)" % (path)
26
27                 service = dbus.Interface(bus.get_object("org.moblin.connman",
28                                                         path),
29                                          "org.moblin.connman.Service")
30
31                 try:
32                         print "setting passphrase (%s)" % (self.passphrase)
33
34                         service.SetProperty("Passphrase",
35                                             dbus.String(self.passphrase,
36                                                         variant_level=1))
37
38                         service.Connect(timeout=60000)
39                 except dbus.DBusException, error:
40                         print "%s: %s" % (error._dbus_error_name, error.message)
41
42         @dbus.service.method("org.moblin.connman.Agent",
43                                         in_signature='', out_signature='')
44         def Cancel(self):
45                 print "Cancel"
46
47
48
49 if __name__ == '__main__':
50         if len(sys.argv) < 2:
51                 print "Usage: %s <passphrase>" % (sys.argv[0])
52                 sys.exit(1)
53
54         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
55
56         bus = dbus.SystemBus()
57         manager = dbus.Interface(bus.get_object('org.moblin.connman', "/"),
58                                         'org.moblin.connman.Manager')
59
60         path = "/test/agent"
61         object = Agent(bus, path)
62         object.passphrase = sys.argv[1]
63
64         manager.RegisterAgent(path)
65
66         mainloop = gobject.MainLoop()
67         mainloop.run()
68
69         #manager.UnregisterAgent(path)