#! /bin/sh
# Use Barix utilities for application init scripts.
source /usr/local/sbin/barix-init-app.sh

APPLICATION_OPTS="-D/dev/ttyACM0 -c/etc/rp-display.properties"
APPLICATION_NAME="rp-display-controller"
APPLICATION_USER_NAME="Barix Display Controller Application"
APPLICATION_BIN=/usr/bin/$APPLICATION_NAME

NAME_WATCHDOG=barix_watchdog
WATCHDOG_BIN=/usr/bin/$NAME_WATCHDOG


launch_application() {
    while [ ! -c /dev/ttyACM0 ]; do
        sleep 2
    done
    
    start_app ${APPLICATION_NAME} ${WATCHDOG_BIN} "${APPLICATION_BIN} ${APPLICATION_OPTS}"

}

start() {
    launch_application&
}

stop() {
    # Use utility stop_app() for stopping the app, which was started via the
    # watchdog.
    echo "${APPLICATION_NAME}: Stopping the ${APPLICATION_NAME} application..."
    wd_proc_re="${WATCHDOG_BIN} ${APPLICATION_BIN}"
    app_proc_re="${APPLICATION_BIN}"
    stop_app "${APPLICATION_NAME}" 5 "${wd_proc_re}" "${app_proc_re}"
    echo "${APPLICATION_NAME}: Stopping the ${APPLICATION_NAME} application...DONE"
}

restart() {
    stop
    start
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    ###rm -f $APP_STARTED_FLAG
    stop
    ;;
  restart|reload)
    restart
    ;;
  *)
    echo "Usage: $0 {start|stop|reload|restart}"
    exit 1
esac

exit $?
