#!/bin/sh
# **********************************************************************
#
# Copyright (c) 1997
# Object-Oriented Concepts, Inc.
# Billerica, MA, USA
#
# Copyright (c) 1997
# Object-Oriented Concepts GmbH
# Ettlingen, Germany
#
# All Rights Reserved
#
# **********************************************************************
 
top_srcdir=../..

# Use this for Sun's JDK
JAVA=java
# Use this for Microsoft's Visual J++
#JAVA=jview
 
#
# Remove echo incompatibilities
#
if test "`echo -e xxx`" = "xxx"
then
    echo="echo -e"
else
    echo=echo
fi

#
# Set Java CLASSPATH
#
if test -d 'c:/' # Simple check for windows
then
    CLASSPATH="$top_srcdir/jnaming/classes;$CLASSPATH"
    CLASSPATH="$top_srcdir/jlib;$CLASSPATH"
    CLASSPATH="classes;$CLASSPATH"
else
    CLASSPATH="$top_srcdir/jnaming/classes:$CLASSPATH"
    CLASSPATH="$top_srcdir/jlib:$CLASSPATH"
    CLASSPATH="classes:$CLASSPATH"
fi

export CLASSPATH

#
# Print welcome message
#
$echo
$echo "*********************************"
$echo "* OmniBroker NamingService demo *"
$echo "*********************************"
 
#
# Ask for server
#
server=
while test -z "$server"
do
    $echo
    $echo "Select NamingService to use:"
    $echo
    $echo "1: C++ NamingService"
    $echo "2: Java NamingService"
    $echo
    $echo "---> \c"
    
    read num
 
    if test "$num" = "1"
    then
        server="$top_srcdir/naming/nsserv"
        serverReleaseCheck=yes
    fi

 
    if test "$num" = "2"
    then
        server="$JAVA com.ooc.CosNaming.Nsserv"
        serverReleaseCheck=no
    fi
done
 
#
# Set name of reference file
#
ref=Naming.ref

#
# Function to deactivate the server
#
nsid=0
srvid=0
deactivate()
{
    if test $nsid -ne 0
    then
	kill $nsid
    fi

    if test $srvid -ne 0
    then
        kill $srvid
    fi

    exit
}

#
# Start NamingService
#
$echo
$echo "Waiting for NamingService to start up... \c"
rm -f $ref
$server --ior > Naming.ref &
nsid=$!
trap deactivate 1 2 3 4 5 6 7 8 10 12 13 14 15
count=0
while test ! -s $ref -a $count -lt 6
do
    sleep 1
    count=`expr $count + 1`
done
if test ! -s $ref
then
    $echo "Failed!"
    $echo "(NamingService was not started)"
    exit
else
    $echo "OK!"
fi

#
# Start server
#
./server -ORBnaming `cat Naming.ref` &
srvid=$!
sleep 3

#
# Start client
#
./client -ORBnaming `cat Naming.ref`

#
# Deactivate naming service and server
#
deactivate
