[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:31 UTC 2009
The following commit has been merged in the master branch:
commit 1fc4edc4ce9ca4331e3ff8050503aad9b0b07813
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Sat Dec 6 03:47:23 2008 +0100
ogsmd: Implement org.freesmartphone.GSM.SIM.GetIssuer() -> s
NOTE: Clients can now show the mobile virtual network operator
(MVNO) instead of the actual network operator, if they want to.
This is a result for FSO ticket #271.
diff --git a/ChangeLog b/ChangeLog
index 261e2c6..b1672f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
2008-12-06 Michael Lauer <mickey at openmoko.org>
* [ogsmd] Added 'cid' and 'lac' results to org.freesmartphone.GSM.Network.GetStatus()
+ * [ogsmd] Implemented org.freesmartphone.GSM.SIM.GetIssuer()
+ NOTE: Clients can now show the Mobile Virtual Network Operator instead of the
+ actual service provider, if they want to. See e.g. FSO ticket #271.
2008-12-05 Michael Lauer <mickey at openmoko.org>
diff --git a/framework/subsystems/ogsmd/device.py b/framework/subsystems/ogsmd/device.py
index 9fab5b0..b9eb158 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.7.1"
+__version__ = "0.9.8.0"
from framework import resource
from modems import modemFactory, allModems, setCurrentModem
@@ -254,6 +254,12 @@ class Device( resource.Resource ):
def GetHomeZones( self, dbus_ok, dbus_error ):
mediator.SimGetHomeZones( self, dbus_ok, dbus_error )
+ @dbus.service.method( DBUS_INTERFACE_SIM, "", "s",
+ async_callbacks=( "dbus_ok", "dbus_error" ) )
+ @resource.checkedmethod
+ def GetIssuer( self, dbus_ok, dbus_error ):
+ mediator.SimGetIssuer( 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 f11f0c3..519c1e6 100644
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@ -21,7 +21,7 @@ TODO:
* refactor parameter validation
"""
-__version__ = "0.9.10.3"
+__version__ = "0.9.11.0"
MODULE_NAME = "ogsmd.modems.abstract.mediator"
from .calling import CallHandler
@@ -616,6 +616,33 @@ class SimGetHomeZones( SimMediator ): # a(siii)
self._ok( result )
#=========================================================================#
+class SimGetIssuer( SimMediator ): # s
+#=========================================================================#
+ def trigger( self ):
+ self._commchannel.enqueue( "+CRSM=176,28486,0,0,17", self.responseFromChannel, self.errorFromChannel )
+
+ def responseFromChannel( self, request, response ):
+ if response[-1] != "OK":
+ SimMediator.responseFromChannel( self, request, response )
+ try:
+ sw1, sw2, payload = safesplit( self._rightHandSide( response[0] ), "," )
+ except ValueError: # response did not include a payload
+ self._error( error.SimNotFound( "Elementary record not present or unreadable" ) )
+ else:
+ if int(sw1) != 144 or int(sw2) != 0: # command succeeded as per GSM 11.11, 9.4.1
+ self._error( error.SimNotFound( "Elementary record not present or unreadable" ) )
+ else:
+ nameraw = payload[2:]
+ name = ""
+ for index in xrange( 0, 24, 2 ):
+ c = int(nameraw[index:index+2],16)
+ if 32 < c < 128:
+ name += chr(c)
+ else:
+ break
+ self._ok( name )
+
+#=========================================================================#
class SimListPhonebooks( SimMediator ):
#=========================================================================#
def trigger( self ):
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list