18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#!/usr/bin/python
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtimport dbus
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtimport sys, os
58d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtimport time
68d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtimport gobject
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtdef main():
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	bus = dbus.SystemBus()
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	wpas_obj = bus.get_object("fi.w1.wpa_supplicant1",
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				  "/fi/w1/wpa_supplicant1")
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	props = wpas_obj.GetAll("fi.w1.wpa_supplicant1",
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				dbus_interface=dbus.PROPERTIES_IFACE)
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print "GetAll(fi.w1.wpa_supplicant1, /fi/w1/wpa_supplicant1):"
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print props
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if len(sys.argv) != 2:
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		os._exit(1)
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	ifname = sys.argv[1]
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	wpas = dbus.Interface(wpas_obj, "fi.w1.wpa_supplicant1")
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	path = wpas.GetInterface(ifname)
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if_obj = bus.get_object("fi.w1.wpa_supplicant1", path)
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	props = if_obj.GetAll("fi.w1.wpa_supplicant1.Interface",
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			      dbus_interface=dbus.PROPERTIES_IFACE)
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print "GetAll(fi.w1.wpa_supplicant1.Interface, %s):" % (path)
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print props
308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	props = if_obj.GetAll("fi.w1.wpa_supplicant1.Interface.WPS",
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			      dbus_interface=dbus.PROPERTIES_IFACE)
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print "GetAll(fi.w1.wpa_supplicant1.Interface.WPS, %s):" % (path)
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	print props
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	res = if_obj.Get("fi.w1.wpa_supplicant1.Interface", 'BSSs',
388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			 dbus_interface=dbus.PROPERTIES_IFACE)
398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if len(res) > 0:
408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		bss_obj = bus.get_object("fi.w1.wpa_supplicant1", res[0])
418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		props = bss_obj.GetAll("fi.w1.wpa_supplicant1.BSS",
428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				       dbus_interface=dbus.PROPERTIES_IFACE)
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print "GetAll(fi.w1.wpa_supplicant1.BSS, %s):" % (res[0])
458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print props
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	res = if_obj.Get("fi.w1.wpa_supplicant1.Interface", 'Networks',
488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			 dbus_interface=dbus.PROPERTIES_IFACE)
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	if len(res) > 0:
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		net_obj = bus.get_object("fi.w1.wpa_supplicant1", res[0])
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		props = net_obj.GetAll("fi.w1.wpa_supplicant1.Network",
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				       dbus_interface=dbus.PROPERTIES_IFACE)
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print "GetAll(fi.w1.wpa_supplicant1.Network, %s):" % (res[0])
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		print props
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtif __name__ == "__main__":
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	main()
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
60