#! /bin/sh
#
### BEGIN INIT INFO
# Provides:          micasad
# Required-Start:
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 1 2 3 5
# Default-Stop:
# Short-Description: miCASA daemon
# Description: miCASA daemon
### END INIT INFO

MICASAD_BIN=/usr/sbin/micasad.sh
test -x $MICASAD_BIN || exit 5

. /etc/rc.status

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status

# First reset status of this service
rc_reset

function pid_exists()
{
    test -f /var/run/micasad.pid 2> /dev/null
}

function process_running()
{
    kill -0 `cat /var/run/micasad.pid` 2> /dev/null
}

function is_running()
{
    pid_exists && process_running

}

case "$1" in
    start)
		if ! is_running; then \
		    echo -n "Starting miCASA daemon"
		    $MICASAD_BIN
		fi
		# Remember status and be verbose
		rc_status -v

		;;
    stop)
		if is_running; then \
		    echo -n "Shutting down miCASA daemon" 
		    #killproc -TERM $MICASAD_BIN
		    pid=`cat /var/run/micasad.pid` >/dev/null 2>&1
		    kill -s TERM $pid >/dev/null 2>&1
		fi

		# Remember status and be verbose
		rc_status -v
		;;
    try-restart|condrestart)
    	    	$0 status
        	if test $? = 0
		then
                	$0 restart
        	else
                	rc_reset        # Not running is not a failure.
        	fi
        	# Remember status and be quiet
        	rc_status
        	;;
    restart)
        	## Stop the service and regardless of whether it was
        	## running or not, start it again.
		echo "Restarting miCASA daemon"
        	$0 stop
        	$0 start

	        # Remember status and be quiet
        	rc_status
        	;;
    reload)
        	## Stop the service and regardless of whether it was
        	## running or not, start it again.
		echo "Restarting miCASA daemon"
        	$0 stop
        	$0 start

	        # Remember status and be quiet
        	rc_status
        	;;
    force-reload)
        	## Stop the service and regardless of whether it was
        	## running or not, start it again.
		echo "Restarting miCASA daemon"
        	$0 stop
        	$0 start

	        # Remember status and be quiet
        	rc_status
        	;;
    status)
		echo -n "Checking miCASA daemon"
		if pid_exists && ! process_running 2> /dev/null; then \
		    rc_failed 1
		elif ! pid_exists && ! process_running 2> /dev/null; then \
		    rc_failed 3
		fi

		rc_status -v
		;;
    *)
		echo "Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}"
	exit 1
	;;
esac
rc_exit
