[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82
Michael 'Mickey' Lauer
mickey at vanille-media.de
Mon Feb 2 18:51:16 UTC 2009
The following commit has been merged in the master branch:
commit 3893dbb08b9a2a7d0da2497576eb724f2c387861
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Fri Nov 14 03:30:03 2008 +0100
ogsmd: implement org.freesmartphone.GSM.Network.GetCountryCode() -> ss
diff --git a/ChangeLog b/ChangeLog
index 86f8c71..501db6c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-11-14 Michael Lauer <mickey at openmoko.org>
+
+ * Implement org.freesmartphone.GSM.Network.GetCountryCode() -> ss
+
2008-11-02 Michael Lauer <mickey at openmoko.org>
* python-hotshot is deprecated and give bogus results. Switch to cProfile and
diff --git a/framework/subsystems/ogsmd/modems/abstract/mediator.py b/framework/subsystems/ogsmd/modems/abstract/mediator.py
index 5941c37..f80f050 100644
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@ -991,8 +991,18 @@ class NetworkRegisterWithProvider( NetworkMediator ):
#=========================================================================#
class NetworkGetCountryCode( NetworkMediator ):
#=========================================================================#
- def __init__( self, dbus_object, dbus_ok, dbus_error, **kwargs ):
- dbus_error( error.UnsupportedCommand( self.__class__.__name__ ) )
+ def trigger( self ):
+ self._commchannel.enqueue( "+COPS=3,2;+COPS?;+COPS=3,0", self.responseFromChannel, self.errorFromChannel )
+
+ def responseFromChannel( self, request, response ):
+ if response[-1] == "OK" and len( response ) > 1:
+ values = self._rightHandSide( response[0] ).split( ',' )
+ if len( values ) != 3:
+ self._error( error.NetworkNotFound( "Not registered to an operator" ) )
+ else:
+ mcc = int( values[2].strip( '"' )[:3] )
+ code, name = const.mccToCountryCode( mcc )
+ self._ok( code, name )
#=========================================================================#
class NetworkGetCallForwarding( NetworkMediator ): # a{sv}
diff --git a/framework/subsystems/ogsmd/objects.py b/framework/subsystems/ogsmd/objects.py
index e69eb51..71a9d64 100644
--- a/framework/subsystems/ogsmd/objects.py
+++ b/framework/subsystems/ogsmd/objects.py
@@ -517,10 +517,10 @@ class Device( resource.Resource ):
def RegisterWithProvider( self, operator_code, dbus_ok, dbus_error ):
mediator.NetworkRegisterWithProvider( self, dbus_ok, dbus_error, operator_code=operator_code )
- @dbus.service.method( DBUS_INTERFACE_NETWORK, "", "s",
+ @dbus.service.method( DBUS_INTERFACE_NETWORK, "", "ss",
async_callbacks=( "dbus_ok", "dbus_error" ) )
@resource.checkedmethod
- def GetNetworkCountryCode( self, dbus_ok, dbus_error ):
+ def GetCountryCode( self, dbus_ok, dbus_error ):
mediator.NetworkGetCountryCode( self, dbus_ok, dbus_error )
@dbus.service.method( DBUS_INTERFACE_NETWORK, "s", "a{sv}",
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list