#!/usr/bin/python

import dbus

WPA_NAME='fi.w1.wpa_supplicant1'
WPA_INTF='fi.w1.wpa_supplicant1'
WPA_PATH='/fi/w1/wpa_supplicant1'

bus = dbus.SystemBus()

dummy = dbus.Interface(bus.get_object(WPA_NAME, WPA_PATH),
				'org.freedesktop.DBus.Introspectable')

print dummy.Introspect()
