summaryrefslogtreecommitdiffstats
path: root/test/test-network-registration
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-05-28 18:20:23 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-05-28 18:29:07 -0500
commit02555a3a6357cb9876de214eb6fd981f48c62c5e (patch)
tree71cf57eab01ecd3f00f0fde4dfb80373d6dfd1c0 /test/test-network-registration
parent7bd558c788f82e886f201ffae268857d0a34f8e3 (diff)
downloadofono-02555a3a6357cb9876de214eb6fd981f48c62c5e.tar.bz2
Add test script for NetworkRegistration interface
Diffstat (limited to 'test/test-network-registration')
-rwxr-xr-xtest/test-network-registration89
1 files changed, 89 insertions, 0 deletions
diff --git a/test/test-network-registration b/test/test-network-registration
new file mode 100755
index 00000000..8d2176b5
--- /dev/null
+++ b/test/test-network-registration
@@ -0,0 +1,89 @@
+#!/usr/bin/python
+
+import gobject
+import sys
+import dbus
+import dbus.mainloop.glib
+
+def operator_property_changed(name, value, path=None):
+ print "Operator on path: '%s', property '%s' changed to '%s'" %\
+ (path, name, value)
+
+def network_property_changed(name, value):
+ print "Network Registration property '%s' changed to '%s'" %\
+ (name, value)
+
+ if name == 'Operator' and canexit:
+ mainloop.quit()
+
+if __name__ == "__main__":
+ if len(sys.argv) != 2:
+ print "Useage: %s <path> - Register to PLMN on <path>" %\
+ (sys.argv[0])
+ print "Useage: %s default - Register to default PLMN" %\
+ (sys.argv[0])
+ print "Useage: %s unregister - Unregister from all PLMNs" %\
+ (sys.argv[0])
+ sys.exit(1)
+
+ canexit = False
+
+ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+ bus = dbus.SystemBus()
+
+ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+ 'org.ofono.Manager')
+
+ modems = manager.GetProperties()['Modems']
+
+ netreg = dbus.Interface(bus.get_object('org.ofono', modems[0]),
+ 'org.ofono.NetworkRegistration')
+
+ netreg.connect_to_signal("PropertyChanged", network_property_changed)
+
+ props = netreg.GetProperties()
+
+ print "Status is: '%s', Operator is: '%s'" %\
+ (props['Status'], props['Operator'])
+
+ if props.has_key('LocationAreaCode') and props.has_key('CellId'):
+ print "Location: '%d', Cell: '%d'" %\
+ (props['LocationAreaCode'], props['CellId'])
+
+ if props.has_key('Technology'):
+ print "Technology: '%s'" % (props['Technology'])
+
+ for path in props['AvailableOperators']:
+ op = dbus.Interface(bus.get_object('org.ofono', path),
+ 'org.ofono.NetworkOperator')
+ op.connect_to_signal("PropertyChanged",
+ operator_property_changed,
+ path_keyword='path')
+
+ props = op.GetProperties()
+
+ print ""
+
+ print "Operator at path: '%s'" % (path)
+ print "Name: '%s', MCC: '%d', MNC: '%d', status: '%s'" %\
+ (props['Name'], props['MobileCountryCode'],
+ props['MobileNetworkCode'], props['Status'])
+
+ try:
+ if sys.argv[1] == 'default':
+ netreg.Register()
+ elif sys.argv[1] == 'unregister':
+ netreg.Deregister()
+ else:
+ obj = bus.get_object('org.ofono', sys.argv[1]);
+ op = dbus.Interface(obj, 'org.ofono.NetworkOperator')
+ op.Register()
+ except dbus.DBusException, e:
+ print "Unable to register/deregister: ", e
+ sys.exit(1)
+
+ canexit = True
+
+ mainloop = gobject.MainLoop()
+ mainloop.run()