summaryrefslogtreecommitdiffstats
path: root/test/test-stk-menu
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-08-20 13:14:06 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-08-20 13:14:06 +0200
commite175760bda2945b781e3d2dc5ca8315ced9c6c8e (patch)
tree2784ab288402df6163bbed45836bec28bd1120c0 /test/test-stk-menu
parent4d9cfc455c56d11a1afcc81bcfb4a2bd96adc34c (diff)
downloadofono-e175760bda2945b781e3d2dc5ca8315ced9c6c8e.tar.bz2
test: Rename script for testing STK menus
Diffstat (limited to 'test/test-stk-menu')
-rwxr-xr-xtest/test-stk-menu169
1 files changed, 169 insertions, 0 deletions
diff --git a/test/test-stk-menu b/test/test-stk-menu
new file mode 100755
index 00000000..a342b1f7
--- /dev/null
+++ b/test/test-stk-menu
@@ -0,0 +1,169 @@
+#!/usr/bin/python
+
+import gobject
+
+import sys
+import dbus
+import dbus.service
+import dbus.mainloop.glib
+
+class GoBack(dbus.DBusException):
+ _dbus_error_name = "org.ofono.Error.GoBack"
+
+class EndSession(dbus.DBusException):
+ _dbus_error_name = "org.ofono.Error.EndSession"
+
+class StkAgent(dbus.service.Object):
+ exit_on_release = True
+
+ def set_exit_on_release(self, exit_on_release):
+ self.exit_on_release = exit_on_release
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="", out_signature="")
+ def Release(self):
+ print "Release"
+ if self.exit_on_release:
+ mainloop.quit()
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sya(sy)y", out_signature="y")
+ def RequestSelection(self, title, icon, items, default):
+ print "Title: (%s)" % (title)
+ index = 0;
+ for item in items:
+ print "%d. %s" % (index, item[0])
+ index += 1
+
+ print "\nDefault: %d" % (default)
+ select = raw_input("Enter Selection (t, b):")
+
+ if select == 'b':
+ raise GoBack("User wishes to go back")
+ elif select == 't':
+ raise EndSession("User wishes to terminate session")
+ else:
+ return int(select);
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="syb", out_signature="")
+ def DisplayText(self, title, icon, urgent):
+ print "DisplayText (%s, %s)" % (title, urgent)
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sysyyb", out_signature="s")
+ def RequestInput(self, title, icon, default, min_chars, max_chars,
+ hide_typing):
+ print "Title: (%s)" % (title)
+ print "Default: (%s)" % (default)
+ print "Enter characters, min: %d, max: %d:" % (min_chars,
+ max_chars)
+ userin = raw_input("");
+
+ return userin
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sysyyb", out_signature="s")
+ def RequestDigits(self, title, icon, default, min_chars, max_chars,
+ hide_typing):
+ print "Title: (%s)" % (title)
+ print "Default: (%s)" % (default)
+ print "Enter digits, min: %d, max: %d:" % (min_chars,
+ max_chars)
+ userin = raw_input("'t' terminates, 'b' goes back:");
+
+ if userin == 'b':
+ raise GoBack("User wishes to go back")
+ elif userin == 't':
+ raise EndSession("User wishes to terminate session")
+ else:
+ return userin
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sy", out_signature="s")
+ def RequestKey(self, title, icon):
+ print "Title: (%s)" % (title)
+ key = raw_input("Enter Key (t, b):")
+
+ if key == 'b':
+ raise GoBack("User wishes to go back");
+ elif key == 't':
+ raise EndSession("User wishes to terminate session");
+ else:
+ return key
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sy", out_signature="s")
+ def RequestDigit(self, title, icon):
+ print "Title: (%s)" % (title)
+ key = raw_input("Enter Digit (t, b):")
+
+ if key == 'b':
+ raise GoBack("User wishes to go back");
+ elif key == 't':
+ raise EndSession("User wishes to terminate session");
+ else:
+ return key
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ in_signature="sy", out_signature="b")
+ def RequestConfirmation(self, title, icon):
+ print "Title: (%s)" % (title)
+ key = raw_input("Enter Digit (t, b, y, n):")
+
+ if key == 'b':
+ raise GoBack("User wishes to go back");
+ elif key == 't':
+ raise EndSession("User wishes to terminate session");
+ elif key == 'y':
+ return True
+ else:
+ return False
+
+ @dbus.service.method("org.ofono.SimToolkitAgent",
+ 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.ofono", "/"),
+ "org.ofono.Manager")
+
+ properties = manager.GetProperties()
+
+ for path in properties["Modems"]:
+ modem = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.Modem')
+
+ properties = modem.GetProperties()
+
+ if "org.ofono.SimToolkit" not in properties["Interfaces"]:
+ continue
+
+ stk = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.SimToolkit')
+
+ properties = stk.GetProperties()
+
+ print "Main Menu:"
+ print "%s" % (properties["MainMenuTitle"])
+
+ print "\nItems:"
+
+ index = 0
+ for item in properties["MainMenu"]:
+ print "%d. %s" % (index, item[0])
+ index += 1
+
+ path = "/test/agent"
+ agent = StkAgent(bus, path)
+
+ select = int(raw_input("Enter Selection: "))
+ stk.SelectItem(select, path)
+ print "Agent registered for session"
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()