#!/sbin/openrc-run

# This is a custom variable.
TENSHI_CFG="/etc/tenshi/tenshi.conf"

# And these all belong to OpenRC.
command="/usr/sbin/tenshi"
extra_commands="checkconfig"
extra_started_commands="reload flush"
pidfile="/run/tenshi.pid"
command_args="-c ${TENSHI_CFG} -P ${pidfile}"
description="tenshi log monitoring daemon"

depend() {
    use logger
}

checkconfig() {
    $command $command_args -C
    return $?
}

start_pre() {
    # If this isn't a restart, make sure that the user's config isn't
    # busted before we try to start the daemon (this will produce
    # better error messages than if we just try to start it blindly).
    #
    # If, on the other hand, this *is* a restart, then the stop_pre
    # action will have ensured that the config is usable and we don't
    # need to do that again.
    if [ "${RC_CMD}" != "restart" ] ; then
        checkconfig || return $?
    fi
}

stop_pre() {
    # If this is a restart, check to make sure the user's config
    # isn't busted before we stop the running daemon.
    if [ "${RC_CMD}" = "restart" ] ; then
        checkconfig || return $?
    fi
}

reload() {
    checkconfig || return $?
    ebegin "Reloading ${description}"
    start-stop-daemon --signal HUP --pidfile "${pidfile}"
    eend $?
}

flush() {
    ebegin "Flushing all ${description} queues"
    start-stop-daemon --signal USR2 --pidfile "${pidfile}"
    eend $?
}
