32 lines
		
	
	
		
			947 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			947 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/python3
 | 
						|
import sys
 | 
						|
import dbus
 | 
						|
 | 
						|
if len(sys.argv) < 2:
 | 
						|
        print("Usage: %s <bearer> Bearer types: <cs-only> <ps-only> <cs-preferred> <ps-preferred>" %\
 | 
						|
                                        (sys.argv[0]))
 | 
						|
        sys.exit(1)
 | 
						|
 | 
						|
def message_bearer(sms, value):
 | 
						|
	try:
 | 
						|
            sms.SetProperty("Bearer", dbus.String(value))
 | 
						|
	except dbus.DBusException as e:
 | 
						|
            print("Unable to set Bearer[%s] - FAIL" % (value))
 | 
						|
            exit(1)
 | 
						|
 | 
						|
bus = dbus.SystemBus()
 | 
						|
manager = dbus.Interface(bus.get_object('org.ofono', '/'),'org.ofono.Manager')
 | 
						|
modems = manager.GetModems()
 | 
						|
value  = sys.argv[1]
 | 
						|
 | 
						|
for path, properties in modems:
 | 
						|
	print("Setting bearer for [ %s ]" % (path))
 | 
						|
 | 
						|
	if "org.ofono.MessageManager" not in properties["Interfaces"]:
 | 
						|
		continue
 | 
						|
 | 
						|
        sms = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.MessageManager')
 | 
						|
 | 
						|
        message_bearer(sms, value)
 | 
						|
        print("SMS Bearer updated for [ %s ]" % (path))
 |