#!/bin/bash
#
# interact      This shell script starts/stops ebeam-server
#
# Author:       Luidia, Inc.
#
# chkconfig: 235 95 95
# description:  start/stop ebeam server. WARNING: Stopping (and restarting) will also stop Interact
# processname:  eBeam_Stylus_Driver
#
# for openSUSE
### BEGIN INIT INFO
# Provides:          ebeam-server
# Required-Start:    $syslog
# Should-Start:
# Required-Stop:     $syslog
# Should-Stop:
# Default-Start:     2 3 5
# Default-Stop:      0 1 6
# Short-Description: ebeam-server provides an interface to eBeam systems.
# Description:       Start ebeam-server to connect to eBeam systems which
#	provide interactive whiteboard funtionallity.
### END INIT INFO

export LD_LIBRARY_PATH=/opt/diva

prog=/opt/diva/eBeam_Stylus_Driver

RETVAL=0

start() {
#	echo -n $"Starting ebeam-server"
	until $prog &>> "/tmp/diva.log"; do
		echo "eBeam_Stylus_Driver crashed, restarting" >&2
		sleep 1
	done
}

stop() {
    PROCESS=`ps ax | grep -v grep | grep eBeam_Stylus_Driver | awk '{print $1}'`
    if [[ $PROCESS ]]; then
	kill $PROCESS
    fi
}

restart() {
	stop
	start
}

status () {
    procname=`basename $prog`
    killall -q -SIGCONT $procname
    if [ $? = 0 ]
    then
	echo ebeam-stylus-driver is running
	RETVAL=0
    else
	echo ebeam-stylus-driver is stopped
	RETVAL=1
    fi
}

case "$1" in
  start)
	start
	;;
  stop) 
	stop
	;;
  restart)
	restart
	;;
  status)
	status
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|status}"
	exit 1
esac

exit $RETVAL
