#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: dnetc
# REQUIRE: LOGIN
# KEYWORD: shutdown

#
# Add the following lines to /etc/rc.conf to enable dnetc:
# dnetc_enable (bool):		Set to "NO" by default.
#				Set to "YES" to enable dnetc.
# dnetc_dir (path):		Set to "%%BINDIR%%" by default.
# dnetc_user (user):		Set to "dnetc" by default.
# dnetc_idprio (priority):	Unset by default. See idprio manpage.
#

. /etc/rc.subr

name="dnetc"
rcvar=dnetc_enable

load_rc_config $name

: ${dnetc_enable="NO"}
: ${dnetc_dir="%%BINDIR%%"}
: ${dnetc_user="dnetc"}

required_files=${dnetc_dir}/${name}.ini

start_cmd="${name}_start"
stop_cmd="${name}_stop"

extra_commands="flush fetch update"

flush_cmd="${name}_flush"
fetch_cmd="${name}_fetch"
update_cmd="${name}_update"

dnetc_start()
{
	if ps -x -o ucomm -U${dnetc_user} | grep ${name} >/dev/null; then
		echo "${name} already running?"
	else
		${dnetc_idprio:+idprio} ${dnetc_idprio} su -m ${dnetc_user} -c "${dnetc_dir}/${name} -quiet" >/dev/null 2>&1
		echo -n " ${name}"
	fi
}

dnetc_stop()
{
	if ps -x -o ucomm -U${dnetc_user} | grep ${name} >/dev/null; then
		su -m ${dnetc_user} -c "${dnetc_dir}/${name} -shutdown" >/dev/null 2>&1
		# wait for dnetc to stop
		sleep 2
		echo -n " ${name}"
	else
		echo "${name} not running?"
	fi
}

dnetc_flush()
{
	su -m ${dnetc_user} -c "${dnetc_dir}/${name} -flush" >/dev/null 2>&1
}

dnetc_fetch()
{
	su -m ${dnetc_user} -c "${dnetc_dir}/${name} -fetch" >/dev/null 2>&1
}

dnetc_update()
{
	su -m ${dnetc_user} -c "${dnetc_dir}/${name} -update" >/dev/null 2>&1
}

run_rc_command "$1"