"""Implementation of the generic ethernet device """ ## 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.NCDevice import Device from netconfpkg.NCDeviceFactory import getDeviceFactory from netconfpkg.NC_functions import ETHERNET, getDeviceType _devEthernetDialog = None _devEthernetWizard = None class DevEthernet(Device): """An object of class DevEthernet can be obtained by calling: df = getDeviceFactory() ethernetclass = df.getDeviceClass(ETHERNET) ethernetdevice = ethernetclass() It has the following attributes, shown here with the corresponding initscripts variables: Device - DEVICE= IP - IPADDR Netmask - NETMASK Gateway - GATEWAY Hostname - HOSTNAME - Hint for DHCP BootProto - BOOTPROTO=none|bootp|dhcp Type - TYPE=ETHERNET HardwareAddress - HWADDR= OnBoot - ONBOOT=yes|no AllowUser - USERCTL=yes|no IPv6Init - IPV6INIT=yes|no AutoDNS - PEERDNS=yes|no - modify /etc/resolv.conf if peer uses msdns extension (PPP only) or DNS{1, 2} are set, or if using pump or dhcpcd. default to "yes".""" Type = ETHERNET SubType = None Priority = 0 def __init__(self): super(DevEthernet, self).__init__() self.Type = ETHERNET def getDialog(self): """get the gtk.Dialog of the ethernet configuration dialog""" dialog = _devEthernetDialog(self) if hasattr(dialog, "xml"): return dialog.xml.get_widget("Dialog") return dialog def getWizard(self): """get the wizard of the ethernet wizard""" return _devEthernetWizard def isType(self, device): """returns True of the device is of the same type as this class""" if device.Type == ETHERNET: return True if getDeviceType(device.Device) == ETHERNET: return True return False def setDevEthernetDialog(dialog): """Set the ethernet dialog class""" global _devEthernetDialog # pylint: disable-msg=W0603 _devEthernetDialog = dialog def setDevEthernetWizard(wizard): """Set the ethernet wizard class""" global _devEthernetWizard # pylint: disable-msg=W0603 _devEthernetWizard = wizard def register_plugin(): _df = getDeviceFactory() _df.register(DevEthernet) __author__ = "Harald Hoyer "