⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 licmanual.tcl

📁 VxWorks的开发平台Tornado2.2升级到2.2.1的补丁。
💻 TCL
📖 第 1 页 / 共 3 页
字号:
                } else {                    if { $setupVals(lmInstType) == "nodeLocked" } {                        manualNodelockChoiceCB [expr $ret - 1]                    } else {                        manualLicRequestedUpdate [expr $ret - 1]                    }                    set valuesReset 0                    pageCreate(licManual)                }            }            default {                puts "Error: Invalid input."                while {[prompt "Press <Enter> to continue."] != "" } {                }                pageCreate(licManual)            }        }    }}############################################################################### pageProcess(licManual) - process inputs from the licManual page## This procedure will process inputs from the licManual page## SYNOPSIS# .tS# pageProcess(licManual)# .tE## PARAMETERS: N/A## RETURNS:  1 if successful## ERRORS: N/A#proc pageProcess(licManual) {} {    global setupVals lmVals ctrVals    global valuesReset     if { $lmVals(reload) == 0 } { # update        set isAllZero 1        foreach req $lmVals(lmFeaturesRequested) {            if { $req != 0 } {                set isAllZero 0            }        }        if { $isAllZero } {            if { [isGUImode] } {                dialog ok_with_title "ERROR: License Request" \                                     [strTableGet LICMANUAL_ZERO_ERROR]                return 0            } else {                puts "\n[strTableGet LICMANUAL_ZERO_ERROR]"                while {[prompt "Press <Enter> to continue."] != "" } {                }                pageCreate(licManual)            }        }    }    dbgputs "feature: $lmVals(lmLicensedProductNames)"    dbgputs "code: $lmVals(lmLicensedFeatureIds)"    dbgputs "request: $lmVals(lmFeaturesRequested)"    if { [isGUImode] } {                    # re-enable the setup bitmap for next pages        controlHide wizardDialog.bitmap 0    }    # save user's selection    set valuesReset 0    return 1}############################################################################### lmValsRequestInit - initialize lmVals value for license request## This procedure initializes the values in the lmVals data structure. # The data that is populated are:#       lmLicensedProductNames#       lmLicensedFeatureIds#       lmFeaturesRequested## SYNOPSIS# .tS# lmValsRequestInit# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc lmValsRequestInit {} {    global lmVals setupVals ctrlVals    global valuesReset env		    # If SETUP is NOT running from the CD or with the /L option    # use licensed products info from setup.log 	if {[instTypeGet] == "licenseSetup" && $setupVals(runFromCD) == 0} {		set setupLocal 1	} else {		set setupLocal 0	}    if {$setupVals(lmError) != "" || $setupLocal == 1} {         # get WIND_BASE        if { [isTornadoProduct] } {            if { [info exist env(WIND_BASE)] } {                set setupLog [file join $env(WIND_BASE) setup.log]            } else {                messageBox "Error: WIND_BASE variable is not set!"                return ""            }        } else {            set setupLog [file join [destDirGet] setup.log]        }        # try opening setup.log file        if [catch {open $setupLog r} logfd] {            messageBox "Error: cannot open file $setupLog!"            return ""        } else {            set text [split [read $logfd] \n]            set nlines [llength $text]            close $logfd            for {set ix 0} {$ix < $nlines} {incr ix} {                # iterate each line and search for the licensed prod info                set textLine [split [lindex $text $ix]]                # search for line that begins with "licensed product:"                if { [split [lindex $textLine 1]] == "licensed" &&                      [split [lindex $textLine 2]] == "product:" } {                    # update license information                    lappend lmVals(lmLicensedProductNames) \							[split [lindex $textLine 3]]                    lappend lmVals(lmLicensedFeatureIds) \							[split [lindex $textLine 4]]                    if { $setupVals(lmInstType) == "nodeLocked" } {                        lappend lmVals(lmFeaturesRequested) 1                    } else {                        lappend lmVals(lmFeaturesRequested) 0                    }                }            }        }        return    }    # get the featureId from the CD, based on what the key unlocks    # then, use featureId to find all licensed products    # then, select only licensed products that belong to this host    # then, add the products to the list to be displayed and    # configured. This has to be done this way because we have no    # access to database in the page to retrieve the list of     # licensed products that belong to this wind host    # check wind host type in order to display only native licensed products    set hostType [windHostTypeGet]    foreach featureId [cdInfoGet featureIdList] {        foreach prodIndex [cdInfoGet selectedProdIndexList] {            # choose only the licensed products            if { $featureId == [productInfoGet featureId $prodIndex] } {                # get to desc of the products to check for native products                set desc [productInfoGet desc $prodIndex]                 set prodHostType [prodHostTypeGet $desc]                # if the product belongs to this wind host,                 # add to the list to be displayed and configured                if { $hostType == $prodHostType } {                    #update license information                    lappend lmVals(lmLicensedProductNames) [productInfoGet name $prodIndex]                    lappend lmVals(lmLicensedFeatureIds) [productInfoGet featureId $prodIndex]                    if { $setupVals(lmInstType) == "nodeLocked" } {                        lappend lmVals(lmFeaturesRequested) 1                    } else {                        lappend lmVals(lmFeaturesRequested) 0                    }                }            }        }    }}############################################################################### onTableManualEvent - callback for manual floating license table event## This procedure is the callback when a table event occurs.  The current# values in the table selection are retrieved to update the selected# product label and the number of requested licenses in the text entry box.  ## SYNOPSIS# .tS# onTableManualEvent# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A##proc onTableManualEvent {} {    global ctrlVals setupVals    # if the user is currently updating the entry in the text box    # or node locked radio choices, simply return so that the     # table callback does not update the input controls at the     # same time.        if {$ctrlVals(inputUpdate) == 1} {        return    }    # only perform an update for a selection change.      set event [controlEventGet $ctrlVals(mainWindow).licManualTable]    if {$event != "selchange"} {        return    }        # get the feature values from the table.    set featureVals [lindex \					[controlValuesGet $ctrlVals(mainWindow).licManualTable] \					[controlSelectionGet $ctrlVals(mainWindow).licManualTable]]        set requested [lindex $featureVals 2]    set prodName [lindex $featureVals 0]    # set the tableUpdate variable to 1 so that the text entry callback    # does not update the table at the same time.        set ctrlVals(tableUpdate) 1        # update the selected product label and text entry box with the    # selected table values.      controlValuesSet $ctrlVals(mainWindow).selectedProd $prodName    if {$setupVals(lmInstType) == "floating"} {        controlValuesSet $ctrlVals(mainWindow).textManualRequested $requested    } else {                # node locked        if {$requested == "Yes"} {            controlCheckSet $ctrlVals(mainWindow).yesManualChoice 1            controlCheckSet $ctrlVals(mainWindow).noManualChoice 0        } else {            controlCheckSet $ctrlVals(mainWindow).yesManualChoice 0            controlCheckSet $ctrlVals(mainWindow).noManualChoice 1        }        controlFocusSet $ctrlVals(mainWindow).licManualTable    }    set ctrlVals(tableUpdate) 0}############################################################################### checkLMFeaturesRequestedFields#   For nodelock: checks to see if at least of the fields is checked#   For updates : checks to see that all fields are entered## SYNOPSIS# .tS# checkLMFeaturesRequestedFields# .tE## PARAMETERS: N/A## RETURNS: 1 if OK to proceed#          0 if user needs to re-enter## ERRORS: N/A#proc checkLMFeaturesRequestedFields {} {    global lmVals setupVals    set isOK 0    if { $setupVals(lmInstType) == "nodeLocked" } {        # for nodelock, don't need to check with radio controls         set isOK 1    } elseif { $lmVals(reload) == 0 } { # update        set isOK 1        # for updates, check to see that a value is entered           if { [controlValuesGet wizardDialog.textManualRequested] == "" } {            set isOK 0        }    }    return $isOK}############################################################################### floatTextManualCB - callback for text entry box## This procedure is the callback for the floating license text entry box.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -