📄 licinfo.tcl
字号:
# LICINFO.TCL - Setup procedures for implementing Current License Info # wizard page## Copyright 1999-2003 Wind River Systems, Inc## modification history# --------------------# 02d,14feb03,bjl fixed grammar for licinfo message.# 02c,23may02,bwd SPR 77766: grey out HELP button - not needed for this page# 02b,23apr02,wmd Add new KEYWORDS, spr 76185.# 02a,12jun01,j_w Added for Tornado 2.2# 01q,21sep00,bwd Removed update and reload choice button. The choice to# update/reload is made in previous page# 01p,07jul00,j_w Default to the "retrieve backup lic file" option if# lmVals(reloadExistingLicense) is 1# 01o,31may00,bwd SPR 31564: enable Back button for node locked licensing# 01n,26may00,bwd Reset pageList for email/phone when choosing onUpdate# 01m,18may00,bwd Removed debug message# 01l,20mar00,bwd Fixed TEXT mode to default a choice to onUpdate# 01k,10feb00,j_w Fixed typo# 01j,08feb00,j_w Rename page title# 01i,02feb00,bwd Changed setupVals(cmdMode) to use isGUImode# 01h,12jan00,bwd Added codes to display this page for TEXT MODE# 01g,30nov99,j_w Updated messages for reloading and fixed license file # parsing for the server line# 01f,24nov99,bwd Added default value for auto setup# 01e,23nov99,bwd Added sections for automatic LM Installation# 01d,17nov99,j_w Set lmVals(reload) to 1 if onReload is selected# 01c,16nov99,j_w Added procedure for parsing the license file# 01b,10nov99,j_w Disabled back button so user will not install flexlm files# again# 01a,16Sep99,j_w written################################################################################ pageCreate(currLicInfo) - displays existing license info on current host## This procedure will display existing license info including licensed # product names, number of floating and nodelocked licenses for each product## SYNOPSIS# .tS# pageCreate(currLicInfo)# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc pageCreate(currLicInfo) {} { global ctrlVals lmVals setupVals set lmType "" if { [info exists setupVals(lmInstType)] && $setupVals(lmInstType) == "nodeLocked" } { set lmType "nodeLocked" } set msg "" if {$lmVals(reloadExistingLicense) == 1} { set msg [strTableGet LICINFO_MSG_RELOAD] set lmVals(reload) 1 set setupVals(licUpdateAction) "onReload" } else { set msg [strTableGet LICINFO_MSG_UPDATE] set lmVals(reload) 0 set setupVals(licUpdateAction) "onUpdate" } if { [isGUImode] } { set ctrlVals(volatileFrm) [list \ [list label -name msg1 \ -title [strTableGet LICINFO_MSG_1] \ -x 99 -y 10 -w 200 -h 20] \ [list text -name licenseInfo \ -multiline -vscroll -readonly \ -x 99 -y 30 -w 200 -h 103] \ [list label -name msg2 \ -title "$msg\n\n[strTableGet LICINFO_MSG_2]"\ -x 99 -y 138 -w 200 -h 35] ] set w [dlgFrmCreate [strTableGet LICINFO_TITLE]] # help not provided and not needed for this page controlEnable $w.helpButt 0 if { $lmType == "nodeLocked" } { # OK to enable back button for node locked controlEnable $w.backButt 1 } else { # disable back button so user will not install flexlm files twice controlEnable $w.backButt 0 } if { $ctrlVals(useInputScript) } { # test automation if { ![info exists setupVals(licUpdateAction)] } { set setupVals(licUpdateAction) "onUpdate" autoSetupLog "License Update Action: unspecified.\ Use default action: update." } } # parse the license Info here set licStr [licInfoParse "$lmVals(lmLicenseFile)"] # display the info controlValuesSet $w.licenseInfo "$licStr" if {$ctrlVals(useInputScript)} { autoSetupLog "Current License Information Page: skipped" autoSetupLog "\tAction taken: $setupVals(licUpdateAction)" nextCallback } controlFocusSet $w.nextButt } else { #TEXT mode printPageTitle [strTableGet LICINFO_TITLE] puts "[strTableGet LICINFO_MSG_1]\n" # parse the license Info here set licStr [licInfoParse "$lmVals(lmLicenseFile)"] puts $licStr puts "\n\n$msg\n" puts "Press \"Enter\" after finish viewing your existing license file." while (1) { switch -regexp -- [prompt] { "^$" { nextCallback ; return 0 } "^-$" { if { $lmType == "nodeLocked" } { # OK to go back for node locked backCallback return 0 } else { puts "Error: Cannot go back any further" while { [prompt "Press <Enter> to continue."] != "" } { } return [pageCreate(currLicInfo)] } } "^[eE][xX][iI][tT]$" { return 0 } } } }}############################################################################### pageProcess(currLicInfo) - process inputs from currLicInfo page if any## This procedure will process inputs from currLicInfo page if any## SYNOPSIS# .tS# pageProcess(currLicInfo)# .tE## PARAMETERS: N/A## RETURNS: 1 when successful## ERRORS: N/A#proc pageProcess(currLicInfo) {} { global setupVals lmVals # reset any prev choice set setupVals(lmInstOptions) "" switch $setupVals(licUpdateAction) { onUpdate { set lmVals(reload) 0 # reset page list set setupPageList(email) {licManual licEmail licEmailFinish} set setupPageList(phone) {licManual licPhone} } onReload { set lmVals(reload) 1 } } # re-enable help button for next pages controlEnable wizardDialog.helpButt 1 dbgputs "licUpdateAction: $setupVals(licUpdateAction)" dbgputs "lmVals(reload): $lmVals(reload)" return 1}############################################################################### licInfoParse - Obtain the license file information## SYNOPSIS# .tS# licInfoParse# .tE## PARAMETERS: license file## RETURNS: license information in a formatted string## ERRORS: N/A#proc licInfoParse {licFile} { set str "" if { [catch {open $licFile r} fileId] } { puts "Can't open license file" return "Cannot open license file:\r\n$licFile" } else { # parse SERVER line while { [gets $fileId line] >= 0 } { set line [string trim $line] if {[regexp {^SERVER.*} $line] } { set x [split $line] set server [lindex $x 1] set hostId [lindex $x 2] append str "Server: $server\r\n" append str "Host ID: $hostId\r\n" } } append str "\r\n" # go to the beginning of the file seek $fileId 0 # parse FEATURE or INCREMENT line while { [gets $fileId line] >= 0 } { set line [string trim $line] if {[regexp {^FEATURE.*} $line] } { set x [split $line] set feature [lindex $x 1] set vendor [lindex $x 2] set ver [lindex $x 3] set exp [lindex $x 4] set seat [lindex $x 5] if { "$vendor" == "wrsd" } { append str "Licensed Feature:\t $feature $ver\r\n" append str "Number of Licenses: $seat\r\n" append str "Expiration Date:\t $exp\r\n" } append str "\r\n" } if {[regexp {^INCREMENT.*} $line] } { set x [split $line] set feature [lindex $x 1] set vendor [lindex $x 2] set ver [lindex $x 3] set exp [lindex $x 4] set seat [lindex $x 5] if { "$vendor" == "wrsd" } { append str "Licensed Feature:\t $feature $ver\r\n" append str "Number of Licenses: $seat\r\n" append str "Expiration Date:\t $exp\r\n" } append str "\r\n" } } close $fileId } return $str}####################################################################### Dialog Text Messages######################################################################set strTable(LICINFO_TITLE) "License Information"set strTable(LICINFO_MSG_1) \ "SETUP has detected that the following licenses are configured\ on this host:"set strTable(LICINFO_MSG_2) \ "Please click \"Next\" to proceed..."set strTable(LICINFO_MSG_UPDATE) \ "You have requested to update the license configuration \ with additional seats for licensed products on this host."set strTable(LICINFO_MSG_RELOAD) \ "You have requested to overwrite an invalid license file\ or replace a missing\/deleted license file."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -