#!/bin/sh

DAEMON="air"
PIDFILE="/run/runsv-$DAEMON.pid"

[ -f /run/setup ] && exit 0
[ -f /run/air ] || exit 0

start() 
{
	printf 'Starting %s: ' 'air unit'

	camera=`uci -q get keenfalcon.sensor.device`
	case "$camera" in
	/dev/video*)
		if [ ! -c "$camera" ]; then
			echo "no camera"
			return 1
		fi	
		;;
	esac
	
	cnt=0
	while [ $cnt -lt 30 ]; do 
		sleep 2
		
		if [ -f /run/radio ]; then
			NICS=`cat /run/radio`
		fi	
	
		if [ -z "${NICS}" ]; then
			echo -n .
			cnt=$((cnt+1))
		else
			cnt=999
		fi
	done

	if [ -z "${NICS}" ]; then
		echo "no radio"
		return 1
	fi
	
	sleep 1
	
	start-stop-daemon -S -x /usr/bin/runsv -p ${PIDFILE} -m -b -- /var/service/${DAEMON}
	status=$?

	if [ "$status" -eq 0 ]; then
		echo "OK"
	else
		echo "FAIL"
	fi
	return "$status"
}

stop() 
{
	printf 'Stopping %s: ' 'air unit'
	start-stop-daemon -K -q -p "$PIDFILE"
	status=$?
	if [ "$status" -eq 0 ]; then
		rm -f "$PIDFILE"
		echo "OK"
	else
		echo "FAIL"
	fi
	return "$status"
}

restart() {
	stop
	start
}

case "$1" in
       	start|stop|restart)
		"$1"
		;;
	reload)
		# Restart, since there is no true "reload" feature.
		restart
		;;
        *)
       	        echo "Usage: $0 {start|stop|restart|reload}"
               	exit 1
               	;;
esac


