#! /usr/bin/env bash

DESC="Rustdesk service"
PRGNAM=rustdesk
DAEMON=/usr/bin/$PRGNAM
OPTS="--service"
PID=/var/run/$PRGNAM.pid

if [ ! -x $DAEMON ]; then
  echo "Program not installed or not executable"
  exit 5
fi

rustdesk_start(){
  if [ -s $PID ]; then
    echo "$DESC is already running: $(cat $PID)"
    exit 1
  fi

  if [ -x $DAEMON ]; then
    echo "Starting $DESC"
    $DAEMON $OPTS &
    pidof $DAEMON > $PID
  fi
}

rustdesk_stop()
{
  if [ -e $PID ]; then
    kill $(cat $PID)
    killall $PRGNAM
    rm -rf $PID
    echo "$DESC has been stopped."
  else
    echo "$DESC is not running."
  fi
}

rustdesk_status()
{
  if [ -s $PID ]; then
    echo "$DESC is running: $(cat $PID)"
  else
    echo "$DESC is not running."
  fi
}


case "$1" in
  start)
	rustdesk_start
	;;
  stop)
	rustdesk_stop
	;;
  restart)
	rustdesk_stop
	sleep 2
	rustdesk_start
	;;
  status)
	rustdesk_status
	;;
  *)
	echo "Usage: $0 {start|stop|restart|status}" >&2
	exit 1
	;;
esac

exit 0
