[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:30 UTC 2009
The following commit has been merged in the master branch:
commit 67e0266f3fca28f66e1c2e02f9752f5d948e4275
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Mon Dec 1 14:34:21 2008 +0100
ogsmd: Implement org.freesmartphone.GSM.Device.[Get|Set]SpeakerVolume
diff --git a/ChangeLog b/ChangeLog
index 3ddff49..c30352e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,10 @@
before suspending, after resuming, before shutting down, before rebooting.
This fixes FSO ticket #287.
+2008-12-01 Michael Lauer <mickey at openmoko.org>
+
+ * [ogsmd] Implement org.freesmartphone.GSM.Device.[Get|Set]SpeakerVolume
+
2008-11-30 Michael Lauer <mickey at openmoko.org>
* [ogsmd] Start with CINTERION MC75 support
diff --git a/framework/subsystems/ogsmd/device.py b/framework/subsystems/ogsmd/device.py
index 648b828..c893317 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.5"
+__version__ = "0.9.6"
from framework import resource
from modems import modemFactory, allModems, setCurrentModem
@@ -149,6 +149,18 @@ class Device( resource.Resource ):
def SetSimBuffersSms( self, sim_buffers_sms, dbus_ok, dbus_error ):
mediator.DeviceSetSimBuffersSms( self, dbus_ok, dbus_error, sim_buffers_sms=sim_buffers_sms )
+ @dbus.service.method( DBUS_INTERFACE_DEVICE, "", "i",
+ async_callbacks=( "dbus_ok", "dbus_error" ) )
+ @resource.checkedmethod
+ def GetSpeakerVolume( self, dbus_ok, dbus_error ):
+ mediator.DeviceGetSpeakerVolume( self, dbus_ok, dbus_error )
+
+ @dbus.service.method( DBUS_INTERFACE_DEVICE, "i", "",
+ async_callbacks=( "dbus_ok", "dbus_error" ) )
+ @resource.checkedmethod
+ def SetSpeakerVolume( self, modem_volume, dbus_ok, dbus_error ):
+ mediator.DeviceSetSpeakerVolume( self, dbus_ok, dbus_error, modem_volume=modem_volume )
+
#
# dbus org.freesmartphone.GSM.SIM
#
diff --git a/framework/subsystems/ogsmd/modems/abstract/mediator.py b/framework/subsystems/ogsmd/modems/abstract/mediator.py
index c1addd4..56a0262 100644
--- a/framework/subsystems/ogsmd/modems/abstract/mediator.py
+++ b/framework/subsystems/ogsmd/modems/abstract/mediator.py
@@ -383,6 +383,30 @@ class DeviceSetSimBuffersSms( DeviceMediator ):
commchannel = self._object.modem.communicationChannel( "UnsolicitedMediator" )
commchannel.enqueue( "+CNMI=%s" % params, self.responseFromChannel, self.errorFromChannel )
+#=========================================================================#
+class DeviceGetSpeakerVolume( DeviceMediator ):
+#=========================================================================#
+ def trigger( self ):
+ self._commchannel.enqueue( "+CLVL?", self.responseFromChannel, self.errorFromChannel )
+
+ @logged
+ def responseFromChannel( self, request, response ):
+ if response[-1] == "OK" and response[0].startswith( "+CLVL" ):
+ value = int( self._rightHandSide( response[0] ) ) * 100 / 255
+ self._ok( value )
+ else:
+ DeviceMediator.responseFromChannel( self, request, response )
+
+#=========================================================================#
+class DeviceSetSpeakerVolume( DeviceMediator ):
+#=========================================================================#
+ def trigger( self ):
+ if 0 <= self.modem_volume <= 100:
+ value = self.modem_volume * 255 / 100
+ self._commchannel.enqueue( "+CLVL=%d" % value, self.responseFromChannel, self.errorFromChannel )
+ else:
+ self._error( error.InvalidParameter( "Volume needs to be within [ 0, 100 ]." ) )
+
#
# SIM Mediators
#
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list