#!/usr/bin/python

import sys
import dbus

if (len(sys.argv) < 2):
	print "Usage: %s <service> [domain*]" % (sys.argv[0])
	sys.exit(1)

bus = dbus.SystemBus()
path = "/net/connman/service/" + sys.argv[1]
service = dbus.Interface(bus.get_object('net.connman', path),
					'net.connman.Service')

properties = service.GetProperties()

print "Setting domains to %s" % (sys.argv[2:])

service.SetProperty("Domains.Configuration", 
	dbus.Array(sys.argv[2:], signature=dbus.Signature('s')))
