#!/bin/sh
#
### BEGIN INIT INFO
# Provides: osafevtd
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Should-Start: 
# Should-Stop: 
# Default-Start: 
# Default-Stop: 
# Short-Description: Start and stop the SAF-EVT Server
# Description: SAF-EVT Server Daemon
### END INIT INFO

osafdirfile=/etc/opensaf/osafdir.conf
osafprog="osafevtd"
initscript=`basename $0`

# Source LSB functions library
. /lib/lsb/init-functions

if [ ! -r $osafdirfile ]; then
	logger -t $osafprog "can't read $osafdirfile, exiting."
	exit 6
else
	. $osafdirfile
	. $pkgsysconfdir/nid.conf
	. $pkgsysconfdir/evtd.conf
fi	

binary=$pkglibdir/$osafprog
pidfile=$pkgpiddir/$osafprog.pid
lockfile=$lockdir/$initscript

RETVAL=0

start() {
	export LD_LIBRARY_PATH=$pkglibdir:$LD_LIBRARY_PATH
	[ -x $binary ] || exit 5
	echo -n "Starting $osafprog: "
	start_daemon -p $pidfile $binary $args
	RETVAL=$?
	if [ $RETVAL -eq 0 ]; then
		touch $lockfile
		log_success_msg
	else
		log_failure_msg
	fi
	return $RETVAL
}

stop() {
	echo -n "Stopping $osafprog: "
	killproc -p $pidfile $binary
	RETVAL=$?
	if [ $RETVAL -eq 0 ] || [ $RETVAL -eq 7 ]; then
		rm -f $lockfile
		log_success_msg
		RETVAL=0
	else
		log_failure_msg
	fi
	return $RETVAL
}

restart() {
	stop
	start
}

tryrestart() {
	[ -e $lockfile ] && restart
	return 0
}

reload() {
	echo -n "Reloading $osafprog: "
	log_warning_msg
	logger -t $osafprog "reloading configuration is currently an unimplemented LSB feature"
	return 3
}

forcereload() {
	reload
	restart
	return 0
}

status() {
	pidofproc -p $pidfile $binary
	RETVAL=$?
	return $RETVAL
}

case "$1" in
  start)
	start
	RETVAL=$?
	;;
  stop)
	stop
	RETVAL=$?
	;;
  restart)
	restart
	RETVAL=$?
	;;
  try-restart|condrestart)
	tryrestart
	RETVAL=$?
	;;
  reload)
	reload
	RETVAL=$?
	;;
  force-reload)
	forcereload
	RETVAL=$?
	;;
  status)
	status
	RETVAL=$?
	;;
  *)
	echo "Usage: $0 {start|instantiate|stop|restart|try-restart|reload|force-reload|status}"
	RETVAL=2
esac

exit $RETVAL
