Home | History | Annotate | Download | only in test
      1 #!/usr/bin/python
      2 
      3 import sys
      4 import dbus
      5 
      6 bus = dbus.SystemBus()
      7 
      8 manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")
      9 adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()),
     10 				"org.bluez.Adapter")
     11 test = dbus.Interface(bus.get_object("org.bluez", "/org/bluez/test"),
     12 			"org.bluez.TelephonyTest")
     13 
     14 if len(sys.argv) < 2:
     15 	print """Usage: %s <command>
     16 
     17 	connect <bdaddr>
     18 	disconnect <bdaddr>
     19 	outgoing <number>
     20 	incoming <number>
     21 	cancel
     22 	signal <level>
     23 	battery <level>
     24 	roaming <yes|no>
     25 	registration <status>
     26 	subscriber <number>
     27 	speakergain <bdaddr> [level]
     28 	microphonegain <bdaddr> [level]
     29 	play <bdaddr>
     30 	stop <bdaddr>
     31 	""" % sys.argv[0]
     32 	sys.exit(1)
     33 
     34 if sys.argv[1] == "connect":
     35 	if len(sys.argv) < 3:
     36 		print "Need device address parameter"
     37 		sys.exit(1)
     38 	device = adapter.FindDevice(sys.argv[2])
     39 	headset = dbus.Interface(bus.get_object("org.bluez", device),
     40 					"org.bluez.Headset")
     41 	headset.Connect()
     42 	sys.exit(0)
     43 
     44 if sys.argv[1] == "disconnect":
     45 	if len(sys.argv) < 3:
     46 		print "Need device address parameter"
     47 		sys.exit(1)
     48 	device = adapter.FindDevice(sys.argv[2])
     49 	headset = dbus.Interface(bus.get_object("org.bluez", device),
     50 					"org.bluez.Headset")
     51 	headset.Disconnect()
     52 	sys.exit(0)
     53 
     54 if sys.argv[1] == "speakergain":
     55 	if len(sys.argv) < 3:
     56 		print "Need device address parameter"
     57 		sys.exit(1)
     58 	device = adapter.FindDevice(sys.argv[2])
     59 	headset = dbus.Interface(bus.get_object("org.bluez", device),
     60 					"org.bluez.Headset")
     61 	if len(sys.argv) > 3:
     62 		headset.SetProperty('SpeakerGain', dbus.UInt16(sys.argv[3]))
     63 	else:
     64 		props = headset.GetProperties()
     65 		print props['SpeakerGain']
     66 
     67 	sys.exit(0)
     68 
     69 if sys.argv[1] == "microphonegain":
     70 	if len(sys.argv) < 3:
     71 		print "Need device address parameter"
     72 		sys.exit(1)
     73 	device = adapter.FindDevice(sys.argv[2])
     74 	headset = dbus.Interface(bus.get_object("org.bluez", device),
     75 					"org.bluez.Headset")
     76 	if len(sys.argv) > 3:
     77 		headset.SetProperty('MicrophoneGain', dbus.UInt16(sys.argv[3]))
     78 	else:
     79 		props = headset.GetProperties()
     80 		print props['MicrophoneGain']
     81 
     82 	sys.exit(0)
     83 
     84 if sys.argv[1] == "play":
     85 	if len(sys.argv) < 3:
     86 		print "Need device address parameter"
     87 		sys.exit(1)
     88 	device = adapter.FindDevice(sys.argv[2])
     89 	headset = dbus.Interface(bus.get_object("org.bluez", device),
     90 					"org.bluez.Headset")
     91 	headset.Play()
     92 
     93 	sys.exit(0)
     94 
     95 if sys.argv[1] == "stop":
     96 	if len(sys.argv) < 3:
     97 		print "Need device address parameter"
     98 		sys.exit(1)
     99 	device = adapter.FindDevice(sys.argv[2])
    100 	headset = dbus.Interface(bus.get_object("org.bluez", device),
    101 					"org.bluez.Headset")
    102 	headset.Stop()
    103 
    104 	sys.exit(0)
    105 
    106 if sys.argv[1] == "outgoing":
    107 	if len(sys.argv) > 2:
    108 		test.OutgoingCall(sys.argv[2])
    109 	else:
    110 		print "Need number parameter"
    111 	sys.exit(0)
    112 
    113 if sys.argv[1] == "incoming":
    114 	if len(sys.argv) > 2:
    115 		test.IncomingCall(sys.argv[2])
    116 	else:
    117 		print "Need number parameter"
    118 	sys.exit(0)
    119 
    120 if sys.argv[1] == "cancel":
    121 	test.CancelCall()
    122 	sys.exit(0)
    123 
    124 if sys.argv[1] == "signal":
    125 	if len(sys.argv) > 2:
    126 		test.SignalStrength(sys.argv[2])
    127 	else:
    128 		print "Need signal strength parameter"
    129 	sys.exit(0)
    130 
    131 if sys.argv[1] == "battery":
    132 	if len(sys.argv) > 2:
    133 		test.BatteryLevel(sys.argv[2])
    134 	else:
    135 		print "Need battery level parameter"
    136 	sys.exit(0)
    137 
    138 if sys.argv[1] == "roaming":
    139 	if len(sys.argv) > 2:
    140 		test.RoamingStatus(sys.argv[2] == "yes" or False)
    141 	else:
    142 		print "Need yes/no parameter"
    143 	sys.exit(0)
    144 
    145 if sys.argv[1] == "registration":
    146 	if len(sys.argv) > 2:
    147 		test.RegistrationStatus(sys.argv[2] == "yes" or False)
    148 	else:
    149 		print "Need yes/no parameter"
    150 	sys.exit(0)
    151 
    152 if sys.argv[1] == "subscriber":
    153 	if len(sys.argv) > 2:
    154 		test.SetSubscriberNumber(sys.argv[2])
    155 	else:
    156 		print "Need number parameter"
    157 	sys.exit(0)
    158 
    159 print "Unknown command"
    160 sys.exit(1)
    161