def hydrate(self):
        has_card = False
        hw = self.hw

        if not hw.Name:
            conf = NCisdnhardware.ConfISDN()
            new_card = conf.detect()
            if new_card:
                has_card = True
                self.cardname = new_card.keys()[0]
                conf.get_resource(self.cardname)
                hw.Card.ChannelProtocol = conf.ChannelProtocol
                hw.Card.IRQ = conf.IRQ
                hw.Card.Mem = conf.Mem
                hw.Card.IoPort = conf.IoPort
                hw.Card.IoPort1 = conf.IoPort1
                hw.Card.IoPort2 = conf.IoPort2
        else:
            has_card = True

        if has_card:
            if hw.Card.ChannelProtocol == '2':
                self.xml.get_widget("euroIsdnButton").set_active(True)
            else:
                self.xml.get_widget("1tr6Button").set_active(True)

            if self.hw.Description:
                self.xml.get_widget("adapterEntry").set_text(
                    self.hw.Description)

            if hw.Card.IRQ:
                self.xml.get_widget("irqSpinButton").set_sensitive(True)
                self.xml.get_widget("irqSpinButton").set_value(int(
                    hw.Card.IRQ))
            else:
                self.xml.get_widget("irqSpinButton").set_sensitive(False)

            if hw.Card.Mem:
                self.xml.get_widget("memEntry").set_sensitive(True)
                self.xml.get_widget("memEntry").set_text(hw.Card.Mem)
            else:
                self.xml.get_widget("memEntry").set_sensitive(False)

            if hw.Card.IoPort:
                self.xml.get_widget("ioEntry").set_sensitive(True)
                self.xml.get_widget("ioEntry").set_text(hw.Card.IoPort)
            else:
                self.xml.get_widget("ioEntry").set_sensitive(False)

            if hw.Card.IoPort1:
                self.xml.get_widget("io1Entry").set_sensitive(True)
                self.xml.get_widget("io1Entry").set_text(hw.Card.IoPort1)
            else:
                self.xml.get_widget("io1Entry").set_sensitive(False)

            if hw.Card.IoPort2:
                self.xml.get_widget("io2Entry").set_sensitive(True)
                self.xml.get_widget("io2Entry").set_text(hw.Card.IoPort2)
            else:
                self.xml.get_widget("io2Entry").set_sensitive(False)
    def on_isdnCardEntry_changed(self, entry):
        cardname = entry.get_text()
        card = NCisdnhardware.ConfISDN()
        card.get_resource(cardname)

        if card.IRQ:
            self.xml.get_widget("irqSpinButton").set_sensitive(True)
            self.xml.get_widget("irqSpinButton").set_value(int(card.IRQ))
        else:
            self.xml.get_widget("irqSpinButton").set_sensitive(False)

        if card.Mem:
            self.xml.get_widget("memEntry").set_sensitive(True)
            self.xml.get_widget("memEntry").set_text(card.Mem)
        else:
            self.xml.get_widget("memEntry").set_sensitive(False)

        if card.IoPort:
            self.xml.get_widget("ioEntry").set_sensitive(True)
            self.xml.get_widget("ioEntry").set_text(card.IoPort)
        else:
            self.xml.get_widget("ioEntry").set_sensitive(False)

        if card.IoPort1:
            self.xml.get_widget("io1Entry").set_sensitive(True)
            self.xml.get_widget("io1Entry").set_text(card.IoPort1)
        else:
            self.xml.get_widget("io1Entry").set_sensitive(False)

        if card.IoPort2:
            self.xml.get_widget("io2Entry").set_sensitive(True)
            self.xml.get_widget("io2Entry").set_text(card.IoPort2)
        else:
            self.xml.get_widget("io2Entry").set_sensitive(False)
Esempio n. 3
0
    def hydrate(self):
        has_card = False
        mid = self.hardwarelist.addHardware(ISDN)
        self.hw = self.hardwarelist[mid]
        self.hw.Type = 'ISDN'
        self.hw.createCard()
        self.hw.Name = "ISDN Card 0"
        conf = NCisdnhardware.ConfISDN()
        new_card = conf.detect()
        cardname = ''
        if new_card:
            has_card = True
            cardname = new_card.keys()[0]
            conf.get_resource(cardname)
            self.hw.Card.ChannelProtocol = '2'
            self.hw.Card.IRQ = conf.IRQ
            self.hw.Card.Mem = conf.Mem
            self.hw.Card.IoPort = conf.IoPort
            self.hw.Card.IoPort1 = conf.IoPort1
            self.hw.Card.IoPort2 = conf.IoPort2

        if has_card:
            if self.hw.Card.ChannelProtocol == '2':
                self.xml.get_widget("euroIsdnButton").set_active(True)
            else:
                self.xml.get_widget("1tr6Button").set_active(True)

            self.xml.get_widget("isdnCardEntry").set_text(cardname)

            if self.hw.Card.IRQ:
                self.xml.get_widget("irqSpinButton").set_sensitive(True)
                self.xml.get_widget("irqSpinButton").set_value(
                    self.hw.Card.IRQ.atoi())
            else:
                self.xml.get_widget("irqSpinButton").set_sensitive(False)

            if self.hw.Card.Mem:
                self.xml.get_widget("memEntry").set_sensitive(True)
                self.xml.get_widget("memEntry").set_text(self.hw.Card.Mem)
            else:
                self.xml.get_widget("memEntry").set_sensitive(False)

            if self.hw.Card.IoPort:
                self.xml.get_widget("ioEntry").set_sensitive(True)
                self.xml.get_widget("ioEntry").set_text(self.hw.Card.IoPort)
            else:
                self.xml.get_widget("ioEntry").set_sensitive(False)

            if self.hw.Card.IoPort1:
                self.xml.get_widget("io1Entry").set_sensitive(True)
                self.xml.get_widget("io1Entry").set_text(self.hw.Card.IoPort1)
            else:
                self.xml.get_widget("io1Entry").set_sensitive(False)

            if self.hw.Card.IoPort2:
                self.xml.get_widget("io2Entry").set_sensitive(True)
                self.xml.get_widget("io2Entry").set_text(self.hw.Card.IoPort2)
            else:
                self.xml.get_widget("io2Entry").set_sensitive(False)
    def dehydrate(self):
        isdncard = NCisdnhardware.ConfISDN()
        isdncard.get_resource(self.xml.get_widget('adapterEntry').get_text())

        self.hw.Name = "ISDN Card 0"
        self.hw.Description = isdncard.Description
        self.hw.Card.ModuleName = isdncard.ModuleName
        self.hw.Card.Type = isdncard.Type
        self.hw.Card.Firmware = isdncard.Firmware
        self.hw.Card.VendorId = isdncard.VendorId
        self.hw.Card.DeviceId = isdncard.DeviceId
        self.hw.Card.DriverId = isdncard.DriverId

        if self.xml.get_widget("euroIsdnButton").get_active():
            self.hw.Card.ChannelProtocol = '2'
        else:
            self.hw.Card.ChannelProtocol = '1'

        if not self.xml.get_widget('irqSpinButton').get_property("sensitive"):
            self.hw.Card.IRQ = isdncard.IRQ
        else:
            self.hw.Card.IRQ = str(
                self.xml.get_widget('irqSpinButton').get_value_as_int())

        if not self.xml.get_widget('memEntry').get_property("sensitive"):
            self.hw.Card.Mem = isdncard.Mem
        else:
            self.hw.Card.Mem = self.xml.get_widget('memEntry').get_text()

        if not self.xml.get_widget('ioEntry').get_property("sensitive"):
            self.hw.Card.IoPort = isdncard.IoPort
        else:
            self.hw.Card.IoPort = self.xml.get_widget('ioEntry').get_text()

        if not self.xml.get_widget('io1Entry').get_property("sensitive"):
            self.hw.Card.IoPort1 = isdncard.IoPort1
        else:
            self.hw.Card.IoPort1 = self.xml.get_widget('io1Entry').get_text()

        if not self.xml.get_widget('io2Entry').get_property("sensitive"):
            self.hw.Card.IoPort2 = isdncard.IoPort2
        else:
            self.hw.Card.IoPort2 = self.xml.get_widget('io2Entry').get_text()
    def save(self):
        self.commit() 

        modules = getMyConfModules(refresh = True)

        # cleanup isdnconf
        isdn = NCisdnhardware.ConfISDN()
        isdn.cleanup()

        for hw in self:
            hw.save()

        try:
            wvdial = getMyWvDial(create_if_missing = False)
        except:
            wvdial = None

        if wvdial:
            # Clean up wvdial
            for dev in wvdial.keys():
                if dev[:5] != 'Modem':
                    continue
                for hw in self:
                    if hw.Type == MODEM and hw.Name == dev:
                        break
                else:
                    # if the loop does not get interrupted by break
                    # we did not find the Modem in the hardwarelist
                    # and it gets deleted
                    del wvdial[dev]

        # FIXME: [198070] use modinfo to determine options
        # Clean up modules
        for mod in modules.keys():
            mtype = getDeviceType(mod)
            #
            # FIXME: This is not OO!!
            #
            if mtype != ETHERNET and mtype != TOKENRING and mtype != QETH and mtype != LCS:
                continue
            #print "Testing " + str(mod)
            for hw in self:
                if (hw.Type == ETHERNET or \
                    hw.Type == TOKENRING or \
                        hw.Type == QETH or \
                        hw.type == LCS) and \
                        hw.Name == mod:
                    break
            else:
                #print "Removing " + str(mod)
                #print str(modules.vars[mod].keys())
                del modules[mod]
                #print "Test: " + str(modules[mod])


        modules.write()
        if wvdial:
            wvdial.write()

        self.commit() 
        self.setunmodified() 
    def load(self):
        #hwconf = ConfHWConf()

        # first clear the list
        self.__delslice__(0, len(self)) 

        # FIXME: move HW detection to NCDev*
        dosysupdate = True
        if getTestEnv():
            dosysupdate = False
        if dosysupdate:
            self.updateFromSystem()

        self.updateFromModules()

        for hw in self:
            if hw.Name == "ISDN Card 0":
                break
        else:
            #
            # XXX FIXME... this is not OO
            #
            isdncard = NCisdnhardware.ConfISDN()
            if isdncard.load() > 0:
                i = self.addHardware(ISDN)
                hw = self[i]
                hw.Name = "ISDN Card 0"
                hw.Description = isdncard.Description
                hw.Type = ISDN
                hw.Status = HW_CONF
                hw.Card = Card()
                hw.Card.ModuleName = isdncard.ModuleName
                hw.Card.Type = isdncard.Type
                hw.Card.IoPort = isdncard.IoPort
                hw.Card.IoPort1 = isdncard.IoPort1
                hw.Card.IoPort2 = isdncard.IoPort2
                hw.Card.Mem = isdncard.Mem
                hw.Card.IRQ = isdncard.IRQ
                hw.Card.ChannelProtocol = isdncard.ChannelProtocol
                hw.Card.Firmware = isdncard.Firmware
                hw.Card.DriverId = isdncard.DriverId
                hw.Card.VendorId = isdncard.VendorId
                hw.Card.DeviceId = isdncard.DeviceId

        #
        # FIXME: This is not OO!
        #
        try:
            wvdial = ConfSMB(getRoot() + WVDIALCONF)
        except FileMissing:
            pass
        else:
            for dev in wvdial.keys():
                if dev[:5] != 'Modem':
                    continue

                i = self.addHardware(MODEM)
                hw = self[i]
                hw.Name = dev
                hw.Description = 'Generic Modem'
                hw.Type = MODEM
                hw.Status = HW_CONF
                hw.createModem()
                if not wvdial[dev].has_key('Modem'):
                    wvdial[dev]['Modem'] = '/dev/modem'
                hw.Modem.DeviceName = wvdial[dev]['Modem']

                if not wvdial[dev].has_key('Baud'):
                    wvdial[dev]['Baud'] = '38400'
                try:
                    hw.Modem.BaudRate = int(wvdial[dev]['Baud'])
                except ValueError:
                    hw.Modem.BaudRate = 38400

                if not wvdial[dev].has_key('SetVolume'):
                    wvdial[dev]['SetVolume'] = '0'
                hw.Modem.ModemVolume = int(wvdial[dev]['SetVolume'])

                if not wvdial[dev].has_key('Dial Command'):
                    wvdial[dev]['Dial Command'] = 'ATDT'
                hw.Modem.DialCommand = wvdial[dev]['Dial Command']

                if not wvdial[dev].has_key('Init1'):
                    wvdial[dev]['Init1'] = 'ATZ'
                hw.Modem.InitString =  wvdial[dev]['Init1']

                if not wvdial[dev].has_key('FlowControl'):
                    wvdial[dev]['FlowControl'] = CRTSCTS
                hw.Modem.FlowControl =  wvdial[dev]['FlowControl']

        self.commit() 
        self.setunmodified() 
Esempio n. 7
0
 def setup(self):
     cardlist = NCisdnhardware.getCards().keys()  # pylint: disable-msg=
     cardlist.sort()
     self.xml.get_widget("isdnCardComboBox").set_popdown_strings(cardlist)