#!/bin/sh
#
# messagebus:   The D-BUS systemwide message bus
#
# chkconfig: 345 97 03
# description:  This is a daemon which broadcasts notifications of system events \
#               and other messages. See http://www.freedesktop.org/software/dbus/
#
# processname: dbus-daemon
# pidfile: @DBUS_SYSTEM_PID_FILE@
#

# Sanity checks.
#[ -x @EXPANDED_BINDIR@/dbus-daemon ] || exit 0

# Source function library.
#. @EXPANDED_SYSCONFDIR@/rc.d/init.d/functions

# so we can rearrange this easily
#processname=dbus-daemon
#servicename=messagebus

#RETVAL=0

start() {
    echo "Starting system message bus"
    if [ -x @EXPANDED_BINDIR@/dbus-uuidgen ] ; then
        @EXPANDED_BINDIR@/dbus-uuidgen --ensure
    fi

    if [ -x @EXPANDED_BINDIR@/dbus-daemon ];then
    	@EXPANDED_BINDIR@/dbus-daemon --system
    fi
    #daemon --check $servicename $processname --system
    #RETVAL=$?
    #echo
    #[ $RETVAL -eq 0 ] && touch @EXPANDED_LOCALSTATEDIR@/lock/subsys/$servicename
}

stop() {
    echo "Stopping system message bus"

    ## we don't want to kill all the per-user $processname, we want
    ## to use the pid file *only*; because we use the fake nonexistent 
    ## program name "$servicename" that should be safe-ish
    killall dbus-daemon
    #RETVAL=$?
    #echo
    #if [ $RETVAL -eq 0 ]; then
    #    rm -f @EXPANDED_LOCALSTATEDIR@/lock/subsys/$servicename
    #    rm -f @DBUS_SYSTEM_PID_FILE@
    #fi
}

# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $servicename
        RETVAL=$?
        ;;
    restart)
        stop
        start
        ;;
    reload)
        echo "Message bus can't reload its configuration, you have to restart it"
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|reload}"
        ;;
esac
exit $RETVAL
