---
 Makefile.am               |    3 ++-
 test/list-contexts        |    6 +++---
 test/set-context-property |   38 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 4 deletions(-)
 create mode 100755 test/set-context-property

diff --git a/Makefile.am b/Makefile.am
index 42ad86f..5c4f8c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -484,7 +484,8 @@ test_scripts = test/backtrace \
                test/cdma-hangup \
                test/disable-call-forwarding \
                test/list-messages \
-               test/test-sms
+               test/test-sms \
+               test/set-context-property
 
 if TEST
 testdir = $(pkglibdir)/test
diff --git a/test/list-contexts b/test/list-contexts
index 68dae6a..9519ade 100755
--- a/test/list-contexts
+++ b/test/list-contexts
@@ -24,15 +24,15 @@ for path, properties in modems:
                print "    [ %s ]" % (path)
 
                for key in properties.keys():
-                       if key in ["Settings"]:
+                       if key in ["Settings"] or key in ["IPv6Settings"]:
                                val = "{"
                                for i in properties[key].keys():
                                        val += " " + i + "="
                                        if i in ["DomainNameServers"]:
                                                for n in properties[key][i]:
-                                                       val += n + ","
+                                                       val += str(n) + ","
                                        else:
-                                               val += properties[key][i]
+                                               val += str(properties[key][i])
                                val += " }"
                        else:
                                val = str(properties[key])
diff --git a/test/set-context-property b/test/set-context-property
new file mode 100755
index 0000000..8ea0e3a
--- /dev/null
+++ b/test/set-context-property
@@ -0,0 +1,38 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+
+if len(sys.argv) < 4:
+       print "Usage: set-context-property <context> <name> <value>"
+       sys.exit(1)
+
+bus = dbus.SystemBus()
+
+manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+                                               'org.ofono.Manager')
+
+modems = manager.GetModems()
+
+for path, properties in modems:
+       if "org.ofono.ConnectionManager" not in properties["Interfaces"]:
+               continue
+
+       connman = dbus.Interface(bus.get_object('org.ofono', path),
+                                       'org.ofono.ConnectionManager')
+
+       contexts = connman.GetContexts()
+
+       if (len(contexts) == 0):
+               print "No context available"
+               sys.exit(1)
+
+       path = contexts[int(sys.argv[1])][0]
+       context = dbus.Interface(bus.get_object('org.ofono', path),
+                                       'org.ofono.ConnectionContext')
+
+       try:
+               context.SetProperty(sys.argv[2], sys.argv[3])
+       except dbus.DBusException, e:
+               print "Error setting context %s property %s: %s" % (path, 
sys.argv[2], str(e))
+               exit(2)
-- 
1.7.1

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to