#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          guest
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start/stop guest mount and vnc server
# Description:       guest mount and vnc server
### END INIT INFO

DESC="guest services"
NAME="guest"

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export PATH

. /lib/lsb/init-functions

test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/guest && . /etc/default/guest

start() {
	/guest/guest-mount
	guest-up >/dev/null 2>&1 &
}

stop() {
	if [ ! -e /etc/slay_mode ]; then
		echo >&2 install slay and create /etc/slay_mode
		exit 1
	fi
	KILL guest-up
	slay guest >/dev/null 2>&1
	/guest/guest-umount
}

case $1 in
	start)
		log_daemon_msg "Starting $DESC" "$NAME"
		start
		log_end_msg 0
	;;
	stop)
		log_daemon_msg "Stopping $DESC" "$NAME"
		stop
		log_end_msg 0
	;;
	restart)
		log_daemon_msg "Restarting $DESC" "$NAME"
		stop
		start
		log_end_msg 0
	;;
	status)
		P=$(ps --no-headers -u guest 2>/dev/null || true)
		if [ -n "$P" ]; then
			log_success_msg "$NAME is running"
			exit 0
		else
			log_failure_msg "$NAME is not running"
			exit 1
		fi
	;;
	*)
		log_success_msg "Usage: $0 {start|stop|restart|status}"
		exit 1
	;;
esac
