#!/bin/sh
# /etc/rc.d/rc.sdrplay
# Start/stop/restart sdrplay_apiService

BINARY="/usr/bin/sdrplay_apiService"
PIDFILE="/var/run/sdrplay_apiService.pid"

sdrplay_start() {
  if [ -x "$BINARY" ]; then
    if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then
      echo "sdrplay_apiService is already running."
    else
      echo "Starting sdrplay_apiService: $BINARY"
      # Run in background if the binary does not daemonize automatically
      $BINARY > /dev/null 2>&1 &
      echo $! > "$PIDFILE"
    fi
  else
    echo "Executable $BINARY not found."
  fi
}

sdrplay_stop() {
  if [ -f "$PIDFILE" ]; then
    echo "Stopping sdrplay_apiService..."
    kill $(cat "$PIDFILE") 2>/dev/null
    rm -f "$PIDFILE"
  else
    # Fallback if pidfile missing
    echo "Stopping sdrplay_apiService via killall..."
    killall sdrplay_apiService 2>/dev/null
  fi
}

sdrplay_restart() {
  sdrplay_stop
  sleep 1
  sdrplay_start
}

case "$1" in
'start')
  sdrplay_start
  ;;
'stop')
  sdrplay_stop
  ;;
'restart')
  sdrplay_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
  ;;
esac