#!/usr/bin/python

import sys
import dbus

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.DataConnectionManager" not in properties["Interfaces"]:
		continue

	connmgr = dbus.Interface(bus.get_object('org.ofono', path),
					'org.ofono.DataConnectionManager')

	properties = connmgr.GetProperties()

	if (properties["PrimaryContexts"] == []):
		path = connmgr.CreateContext("Example", "internet")
	else:
		path = properties["PrimaryContexts"][0]

	context = dbus.Interface(bus.get_object('org.ofono', path),
					'org.ofono.PrimaryDataContext')

	context.SetProperty("AccessPointName", sys.argv[1])

	print "Setting APN of %s to %s" % (path, sys.argv[1])
