--- /dev/null
+[METHOD] org.freesmartphone.Info.GetInfo()
+[METHOD] org.freesmartphone.GSM.Call.Activate( i:id )
+[METHOD] org.freesmartphone.GSM.Call.ActivateConference( i:id )
+[METHOD] org.freesmartphone.GSM.Call.Emergency( s:number )
+[METHOD] org.freesmartphone.GSM.Call.HoldActive()
+[METHOD] org.freesmartphone.GSM.Call.Initiate( s:number, s:type )
+[METHOD] org.freesmartphone.GSM.Call.Join()
+[METHOD] org.freesmartphone.GSM.Call.ListCalls()
+[METHOD] org.freesmartphone.GSM.Call.Release( i:id )
+[METHOD] org.freesmartphone.GSM.Call.ReleaseAll()
+[METHOD] org.freesmartphone.GSM.Call.ReleaseHeld()
+[METHOD] org.freesmartphone.GSM.Call.SendDtmf( s:tones )
+[METHOD] org.freesmartphone.GSM.Call.Transfer( s:number )
+[SIGNAL] org.freesmartphone.GSM.Call.CallStatus( i:id, s:status, a{sv}:properties )
+[METHOD] org.freedesktop.DBus.Properties.Get( s:interface, s:propname )
+[METHOD] org.freedesktop.DBus.Properties.GetAll( s:interface )
+[METHOD] org.freedesktop.DBus.Properties.Set( s:interface, s:propname, v:value )
+[METHOD] org.freedesktop.DBus.Introspectable.Introspect()
+[METHOD] org.freesmartphone.GSM.Device.GetDeviceStatus()
+[METHOD] org.freesmartphone.GSM.Device.GetFeatures()
+[METHOD] org.freesmartphone.GSM.Device.GetFunctionality()
+[METHOD] org.freesmartphone.GSM.Device.GetMicrophoneMuted()
+[METHOD] org.freesmartphone.GSM.Device.GetSpeakerVolume()
+[METHOD] org.freesmartphone.GSM.Device.SetFunctionality( s:level, b:autoregister, s:pin )
+[METHOD] org.freesmartphone.GSM.Device.SetMicrophoneMuted( b:muted )
+[METHOD] org.freesmartphone.GSM.Device.SetSpeakerVolume( i:volume )
+[SIGNAL] org.freesmartphone.GSM.Device.DeviceStatus( s:status )
+[SIGNAL] org.freesmartphone.GSM.Device.KeypadEvent( s:name, b:pressed )
+[METHOD] org.freesmartphone.GSM.SMS.GetSizeForTextMessage( s:contents )
+[METHOD] org.freesmartphone.GSM.SMS.RetrieveTextMessages()
+[METHOD] org.freesmartphone.GSM.SMS.SendTextMessage( s:recipient_number, s:contents, b:report )
+[SIGNAL] org.freesmartphone.GSM.SMS.IncomingMessageReport( i:reference, s:status, s:sender_number, s:contents )
+[SIGNAL] org.freesmartphone.GSM.SMS.IncomingTextMessage( s:number, s:timestamp, s:contents )
+[METHOD] org.freesmartphone.GSM.SIM.ChangeAuthCode( s:old_pin, s:new_pin )
+[METHOD] org.freesmartphone.GSM.SIM.DeleteEntry( s:category, i:index )
+[METHOD] org.freesmartphone.GSM.SIM.DeleteMessage( i:index )
+[METHOD] org.freesmartphone.GSM.SIM.GetAuthCodeRequired()
+[METHOD] org.freesmartphone.GSM.SIM.GetAuthStatus()
+[METHOD] org.freesmartphone.GSM.SIM.GetHomeZoneParameters()
+[METHOD] org.freesmartphone.GSM.SIM.GetPhonebookInfo( s:category )
+[METHOD] org.freesmartphone.GSM.SIM.GetServiceCenterNumber()
+[METHOD] org.freesmartphone.GSM.SIM.GetSimInfo()
+[METHOD] org.freesmartphone.GSM.SIM.RetrieveMessage( i:index )
+[METHOD] org.freesmartphone.GSM.SIM.RetrievePhonebook( s:category, i:mindex, i:maxdex )
+[METHOD] org.freesmartphone.GSM.SIM.SendAuthCode( s:pin )
+[METHOD] org.freesmartphone.GSM.SIM.SendGenericSimCommand( s:command )
+[METHOD] org.freesmartphone.GSM.SIM.SendRestrictedSimCommand( i:command, i:fileid, i:p1, i:p2, i:p3, s:data )
+[METHOD] org.freesmartphone.GSM.SIM.SendStoredMessage( i:index )
+[METHOD] org.freesmartphone.GSM.SIM.SetAuthCodeRequired( b:check, s:pin )
+[METHOD] org.freesmartphone.GSM.SIM.SetServiceCenterNumber( s:number )
+[METHOD] org.freesmartphone.GSM.SIM.StoreEntry( s:category, i:index, s:name, s:number )
+[METHOD] org.freesmartphone.GSM.SIM.StoreMessage( s:recipient_number, s:contents, a{sv}:properties )
+[METHOD] org.freesmartphone.GSM.SIM.Unlock( s:puk, s:new_pin )
+[SIGNAL] org.freesmartphone.GSM.SIM.AuthStatus( s:status )
+[SIGNAL] org.freesmartphone.GSM.SIM.IncomingMessage( i:index )
+[METHOD] org.freesmartphone.GSM.HZ.GetHomeZoneStatus()
+[METHOD] org.freesmartphone.GSM.HZ.GetKnownHomeZones()
+[SIGNAL] org.freesmartphone.GSM.HZ.HomeZoneStatus( s:name )
+[METHOD] org.freesmartphone.GSM.Network.DisableCallForwarding( s:reason, s:class_ )
+[METHOD] org.freesmartphone.GSM.Network.EnableCallForwarding( s:reason, s:class_, s:number, i:timeout )
+[METHOD] org.freesmartphone.GSM.Network.GetCallForwarding( s:reason )
+[METHOD] org.freesmartphone.GSM.Network.GetCallingIdentification()
+[METHOD] org.freesmartphone.GSM.Network.GetSignalStrength()
+[METHOD] org.freesmartphone.GSM.Network.GetStatus()
+[METHOD] org.freesmartphone.GSM.Network.GetTimeReport()
+[METHOD] org.freesmartphone.GSM.Network.ListProviders()
+[METHOD] org.freesmartphone.GSM.Network.Register()
+[METHOD] org.freesmartphone.GSM.Network.RegisterWithProvider( s:operator_code )
+[METHOD] org.freesmartphone.GSM.Network.SendUssdRequest( s:request )
+[METHOD] org.freesmartphone.GSM.Network.SetCallingIdentification( s:status )
+[METHOD] org.freesmartphone.GSM.Network.Unregister()
+[SIGNAL] org.freesmartphone.GSM.Network.CipherStatus( s:telephony, s:pdp )
+[SIGNAL] org.freesmartphone.GSM.Network.IncomingUssd( s:mode, s:message_ )
+[SIGNAL] org.freesmartphone.GSM.Network.SignalStrength( i:signal_strength )
+[SIGNAL] org.freesmartphone.GSM.Network.Status( a{sv}:status )
+[SIGNAL] org.freesmartphone.GSM.Network.TimeReport( i:time, i:zone )
+[METHOD] org.freesmartphone.GSM.Debug.DebugCommand( s:command, s:channel )
+[METHOD] org.freesmartphone.GSM.Debug.DebugInjectResponse( s:response, s:channel )
+[METHOD] org.freesmartphone.GSM.Debug.DebugPing()
+[SIGNAL] org.freesmartphone.GSM.Debug.DebugStatus( a{ss}:channels )
+[METHOD] org.freesmartphone.GSM.Monitor.GetNeighbourCellInformation()
+[METHOD] org.freesmartphone.GSM.Monitor.GetServingCellInformation()
+[METHOD] org.freesmartphone.Device.RealtimeClock.GetCurrentTime()
+[METHOD] org.freesmartphone.Device.RealtimeClock.GetWakeupTime()
+[METHOD] org.freesmartphone.Device.RealtimeClock.SetCurrentTime( i:time )
+[METHOD] org.freesmartphone.Device.RealtimeClock.SetWakeupTime( i:time )
+[SIGNAL] org.freesmartphone.Device.RealtimeClock.Alarm( i:time )
+[SIGNAL] org.freesmartphone.Device.RealtimeClock.WakeupTimeChanged( i:time )
+[METHOD] org.freesmartphone.Device.PowerSupply.GetCapacity()
+[METHOD] org.freesmartphone.Device.PowerSupply.GetPowerStatus()
+[SIGNAL] org.freesmartphone.Device.PowerSupply.Capacity( i:energy )
+[SIGNAL] org.freesmartphone.Device.PowerSupply.PowerStatus( s:status )
+[METHOD] org.freesmartphone.GSM.CB.GetCellBroadcastSubscriptions()
+[METHOD] org.freesmartphone.GSM.CB.SetCellBroadcastSubscriptions( s:channels )
+[SIGNAL] org.freesmartphone.GSM.CB.IncomingCellBroadcast( s:text, s:language, a{sv}:properties )
+[METHOD] org.freesmartphone.GSM.PDP.ActivateContext()
+[METHOD] org.freesmartphone.GSM.PDP.DeactivateContext()
+[METHOD] org.freesmartphone.GSM.PDP.GetContextStatus()
+[METHOD] org.freesmartphone.GSM.PDP.GetCredentials()
+[METHOD] org.freesmartphone.GSM.PDP.InternalStatusUpdate( s:status, a{sv}:properties )
+[METHOD] org.freesmartphone.GSM.PDP.SetCredentials( s:apn, s:username, s:password )
+[SIGNAL] org.freesmartphone.GSM.PDP.ContextStatus( s:status, a{sv}:properties )
--- /dev/null
+#!/usr/bin/env python
+
+import dbus
+from pprint import pprint
+
+# Taken from telepathy-gabble:
+# http://git.collabora.co.uk/?p=user/wjt/telepathy-gabble-wjt.git;a=blob;f=tests/twisted/servicetest.py;h=476c2e171dc7d535f70fa49827892a4cfb5d8402;hb=HEAD#l265
+def unwrap(x):
+ """Hack to unwrap D-Bus values, so that they're easier to read when
+ printed."""
+
+ if isinstance(x, list):
+ return map(unwrap, x)
+
+ if isinstance(x, tuple):
+ return tuple(map(unwrap, x))
+
+ if isinstance(x, dict):
+ return dict([(unwrap(k), unwrap(v)) for k, v in x.iteritems()])
+
+ if isinstance(x, dbus.Boolean):
+ return bool(x)
+
+ for t in [unicode, str, long, int, float]:
+ if isinstance(x, t):
+ return t(x)
+
+ return x
+
+def fso_print_info():
+ # Get proxies and add signal handlers
+ bus = dbus.SystemBus()
+ usage_obj = bus.get_object("org.freesmartphone.ousaged", "/org/freesmartphone/Usage")
+ usage_iface = dbus.Interface(usage_obj, "org.freesmartphone.Usage")
+ usage_iface.RequestResource("GSM")
+
+ gsm_device_obj = bus.get_object("org.freesmartphone.ogsmd", "/org/freesmartphone/GSM/Device")
+
+ gsm_info_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.Info")
+ gsm_device_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.Device")
+ gsm_sim_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.SIM")
+ gsm_network_iface = dbus.Interface(gsm_device_obj, "org.freesmartphone.GSM.Network")
+
+ info = gsm_info_iface.GetInfo()
+ pprint(unwrap(info))
+ print
+
+ device_status = gsm_device_iface.GetDeviceStatus()
+ pprint(unwrap(device_status))
+ print
+
+ features = gsm_device_iface.GetFeatures()
+ pprint(unwrap(features))
+ print
+
+ functionality = gsm_device_iface.GetFunctionality()
+ pprint(unwrap(functionality))
+ print
+
+ auth_code = gsm_sim_iface.GetAuthCodeRequired()
+ pprint(unwrap(auth_code))
+ print
+
+ auth_status = gsm_sim_iface.GetAuthStatus()
+ pprint(unwrap(auth_status))
+ print
+
+ service_center = gsm_sim_iface.GetServiceCenterNumber()
+ pprint(unwrap(service_center))
+ print
+
+ sim_info = gsm_sim_iface.GetSimInfo()
+ pprint(unwrap(sim_info))
+ print
+
+ net_status = gsm_network_iface.GetStatus()
+ pprint(unwrap(net_status))
+ print
+
+ usage_iface.ReleaseResource("GSM")
+
+if __name__ == "__main__":
+ fso_print_info()