blob: be82352af024a009b98d0be80f55d5b5917b03f3 [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
Pseudomodem implementation of org.freedesktop.ModemManager1
"""
import dbus
import dbus_std_ifaces
import mm1
LOG_LEVELS = ['ERR', 'WARN', 'INFO', 'DEBUG']
class ModemManager(dbus_std_ifaces.DBusObjectManager):
def __init__(self, bus):
dbus_std_ifaces.DBusObjectManager.__init__(self, bus, mm1.MM1)
self.debug_level = 'INFO'
@dbus.service.method(mm1.I_MODEM_MANAGER)
def ScanDevices(self):
"""
Starts a new scan for connected modem devices.
"""
# TODO(armansito): For now this method is a noop. shill
# doesn't use this method afaik, but it doesn't make sense
# for a fake modem to do anything here anyway. Perhaps
# we can give the pseudo modem manager a list of fake
# modems upon initialization, and this method would add them?
pass
@dbus.service.method(mm1.I_MODEM_MANAGER, in_signature='s')
def SetLogging(self, level):
"""
Sets logging verbosity.
Args:
level -- One of "ERR", "WARN", "INFO", "DEBUG"
"""
if level not in LOG_LEVELS:
raise mm1.MMCoreError(
mm1.MMCoreError.INVALID_ARGS)