~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Open Mash Cross Reference
mash/tcl/rvic/application-rvic.tcl

Component: ~ [ mash ] ~ [ apps ] ~ [ gsm ] ~ [ lib ] ~ [ otcl ] ~ [ srm ] ~ [ tcl8.3 ] ~ [ tclcl ] ~ [ tk8.3 ] ~ [ tutorials ] ~

  1 # application-rvic.tcl --
  2 #
  3 #       FIXME: This file needs a description here.
  4 #
  5 # Copyright (c) 1996-2002 The Regents of the University of California.
  6 # All rights reserved.
  7 #
  8 # Redistribution and use in source and binary forms, with or without
  9 # modification, are permitted provided that the following conditions are met:
 10 #
 11 # A. Redistributions of source code must retain the above copyright notice,
 12 #    this list of conditions and the following disclaimer.
 13 # B. Redistributions in binary form must reproduce the above copyright notice,
 14 #    this list of conditions and the following disclaimer in the documentation
 15 #    and/or other materials provided with the distribution.
 16 # C. Neither the names of the copyright holders nor the names of its
 17 #    contributors may be used to endorse or promote products derived from this
 18 #    software without specific prior written permission.
 19 #
 20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
 21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23 # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
 24 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 26 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 27 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 28 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 30 #
 31 # @(#) $Header: /usr/mash/src/repository/mash/mash-1/tcl/rvic/application-rvic.tcl,v 1.6 2002/02/03 04:29:27 lim Exp $
 32 
 33 
 34 import VicApplication RemoteVicUI
 35 # WidgetClass VideoBox
 36 
 37 # Remote-controleld Vic application
 38 Class RemoteVicApplication -superclass VicApplication
 39 
 40 #
 41 # init adds ctrl spec option and then calls the parent init (vic's)
 42 RemoteVicApplication instproc init {widgetPath argv} {
 43         set o [$self options]
 44         $o register_option -ctrl rvicCtrlSpec
 45         $o register_option -rendez rendezSpec
 46         $o register_option -audio audioMonitorSpec
 47         $o register_option -uniqid uniqid
 48         eval [list $self] next $widgetPath [list $argv]
 49 }
 50 
 51 #
 52 # Build the remote vic "user interface".
 53 # Creates a frame using the provided <i>widgetPath</i> and packs the
 54 # rvic ui in it.
 55 #
 56 RemoteVicApplication instproc init_ui {widgetPath spec} {
 57         $self instvar agent_ vpipe_ local_chan_ glob_chan_
 58 
 59         set ctrlAddr [$self get_option rvicCtrlSpec]
 60         if {$ctrlAddr == ""} {
 61                 puts "need to set rvic control address with -ctrl option..."
 62                 exit
 63         }
 64 
 65         frame $widgetPath
 66         # FIXME
 67         $self add_option geometry 640x480
 68         set ui [new RemoteVicUI $widgetPath $local_chan_ $glob_chan_ \
 69                         $agent_ $vpipe_ "$self exit" $spec]
 70 
 71         set raddr [$self get_option rendezSpec]
 72         if {$raddr != ""} {
 73                 puts "starting Rendezvous messages on $raddr"
 74                 $self instvar rv_
 75                 set rv_ [new Rendezvous $raddr]
 76                 if {[llength [split $ctrlAddr /]] < 2} {
 77                         set ctrlAddr [localaddr]/$ctrlAddr
 78                 }
 79                 set rmsg "will-provide: mash-object=RemoteVicApplication\
 80                                 spec=$spec ctrlspec=$ctrlAddr"
 81                 set uid [$self get_option uniqid]
 82                 if {$uid != ""} {set rmsg "$rmsg uniqid=$uid"}
 83                 $rv_ start $rmsg
 84         }
 85         pack $widgetPath -expand 1 -fill both
 86 
 87         return $ui
 88 }
 89 
 90 
 91 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.