#! /bin/sh
#
# cf-monitord
#
# chkconfig:     2345 85 60
# processname:   cf-monitord
# config:        /var/lib/cfengine/
# description: cf-monitord - cfengine's monitoring agen
#

WITHOUT_RC_COMPAT=1
RETVAL=0

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

CMDNAME="cf-monitord"
CFWORKDIR="/var/lib/cfengine"
PIDFILE="$CFWORKDIR/$CMDNAME.pid"
LOCKFILE="/var/lock/subsys/$CMDNAME"
DISPLAYNAME="$CMDNAME"
EXPECT="root"

PATH="$CFWORKDIR/bin:$PATH"
export PATH

start() {
    if ! [ -x "$CFWORKDIR/bin/$CMDNAME" ] ; then
            msg_not_running "$CMDNAME"
            passed "$CMDNAME. CFengine doesn't configured."
            STATUS=$?
            echo
            return $STATUS
    fi

    start_daemon --displayname "$DISPLAYNAME" --name "$CMDNAME" --lockfile "$LOCKFILE" --pidfile "$PIDFILE" --expect-user "$EXPECT" -- "$CMDNAME"
    RETVAL=$?
    return $RETVAL
}

stop() {
    stop_daemon --displayname "$DISPLAYNAME" --name "$CMDNAME" --lockfile "$LOCKFILE" --pidfile "$PIDFILE" --expect-user "$EXPECT" -- "$CMDNAME"
    RETVAL=$?
    return $RETVAL
}

restart() {
    stop
    start
}

daemon_status()
{
    status --pidfile "$PIDFILE" --displayname "$DISPLAYNAME" --name "$CMDNAME" --lockfile "$LOCKFILE" --expect-user "$EXPECT" -- "$CMDNAME"
    RETVAL=$?
    return $RETVAL
}

case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    reload)
    restart
    ;;
    status)
    daemon_status
    ;;
    condstart)
    if ! [ -f "$LOCKFILE" ]; then
    start
    fi
    ;;
    condstop)
    if [ -f "$LOCKFILE" ]; then
    stop
    fi
    ;;
    condrestart)
    if [ -f "$LOCKFILE" ]; then
    restart
    fi
    ;;
    condreload)
    if [ -f "$LOCKFILE" ]; then
    restart
    fi
    ;;
    *)
    msg_usage "${0##*/} {start|stop|status|restart|reload|condstart|condstop|condrestart|condreload}"
    RETVAL=1
    ;;
esac

exit $RETVAL
