home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / csservices.tcl < prev    next >
Text File  |  1997-11-05  |  2KB  |  96 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)csservices.tcl    /main/titanic/7
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)csservices.tcl    /main/titanic/7   5 Nov 1997 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require csservicen.tcl
  13. # End user added include file section
  14.  
  15. require "csnode.tcl"
  16.  
  17. Class CSServicesNode : {CSNode} {
  18.     constructor
  19.     method destructor
  20.     method childName
  21.     method childObjects
  22.     method createChild
  23.     method reload
  24.     method doUpdate
  25. }
  26.  
  27. constructor CSServicesNode {class this name} {
  28.     set this [CSNode::constructor $class $this $name]
  29.     # Start constructor user section
  30.  
  31.         $this label "<object servers>"
  32.         $this icon rep_services_16
  33.         $this activeIcon rep_services_16
  34.         $this foldState 0
  35.  
  36.         $this canReload 1
  37.  
  38.     # End constructor user section
  39.     return $this
  40. }
  41.  
  42. method CSServicesNode::destructor {this} {
  43.     # Start destructor user section
  44.     # End destructor user section
  45.     $this CSNode::destructor
  46. }
  47.  
  48. method CSServicesNode::childName {this object} {
  49.     return [lindex $object 0]
  50. }
  51.  
  52. method CSServicesNode::childObjects {this} {
  53.     set ns [ORB::nameServer]
  54.     return [$ns serverDefinitions]
  55. }
  56.  
  57. method CSServicesNode::createChild {this object} {
  58.     return [CSServiceNode new $this.[$this childName $object] $object]
  59. }
  60.  
  61. method CSServicesNode::reload {this} {
  62.     set ns [ORB::nameServer]
  63.     $ns reloadServerDefinitions
  64.     $this update 1
  65. }
  66.  
  67. method CSServicesNode::doUpdate {this {rebuild 1}} {
  68.     $this CSNode::doUpdate $rebuild
  69.  
  70.     set ns [ORB::nameServer]
  71.     set file [$ns serversFile]
  72.     set info [$this info]
  73.  
  74.     $info addHeader "Server Definition File"
  75.     $info addItem "Location" $file
  76.  
  77.     if ![BasicFS::exists $file] {
  78.         $info addLine "    File cannot be accessed from this system."
  79.     } else {
  80.     if [catch {set owner [BasicFS::owner $file]} error] {
  81.         set owner "<unknown>"
  82.     } else {
  83.         set error ""
  84.     }
  85.     $info addItem "Owned by" $owner
  86.     if {$error != ""} {
  87.         foreach error [split $error \n] {
  88.         $info addLine "    $error"
  89.         }
  90.     }
  91.     }
  92. }
  93.  
  94. # Do not delete this line -- regeneration end marker
  95.  
  96.