#!/bin/bash
#
# $Id: sfcb.init-redhat.in,v 1.2 2005/06/13 12:50:33 mihajlov Exp $
#
# chkconfig: - 20 80
#
# description: Small Footprint CIM Broker Service
#
# processname: sfcbd
#
# config: /etc/sfcb/sfcb.cfg

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

SFCB_BIN=/usr/sbin/sfcbd
LOCKFILE=/var/lock/subsys/sblim-sfcb

echo $PATH | grep -q /usr/sbin ||PATH=/usr/sbin:$PATH

if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv /usr/lib64
then
    LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
fi

start() {
	if [[ $EUID -ne 0 ]]; then
		echo "sfcb executed under nonprivileged user"
		exit 4
	fi
	echo -n "Starting sfcb: "
	daemon $SFCB_BIN -d &&
	touch $LOCKFILE &&
	return 0 ||
	return 1
}	

stop() {
	if [[ $EUID -ne 0 ]]; then
		echo "sfcb executed under nonprivileged user"
		exit 4
	fi
	echo -n "Shutting down sfcb: "
	killproc sfcbd &&
	rm -f $LOCKFILE &&
	return 0 || return 1
}

reload() {
	echo -n "Reloading sfcb configuration: "
	killproc sfcbd -HUP &&
	return 0 || return 1
}

case "$1" in
    start)
	start
	;;
    stop)
	stop
	;;
    status)
	pid=`pidofproc $SFCB_BIN`
	RETVAL=$?
	if [ "$RETVAL" -eq 0 ]; then
		echo -n $"sfcb ($pid) is running"
		exit 0
	else
		if [ -e /var/run/tog-pegasus.pid ]; then
			echo $"sfcb is not running, but pid file exists"
			exit 1
		elif [ -e $LOCKFILE ]; then
			echo $"sfcb is not running, but lock file exists"
			exit 2
		else
			echo $"sfcb is not running"
			exit 3
		fi
	fi
	echo
	;;
    restart)
	if [[ $EUID -ne 0 ]]; then
		echo "sfcb executed under nonprivileged user"
		exit 4
	fi
    	stop
	start
	;;
    reload)
	reload
	;;
    condrestart)
	[ -f $LOCKFILE ] && restart || :
	;;
    *)
	echo "Usage: sfcb {start|stop|status|reload|restart|condrestart}"
	[ "$1" = "usage" ] && exit 0
	exit 2
	;;
esac
exit $?
