#!/bin/bash
#
### BEGIN INIT INFO
# Provides: weston
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

if test -e /etc/default/weston ; then
        . /etc/default/weston
fi

die() {
        echo "[error] $@"
        exit 1
}

killproc() {
        pid=`/bin/pidof $1`
        [ "$pid" != "" ] && kill $pid
}

read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
        case $x in
        weston=false)
		echo "Weston disabled"
		exit 0;
                ;;
        esac
done

case "$1" in
  start)
        . /etc/profile

	# Config generation moved into weston-start
	#TMPCONFIG="$(mktemp /tmp/weston.ini-XXXXXX)"
	#/etc/weston/weston.ini.sh > ${TMPCONFIG}
	#[ $? -eq 0 ] || die "failed writing weston configuration!"

	if ! ( pidof weston ); then
		weston-start -- $OPTARGS
		/etc/wm-load &
		usleep 500000
	fi

	[ -x "$SYSSESSION" ] && $SYSSESSION

	# load VNC password from secrets, if auth is enabled - x11vnc_f.pw is a dummy [BSP-2425]
	if [ -e /etc/x11vnc/x11vnc_f.pw ]; then
		res=$(dbus-send --print-reply=literal --system --dest=com.exor.EPAD "/Security" com.exor.EPAD.Security.getSecrets \
			string:'{ "domain":"System","domainkey":".","secretid":"VNC Password","format":"text" }')
                # overwrite link with auth file
		rfbauth=/tmp/weston-rfbauth
		rm -f $rfbauth; echo $res > $rfbauth
		chmod 400 $rfbauth
	fi
  ;;

  stop)
	echo "Stopping Weston"
	killproc weston
	rm -f /tmp/weston*
  ;;

  restart)
	$0 stop
        sleep 1
        $0 start
  ;;

  *)
        echo "usage: $0 { start | stop | restart }"
  ;;
esac

exit 0
