diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 00:07:05 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 00:07:05 (GMT) |
commit | 89aa65d0f6ae70e928c8b3db6df921cc6205df51 (patch) | |
tree | 8480036a5fd9d312d77b4af47b72292c534cd4f4 /shell/hardware | |
parent | cb6a808832c456840c043f4b06ea55e7b64f2618 (diff) |
Move hardwaremanager out of the view to his own module
Diffstat (limited to 'shell/hardware')
-rw-r--r-- | shell/hardware/Makefile.am | 4 | ||||
-rw-r--r-- | shell/hardware/__init__.py | 0 | ||||
-rw-r--r-- | shell/hardware/hardwaremanager.py | 69 |
3 files changed, 73 insertions, 0 deletions
diff --git a/shell/hardware/Makefile.am b/shell/hardware/Makefile.am new file mode 100644 index 0000000..86cc0c7 --- /dev/null +++ b/shell/hardware/Makefile.am @@ -0,0 +1,4 @@ +sugardir = $(pkgdatadir)/shell/hardware +sugar_PYTHON = \ + __init__.py \ + hardwaremanager.py diff --git a/shell/hardware/__init__.py b/shell/hardware/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/shell/hardware/__init__.py diff --git a/shell/hardware/hardwaremanager.py b/shell/hardware/hardwaremanager.py new file mode 100644 index 0000000..39ae767 --- /dev/null +++ b/shell/hardware/hardwaremanager.py @@ -0,0 +1,69 @@ +# Copyright (C) 2006, Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +import logging + +import dbus + +from _sugar import AudioManager + +_HARDWARE_MANAGER_INTERFACE = 'org.laptop.HardwareManager' +_HARDWARE_MANAGER_SERVICE = 'org.laptop.HardwareManager' +_HARDWARE_MANAGER_OBJECT_PATH = '/org/laptop/HardwareManager' + +COLOR_MODE = 0 +B_AND_W_MODE = 1 + +class HardwareManager(object): + def __init__(self): + try: + bus = dbus.SystemBus() + proxy = bus.get_object(_HARDWARE_MANAGER_SERVICE, + _HARDWARE_MANAGER_OBJECT_PATH) + self._service = dbus.Interface(proxy, _HARDWARE_MANAGER_INTERFACE) + except dbus.DBusException: + self._service = None + logging.error('Hardware manager service not found.') + + def set_display_mode(self, mode): + if not self._service: + logging.error('Cannot set display mode. Service not found.') + + self._service.set_mode(mode) + + def set_display_brightness(self, level): + if not self._service: + logging.error('Cannot set display brightness. Service not found.') + + self._service.set_display_brightness(level) + + def toggle_keyboard_brightness(self): + if not self._service: + logging.error('Cannot set keyboard brightness. Service not found.') + + if self._service.get_keyboard_brightness(): + self._service.set_keyboard_brightness(False) + else: + self._service.set_keyboard_brightness(True) + +def get_hardware_manager(): + return _hardware_manager + +def get_audio_manager(): + return _audio_manager + +_hardware_manager = HardwareManager() +_audio_manager = AudioManager() |