home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / csserverno.tcl < prev    next >
Text File  |  1996-10-18  |  4KB  |  121 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)csserverno.tcl    /main/hindenburg/11
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)csserverno.tcl    /main/hindenburg/11   18 Oct 1996 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require csclientno.tcl
  13. require csparamdia.tcl
  14. # End user added include file section
  15.  
  16. require "csprocessn.tcl"
  17.  
  18. Class CSServerNode : {CSProcessNode} {
  19.     constructor
  20.     method destructor
  21.     method childName
  22.     method changeParameters
  23.     method changeableParameters
  24.     method shutdown
  25.     method doUpdate
  26.     attribute server
  27.     attribute paramDialog
  28. }
  29.  
  30. constructor CSServerNode {class this name i_server} {
  31.     set this [CSProcessNode::constructor $class $this $name]
  32.     $this server $i_server
  33.     # Start constructor user section
  34.  
  35.         $this process $i_server
  36.         $this label [$i_server name]
  37.         $this icon rep_dbsrv_16
  38.  
  39.         $this canChangeParams 1
  40.         $this canShutdown 1
  41.     $this activated "$this changeParameters"
  42.  
  43.     # End constructor user section
  44.     return $this
  45. }
  46.  
  47. method CSServerNode::destructor {this} {
  48.     # Start destructor user section
  49.     # End destructor user section
  50.     $this CSProcessNode::destructor
  51. }
  52.  
  53. method CSServerNode::childName {this object} {
  54.     set nodeName [$object identity]
  55.     regsub -all {\.} $nodeName {_} nodeName
  56.     return $nodeName
  57. }
  58.  
  59. method CSServerNode::changeParameters {this} {
  60.     if {[$this paramDialog] == ""} {
  61.     set server [$this server]
  62.     set name "paramdlg-[[$server broker] name]-[$server name]"
  63.         $this paramDialog [CSParamDialog new [$this view].$name \
  64.                 [$this view] \
  65.                 $this \
  66.                 "list [$this server]" \
  67.                                 [$this changeableParameters]]
  68.     }
  69.     [$this paramDialog] popUp
  70. }
  71.  
  72. method CSServerNode::changeableParameters {this} {
  73.     return [list orb_timeout orb_linger orb_report]
  74. }
  75.  
  76. method CSServerNode::shutdown {this {confirm 1}} {
  77.     if $confirm {
  78.         set name [$this name]
  79.         $this confirmShutdown "Shutdown Server '$name'" \
  80.             "Are you sure you want to shutdown server '$name'?" \
  81.             shutdownServer
  82.         return
  83.     }
  84.  
  85.     if [catch {[$this server] shutdown} shutdownError] {
  86.         [$this view] error $shutdownError
  87.     } else {
  88.         set broker [[$this parent] parent]
  89.         $broker update 1
  90.     }
  91. }
  92.  
  93. method CSServerNode::doUpdate {this {rebuild 1}} {
  94.     $this CSProcessNode::doUpdate $rebuild
  95.  
  96.     set info [$this info]
  97.     set server [$this server]
  98.  
  99.     ORB::splitImplemId [$server implemId] implemId implemVersion
  100.     set fullId ${implemId}.${implemVersion}
  101.     set upTime [Repository::formatSeconds [$server upTime]]
  102.  
  103.     $info addHeader "Server"
  104.     $info addItem "Name"        [$server name]
  105.     $info addItem "Implementation Id"    [format "%10s" $fullId]
  106.     $info addItem "Port"        [format "%10d" [$server port]]
  107.     $info addItem "UpTime"        [format "%10s" $upTime]
  108.     $info addItem "Requests handled"    [format "%10d" [$server requests]]
  109.     $info addItem "Busyness"        [format "%10.3f" [$server busyness]]
  110.  
  111.     $info addHeader "Parameters"
  112.     $info addParameter orb_timeout    [$server getParameter orb_timeout]
  113.     $info addParameter orb_linger    [$server getParameter orb_linger]
  114.     $info addParameter orb_report    [$server getParameter orb_report]
  115.     $info addParameter orb_maxclients    [$server getParameter orb_maxclients]
  116.     $info addParameter orb_maxinstances    [$server getParameter orb_maxinstances]
  117. }
  118.  
  119. # Do not delete this line -- regeneration end marker
  120.  
  121.