## Copyright (C) 2001-2005 Red Hat, Inc. ## Copyright (C) 2001-2005 Harald Hoyer ## 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., 675 Mass Ave, Cambridge, MA 02139, USA. from netconfpkg.NCHardware import Hardware from netconfpkg.NCHardwareFactory import getHardwareFactory from netconfpkg.NC_functions import MODEM, getHardwareType from netconfpkg.gdt import (Gdtstruct, gdtstruct_properties, Gdtstr, Gdtint) _hwModemDialog = None _hwModemWizard = None # FIXME: [177472] Speedtouch USB 330 modem not recognised class Modem(Gdtstruct): gdtstruct_properties([ ('DeviceName', Gdtstr, "Test doc string"), ('BaudRate', Gdtint, "Test doc string"), ('FlowControl', Gdtstr, "Test doc string"), ('ModemVolume', Gdtint, "Test doc string"), ('DialCommand', Gdtstr, "Test doc string"), ('InitString', Gdtstr, "Test doc string"), ]) def __init__(self): super(Modem, self).__init__() self.DeviceName = None self.BaudRate = None self.FlowControl = None self.ModemVolume = None self.DialCommand = None self.InitString = None class HwModem(Hardware): gdtstruct_properties([ ('Modem', Modem, "Test doc string"), ]) def __init__(self): super(HwModem, self).__init__() self.Modem = Modem() self.Type = MODEM def createModem(self): return self.Modem def getDialog(self): if _hwModemDialog == None: return None return _hwModemDialog(self).xml.get_widget("Dialog") def getWizard(self): return _hwModemWizard def isType(self, hardware): if hardware.Type == MODEM: return True if getHardwareType(hardware.Hardware) == MODEM: return True return False def save(self, *args, **kwargs): # pylint: disable-msg=W0613 from netconfpkg.NCHardwareList import getMyWvDial wvdial = getMyWvDial(create_if_missing = True) wvdial[self.Name]['Modem'] = self.Modem.DeviceName if self.Modem.BaudRate: wvdial[self.Name]['Baud'] = str(self.Modem.BaudRate) if not self.Modem.ModemVolume: self.Modem.ModemVolume = 0 wvdial[self.Name]['SetVolume'] = str(self.Modem.ModemVolume) if self.Modem.DialCommand: wvdial[self.Name]['Dial Command'] = str(self.Modem.DialCommand) if not self.Modem.InitString: self.Modem.InitString = 'ATZ' wvdial[self.Name]['Init1'] = str(self.Modem.InitString) if self.Modem.ModemVolume == 0: wvdial[self.Name]['Init3'] = 'ATM0' else: wvdial[self.Name]['Init3'] = 'ATM1L' + str(self.Modem.ModemVolume) if self.Modem.FlowControl: wvdial[self.Name]['FlowControl'] = str(self.Modem.FlowControl) def setHwModemDialog(dialog): global _hwModemDialog # pylint: disable-msg=W0603 _hwModemDialog = dialog def setHwModemWizard(wizard): global _hwModemWizard # pylint: disable-msg=W0603 _hwModemWizard = wizard def register_plugin(): __df = getHardwareFactory() __df.register(HwModem, MODEM) __author__ = "Harald Hoyer "