#!/bin/sh

# Bring up/down named

. /etc/sysconfig/rc.conf
. /bin/network-functions

SETSID=/usr/bin/setsid
PIDFILE=/var/run/fw-update.pid
SERVICE=fw-update
PROCESS_NAME=fw-update

do_get ()
{
	if ServiceCheckRunning1 ; then
		/etc/init.d/softdogd wait

		$SETSID /bin/$PROCESS_NAME -o get
	else
		# communicate via signal
		PID=$(/bin/cat $PIDFILE)
		kill -SIGHUP $PID
	fi

	return
}


do_get_and_update ()
{
	if ServiceCheckRunning1 ; then
		/etc/init.d/softdogd wait

		$SETSID /bin/$PROCESS_NAME -o getupdate
	else
		# communicate via signal
		PID=$(/bin/cat $PIDFILE)
		kill -SIGUSR1 $PID
	fi

	return
}

do_update ()
{
	if ServiceCheckRunning1 ; then
		/etc/init.d/softdogd wait

		$SETSID /bin/$PROCESS_NAME -o update
	else
		# communicate via signal
		PID=$(/bin/cat $PIDFILE)
		kill -SIGUSR2 $PID
	fi

	return
}

do_stop ()
{
	/etc/init.d/softdogd wait

	ServiceStop;

	return $?
}

do_status ()
{
	ServiceStatus

	return $?
}

case "$1" in
	start)
		do_get
		;;
	stop)
		do_stop
		;;
	status)
		do_status
		;;
	getupdate)
		do_get_and_update
		;;
	update)
		do_update
		;;
	restart)
		do_stop
		do_start
		;;
	*)
		echo "Usage: $0 {start|stop|restart|update|getupdate}"
		exit 1
esac

exit $?
