test: Add wifi carrier support for handover_agent test
[platform/upstream/neard.git] / test / ndef-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 NDEFAgent(dbus.service.Object):
11
12         @dbus.service.method("org.neard.NDEFAgent",
13                                         in_signature='', out_signature='')
14         def Release(self):
15                 print "Release"
16                 mainloop.quit()
17
18         @dbus.service.method("org.neard.NDEFAgent",
19                                         in_signature='a{sv}',
20                                         out_signature='')
21         def GetNDEF(self, fields):
22                 print "GetNDEF %s"
23
24                 if fields.has_key("Records"):
25                         for path in fields["Records"]:
26                                 print "Record path %s" % (path)
27
28                 if fields.has_key("NDEF"):
29                         val = "["
30                         for i in fields["NDEF"]:
31                                 val += " 0x%x" % i
32                         val += " ]"
33                         print "NDEF %s" % val
34
35                 return
36
37         @dbus.service.method("org.neard.NDEFAgent",
38                                         in_signature='', out_signature='')
39         def Cancel(self):
40                 print "Cancel"
41
42 def print_usage():
43         print "Usage:"
44         print "%s Type=<record type>" % (sys.argv[0])
45         print "Help: %s help" % (sys.argv[0])
46         sys.exit(1)
47
48 if __name__ == '__main__':
49         if len(sys.argv) != 2:
50                 print_usage()
51
52         if len(sys.argv) == 2 and sys.argv[1] == "help":
53                 print_usage()
54
55         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
56
57         bus = dbus.SystemBus()
58         manager = dbus.Interface(bus.get_object('org.neard', "/"),
59                                         'org.neard.Manager')
60
61         path = "/test/ndef/agent"
62         object = NDEFAgent(bus, path)
63         rec_type = sys.argv[1].replace("Type=", "", 1)
64
65         manager.RegisterNDEFAgent(path, rec_type)
66
67         mainloop = gobject.MainLoop()
68         mainloop.run()