#!/bin/sh
#
# ejabberd-jit	Start/stop JIT transport for ejabberd.
#
# chkconfig: - 71 29
# description: ICQ transport for Jabber.
#
# processname: ejabberd-jit
# config: /etc/ejabberd/ejabberd-jit.xml
# pidfile: /var/run/ejabberd/ejabberd-jit.pid

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

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

JIT_CONF=/etc/ejabberd/ejabberd-jit.xml
LOCKFILE=/var/lock/subsys/ejabberd-jit
PIDFILE=/var/run/ejabberd/ejabberd-jit.pid
JIT_USER=ejabberd

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

RETVAL=0

start()
{
        # start daemon
	start_daemon \
	    --lockfile "$LOCKFILE" \
	    --pidfile "$PIDFILE" \
	    --user "$JIT_USER" \
	    -- /usr/sbin/ejabberd-jit -d -H /var/spool/ejabberd-jit -c "$JIT_CONF"
	RETVAL=$?
}

stop()
{
	stop_daemon \
	    --lockfile "$LOCKFILE" \
	    --pidfile "$PIDFILE" \
	    --expect-user "$JIT_USER" \
	    -- /usr/sbin/ejabberd-jit
	RETVAL=$?
}

reload()
{
#	# cause the service configuration to be reread, either with kill -HUP:
#	echo -n "Rereading Jabber-JIT configuration: "
#	stop_daemon -HUP \
#	    --pidfile "$PIDFILE" \
#	    --expect-user "$JIT_USER" \
#	    -- /usr/sbin/ejabberd-jit
#	RETVAL=$?
#	# or by simple restarting the daemons in a manner similar to restart above.
        stop
        start
}


# See how we were called.
case "$1" in
    start)
	start
        ;;
    stop)
	stop
        ;;
    reload)
	reload
	;;
    restart)
	stop
	start
	;;
    condstop)
	# Stop the servce if it is already running, for example:
	if [ -e "$LOCKFILE" ]; then
 	  stop
	fi
	;;
    condrestart)
	# Restart the servce if it is already running, for example:
	if [ -e "$LOCKFILE" ]; then
	  stop
 	  start
	fi
	;;
    status)
	status \
	    --pidfile "$PIDFILE" \
	    --expect-user "$JABBER_USER" \
	    -- /usr/sbin/ejabberd-jit
	RETVAL=$?
	;;
    *)
	echo "Usage: ${0##*/} {start|stop|reload|restart|condstop|condrestart|status}"
	RETVAL=1

esac

exit $RETVAL
