#!/bin/sh

. /etc/init.d/functions.sh
. /etc/conf.d/focusd

NAME=focusd
DAEMON=/usr/bin/$NAME
DESC=$NAME
USER=focus

setup_persistent () {
	local pd=/lib/persistent
	local spd=$pd/var/lib/$NAME
	local sf=$NAME.state
	local spdf=$spd/$sf

	[ -d $spd ] || {
		mkdir -p $spd || error "$0: mkdir $spd"
		chown $USER:$USER $spd || error "$0: chown $spd"
	}

	[ -f $spdf ] || {
		umask 077
		touch $spdf || error "$0: create $spdf"
		echo "[Mechanics.Focus]
MotorPosition=-1
MoveCount=0
StepCount=0

" >> $spdf || error "$0: initialize $spdf"

		echo "[Mechanics.Zoom]
MotorPosition=-1
MoveCount=0
StepCount=0

" >> $spdf || error "$0: initialize $spdf"

		chown $USER:$USER $spdf || error "$0: chown $spdf"
	}
}

start_focusd () {
	setup_persistent
	start_daemon $DAEMON $INTERFACE_OPT $FOCUSD_OPTIONS
}

stop_focusd () {
	stop_daemon $DAEMON
}

case "$1" in
	start)
		begin "Starting $DESC"
		start_focusd
		end $?
		;;
	stop)
		begin "Stopping $DESC"
		stop_focusd
		end $?
		;;
	restart)
		begin "Restarting $DESC"
		stop_focusd && start_focusd
		end $?
		;;
	*)
		error "Usage: $0 start|stop|restart"
		;;
esac

exit 0
