[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:51 UTC 2009


The following commit has been merged in the master branch:
commit 456d077428e798dd04f750b7536cb808009d186f
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date:   Wed Jan 7 18:16:48 2009 +0100

    ogsmd: add stubs for monitoring API org.freesmartphone.GSM.Monitor.Get{Serving|Neighbour}CellInformation

diff --git a/framework/subsystems/ogsmd/device.py b/framework/subsystems/ogsmd/device.py
index f7cdc93..6451de6 100644
--- a/framework/subsystems/ogsmd/device.py
+++ b/framework/subsystems/ogsmd/device.py
@@ -11,9 +11,10 @@ Module: device
 """
 
 MODULE_NAME = "ogsmd.device"
-__version__ = "0.9.10.0"
+__version__ = "0.9.10.1"
 
 from framework import resource
+from framework.config import config
 from modems import modemFactory, allModems, setCurrentModem
 
 import dbus
@@ -30,6 +31,7 @@ DBUS_INTERFACE_NETWORK = "org.freesmartphone.GSM.Network"
 DBUS_INTERFACE_CALL = "org.freesmartphone.GSM.Call"
 DBUS_INTERFACE_PDP = "org.freesmartphone.GSM.PDP"
 DBUS_INTERFACE_CB = "org.freesmartphone.GSM.CB"
+DBUS_INTERFACE_MONITOR = "org.freesmartphone.GSM.Monitor"
 DBUS_INTERFACE_RESOURCE = "org.freesmartphone.Resource"
 
 DBUS_INTERFACE_DEBUG = "org.freesmartphone.GSM.Debug"
@@ -613,6 +615,21 @@ class Device( resource.Resource ):
         logger.info( "org.freesmartphone.GSM.CB.IncomingCellBroadcast: %s %s", channel, data )
 
     #
+    # dbus org.freesmartphone.GSM.Monitor
+    #
+    @dbus.service.method( DBUS_INTERFACE_MONITOR, "", "a{sv}",
+                          async_callbacks=( "dbus_ok", "dbus_error" ) )
+    @resource.checkedmethod
+    def GetServingCellInformation( self, dbus_ok, dbus_error ):
+        mediator.MonitorGetServingCellInformation( self, dbus_ok, dbus_error )
+
+    @dbus.service.method( DBUS_INTERFACE_MONITOR, "", "a(a{sv})",
+                          async_callbacks=( "dbus_ok", "dbus_error" ) )
+    @resource.checkedmethod
+    def GetNeighbourCellInformation( self, dbus_ok, dbus_error ):
+        mediator.MonitorGetNeighbourCellInformation( self, dbus_ok, dbus_error )
+
+    #
     # dbus org.freesmartphone.GSM.Debug
     # WARNING: Do not rely on that, it might vanish any time
     #
@@ -649,7 +666,7 @@ class Device( resource.Resource ):
 def factory( prefix, controller ):
 #=========================================================================#
     sys.path.append( os.path.dirname( os.path.dirname( __file__ ) ) )
-    modemtype = controller.config.getValue( "ogsmd", "modemtype", "unspecified" )
+    modemtype = config.getValue( "ogsmd", "modemtype", "unspecified" )
     device = Device( controller.bus, modemtype )
     return [ device ]
 
diff --git a/framework/subsystems/ogsmd/modems/abstract/mediator.py b/framework/subsystems/ogsmd/modems/abstract/mediator.py
index b7f5c98..009afbc 100644
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@ -259,6 +259,15 @@ class DebugMediator( AbstractMediator, AbstractYieldSupport ):
         self._commchannel = self._object.modem.communicationChannel( "DebugMediator" )
         AbstractYieldSupport.__init__( self, *args, **kwargs )
 
+#=========================================================================#
+class MonitorMediator( AbstractMediator, AbstractYieldSupport ):
+#=========================================================================#
+    def __init__( self, *args, **kwargs ):
+        AbstractMediator.__init__( self, *args, **kwargs )
+        # this is a bit ugly, but how should we get the channel elsewhere?
+        self._commchannel = self._object.modem.communicationChannel( "MonitorMediator" )
+        AbstractYieldSupport.__init__( self, *args, **kwargs )
+
 #
 # import singletons
 #
@@ -1545,6 +1554,22 @@ class CbSetCellBroadcastSubscriptions( CbMediator ):
         self._commchannel.enqueue( "+CSCB=%s" % message, self.responseFromChannel, self.errorFromChannel )
 
 #
+# Monitor Mediators
+#
+
+#=========================================================================#
+class MonitorGetServingCellInformation( MonitorMediator ):
+#=========================================================================#
+    def trigger( self ):
+        self._error( error.UnsupportedCommand( "org.freesmartphone.GSM.Monitor.GetServingCellInformation" ) )
+
+#=========================================================================#
+class MonitorGetNeighbourCellInformation( MonitorMediator ):
+#=========================================================================#
+    def trigger( self ):
+        self._error( error.UnsupportedCommand( "org.freesmartphone.GSM.Monitor.GetNeighbourCellInformation" ) )
+
+#
 # Debug Mediators
 #
 
diff --git a/tools/cli-framework b/tools/cli-framework
index 9cc448b..c13c8b8 100755
--- a/tools/cli-framework
+++ b/tools/cli-framework
@@ -10,7 +10,7 @@ Interactive console for the freesmartphone.org framework
 GPLv2 or later
 """
 
-__version__ = "0.9.1.6"
+__version__ = "0.9.1.7"
 
 import dbus.service
 import dbus.mainloop.glib
@@ -70,7 +70,11 @@ def getInterface( busname, objectpath, interface ):
 #----------------------------------------------------------------------------#
 def getObjectsForInterface( interface ):
 #----------------------------------------------------------------------------#
-    paths = dbus_hlid.ListObjectsByInterface( "org.freesmartphone.frameworkd", interface, dbus_interface="org.freesmartphone.DBus" )
+    try:
+        paths = dbus_hlid.ListObjectsByInterface( "org.freesmartphone.frameworkd", interface, dbus_interface="org.freesmartphone.DBus" )
+    except dbus.DBusException, e:
+        print "DBus Exception. dbus-hlid not installed"
+        paths = []
     result = {}
     for path in paths:
         result[str(path)] = getInterface( "org.freesmartphone.frameworkd", path, interface )
@@ -115,24 +119,6 @@ frameworkiface = getInterface( \
     "/org/freesmartphone/Framework",
     "org.freesmartphone.Framework" )
 
-# gsm data
-gsmdata = getInterface( \
-    "org.freesmartphone.ogsmd",
-    "/org/freesmartphone/GSM/Server",
-    "org.freesmartphone.GSM.Data" )
-
-# gsm homezone
-gsmhz = getInterface( \
-    "org.freesmartphone.ogsmd",
-    "/org/freesmartphone/GSM/Server",
-    "org.freesmartphone.GSM.HZ" )
-
-# gsm phone
-gsmphone = getInterface( \
-    "org.freesmartphone.ogsmd",
-    "/org/freesmartphone/GSM/Server",
-    "org.freesmartphone.GSM.Phone" )
-
 # odeviced objects
 devaudio = getInterface( \
     "org.freesmartphone.odeviced",
@@ -156,7 +142,7 @@ except IndexError:
     pass
 leds = getObjectsForInterface( "org.freesmartphone.Device.LED" ).values()
 
-# ogsmd
+# ogsmd device objects
 gsmdevice = getInterface( \
     "org.freesmartphone.ogsmd",
     "/org/freesmartphone/GSM/Device",
@@ -181,6 +167,10 @@ gsmpdp = getInterface( \
     "org.freesmartphone.ogsmd",
     "/org/freesmartphone/GSM/Device",
     "org.freesmartphone.GSM.PDP" )
+gsmmonitor = getInterface( \
+    "org.freesmartphone.ogsmd",
+    "/org/freesmartphone/GSM/Device",
+    "org.freesmartphone.GSM.Monitor" )
 gsmtest = getInterface( \
     "org.freesmartphone.ogsmd",
     "/org/freesmartphone/GSM/Device",
@@ -190,6 +180,20 @@ gsmdebug = getInterface( \
     "/org/freesmartphone/GSM/Device",
     "org.freesmartphone.GSM.Debug" )
 
+# ogsmd server objects
+gsmdata = getInterface( \
+    "org.freesmartphone.ogsmd",
+    "/org/freesmartphone/GSM/Server",
+    "org.freesmartphone.GSM.Data" )
+gsmhz = getInterface( \
+    "org.freesmartphone.ogsmd",
+    "/org/freesmartphone/GSM/Server",
+    "org.freesmartphone.GSM.HZ" )
+gsmphone = getInterface( \
+    "org.freesmartphone.ogsmd",
+    "/org/freesmartphone/GSM/Server",
+    "org.freesmartphone.GSM.Phone" )
+
 # ogps
 gpsaccuracy = getInterface( \
     "org.freesmartphone.ogpsd",

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list