#!/bin/sh

PACKAGE="ProtectHome"
TARGET="${SYNOPKG_PKGDEST:-/var/packages/$PACKAGE/target}"
STATE="${SYNOPKG_PKGVAR:-/var/packages/$PACKAGE/var}"
CONFIG="/var/packages/$PACKAGE/etc/protect-home.conf"
PIDFILE="$STATE/protect-home.pid"
LOGFILE="$STATE/protect-home.log"

running() {
  [ -f "$PIDFILE" ] || return 1
  PID="$(cat "$PIDFILE" 2>/dev/null)"
  [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null
}

case "$1" in
  start)
    running && exit 0
    mkdir -p "$STATE"
    set -a
    [ -f "$CONFIG" ] && . "$CONFIG"
    set +a
    PROTECT_HOME_STATE_DIR="$STATE" nohup "$TARGET/bin/protect-home-agent" >>"$LOGFILE" 2>&1 &
    echo $! > "$PIDFILE"
    sleep 1
    running || exit 1
    ;;
  stop)
    if running; then
      kill "$(cat "$PIDFILE")"
      COUNT=0
      while running && [ "$COUNT" -lt 20 ]; do sleep 1; COUNT=$((COUNT + 1)); done
    fi
    rm -f "$PIDFILE"
    ;;
  status)
    running && exit 0
    [ -f "$PIDFILE" ] && exit 1
    exit 3
    ;;
  prestart|prestop)
    exit 0
    ;;
  *)
    exit 1
    ;;
esac

exit 0
