[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone5.1

Michael 'Mickey' Lauer mickey at vanille-media.de
Sat Jun 6 12:21:45 UTC 2009


The following commit has been merged in the master branch:
commit feb85a67553d2c89e92b102eef619a2230ead9a2
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date:   Thu Feb 12 15:49:04 2009 +0100

    ogsmd: Implement org.freesmartphone.GSM.SIM.GetProviderList() -> a{is}

diff --git a/ChangeLog b/ChangeLog
index 47acabe..d9df601 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
+2009-02-12	Michael Lauer	<mlauer at vanille-media.de>
+
+	* ogsmd: Implemented org.freesmartphone.GSM.SIM.GetProviderList -> a{is}
+
 2009-02-06	Michael Lauer	<mlauer at vanille-media.de>
 
-	* ogsmd: [TI CALYPSO] Add support for the next-generation 07.10 multiplexer from FSO.
+	* ogsmd: [TI CALYPSO] Added support for the next-generation 07.10 multiplexer from FSO.
 	  Set 'ti_calypso_muxer' to 'fso-abyss'. Default value is gsm0710muxd for the time being.
 
 2009-02-01	Stefan Schmidt	<stefan at openmoko.org>
diff --git a/framework/subsystems/ogsmd/device.py b/framework/subsystems/ogsmd/device.py
index 914fd7d..dda29a0 100644
--- a/framework/subsystems/ogsmd/device.py
+++ b/framework/subsystems/ogsmd/device.py
@@ -11,7 +11,7 @@ Module: device
 """
 
 MODULE_NAME = "ogsmd.device"
-__version__ = "0.9.10.1"
+__version__ = "0.9.11.0"
 
 from framework import resource
 from framework.config import config
@@ -264,6 +264,12 @@ class Device( resource.Resource ):
     def GetIssuer( self, dbus_ok, dbus_error ):
         mediator.SimGetIssuer( self, dbus_ok, dbus_error )
 
+    @dbus.service.method( DBUS_INTERFACE_SIM, "", "a{is}",
+                          async_callbacks=( "dbus_ok", "dbus_error" ) )
+    @resource.checkedmethod
+    def GetProviderList( self, dbus_ok, dbus_error ):
+        mediator.SimGetProviderList( self, dbus_ok, dbus_error )
+
     ### SIM phonebook
     @dbus.service.method( DBUS_INTERFACE_SIM, "", "as",
                           async_callbacks=( "dbus_ok", "dbus_error" ) )
diff --git a/framework/subsystems/ogsmd/modems/abstract/mediator.py b/framework/subsystems/ogsmd/modems/abstract/mediator.py
index 10dab49..91ccfe0 100644
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@ -22,7 +22,7 @@ TODO:
  * refactor parameter validation
 """
 
-__version__ = "0.9.11.2"
+__version__ = "0.9.12"
 MODULE_NAME = "ogsmd.modems.abstract.mediator"
 
 from ogsmd import error
@@ -658,6 +658,27 @@ class SimGetIssuer( SimMediator ): # s
                 self._ok( name )
 
 #=========================================================================#
+class SimGetProviderList( SimMediator ): # a{is}
+#=========================================================================#
+    def trigger( self ):
+        self._commchannel.enqueue( "+COPN", self.responseFromChannel, self.errorFromChannel, timeout=currentModem().timeout("COPN") )
+
+    def responseFromChannel( self, request, response ):
+        if response[-1] != "OK":
+            SimMediator.responseFromChannel( self, request, response )
+        else:
+            result = {}
+            for line in response[:-1]:
+                mccmnc, name = safesplit( self._rightHandSide( line ), ',' )
+                # Some modems contain provider tables with illegal characters
+                try:
+                    uname = unicode( name )
+                except UnicodeDecodeError:
+                    uname = "<undecodable>"
+                result[ int(mccmnc.strip( '" ') ) ] = uname
+            return self._ok( result )
+
+#=========================================================================#
 class SimListPhonebooks( SimMediator ):
 #=========================================================================#
     def trigger( self ):

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list