#! /bin/bash
#
# vboxweb-service: VirtualBox OSE Web Service init script.
#
# Author: Lubomir Rintel <lkundrak@v3.sk>
# 
# chkconfig: - 80 30
# description: VirtualBox OSE Web Services
# processname: vboxweb
# pidfile: /var/run/vboxweb-service.pid
#
### BEGIN INIT INFO
# Provides: vboxweb-service
# Required-Start: network
# Required-Stop:
# Default-Start:
# Default-Stop: 0 1 2 6
# Short-Description: VirtualBox OSE Web Service
# Description: VirtualBox OSE Web Services API
### END INIT INFO

SERVICE=vboxweb-service
PROCESS=vboxwebsrv
DAEMON=/usr/bin/$PROCESS
PIDFILE=/var/run/$SERVICE.pid

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Source service configuration.
[ -f /etc/sysconfig/$SERVICE ] && . /etc/sysconfig/$SERVICE

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x $DAEMON ] || exit 1

start ()
{
        echo -n $"Starting $SERVICE: "
	daemon $DAEMON --pidfile $PIDFILE --background $VBOXWEB_OPTS >/dev/null 2>&1
	# We suppressed nonessential output, so we need to reprint status msg
        RETVAL=$?
	if [ $RETVAL = 0 ]
	then
		success
		touch /var/lock/subsys/$SERVICE
	else
		failure
	fi
	echo
        return $RETVAL
}

stop ()
{
        echo -n $"Stopping $SERVICE:"
        killproc $PROCESS
	RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ]
	then
        	rm -f /var/lock/subsys/$SERVICE
        	rm -f $PIDFILE
        fi
        return $RETVAL
}

restart ()
{
	stop && start
}

RETVAL=0
case "$1" in
start)
	start
	RETVAL=$?
	;;
stop)
	stop
	RETVAL=$?
	;;
restart)
	restart
	RETVAL=$?
	;;
reload)
	echo "$0 does not support configuration reloading, you have to restart it."
	RETVAL=1
	;;
status)
	status $PROCESS
	RETVAL=$?
	;;
*)
	echo $"Usage: $0 {start|stop|restart|reload|status}"
	RETVAL=1
esac

exit $RETVAL
