#! /bin/sh
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/opt/RAYLASE/SPICE3/bin"

PROGRAM_NAME="upnp_app"
PROGRAM=/opt/RAYLASE/SPICE3/lib/RAYLASE.SPICE3.DeviceDiscoveryServer
EEPROMCACHE="/tmp/eeprom"

test -x $PROGRAM || (echo "$PROGRAM is not an executable file." && exit 0)

_FLAGS=""
flag_init(){
	local flags="$PROGRAM_NAME $PROGRAM "
	_FLAGS="$flags"
}

case "$1" in
  start)
	echo "Starting $PROGRAM_NAME daemon: $PROGRAM_NAME"

	if ([[ -f "$EEPROMCACHE/NO_UPNP.txt" && $(cat "$EEPROMCACHE/NO_UPNP.txt") -eq "1" ]]); then
		echo "$0: NO_UPNP is set in EEPROM."
		exit 0
	fi

	flag_init

	start-stop-daemon -S -c spice3 -n $PROGRAM_NAME -x dotnetDaemon -- ${_FLAGS}
	echo "Done"
	;;
  stop)
	echo "Stopping $PROGRAM_NAME daemon: $PROGRAM_NAME"
	start-stop-daemon -K -n $PROGRAM_NAME $PROGRAM_NAME -x dotnetDaemon
	echo "."
	;;

  restart)
	echo -n "Restarting $PROGRAM_NAME daemon: $PROGRAM_NAME"
	start-stop-daemon -K -n $PROGRAM_NAME --oknodo $PROGRAM_NAME -x dotnetDaemon

	settings_init &
	pids="$pids $!"

	flag_init

	wait $pids

	sleep 2
	start-stop-daemon -S -c spice3 -n $PROGRAM_NAME -x dotnetDaemon -- ${_FLAGS}
	echo "."
	;;

  *)
	echo "Usage: /etc/init.d/$PROGRAM_NAME {start|stop|restart}"
	exit 1
esac

exit 0
