#!/bin/sh
# Program
#          Program that will start and kill Supermicro thin-agent service
# REQUIRE: DAEMON

. /etc/rc.subr
prog="Thin-Agent Service"
TAS_BIN="/opt/supermicro/IPMITAS"
TAS_WATCHDOG="/opt/supermicro/watchtas"
name="tas"
rcvar=${name}_enable
pidfile=/var/run/${name}.pid
start_cmd="start"
stop_cmd="stop"
#restart_cmd="restart"
extra_commands="version pause resume status"
version_cmd="version"
pause_cmd="pause"
resume_cmd="resume"
status_cmd="status"

load_rc_config $name

#parameter size is 1
[ "$#" -gt 1 ] || [ "$#" -lt 1 ] && echo "parameter length error" && exit 0

# Check that we are root ... so non-root users stop here
root=`id -u`
test $root = 0  ||  exit 4

RETVAL=0

fail() {
    echo $prog "start fail"
    exit 1
}

start() {
  echo  "Starting $prog"
  $TAS_BIN -agent start-service  
  RETVAL=$?
  [ $RETVAL == 0 ] || fail
  service watchtas start
  return $RETVAL
}

stop() {
  echo  "Stopping $prog"
  $TAS_BIN -agent stop-service  
  sleep 6

  test -f /var/run/watchtas.pid
  if [ $? -ne 0 ]; then
    watch=`ps -x | grep watchtas | grep -v grep | awk '{print $1}'`
    if [ $? -eq 0 ]; then
      for i in $watch
        do
          kill $i
        done
    fi
  else
    kill `cat /var/run/watchtas.pid`
  fi

  if pgrep -f IPMITAS > /dev/null ; then
    pkill -9 -x IPMITAS
  fi
}

pause() {
  echo "Pause $prog"
  $TAS_BIN -agent pause-service
}

resume() {
  echo "Resume $prog"
  $TAS_BIN -agent resume-service
}

restart() {
  echo "Restart $prog"
  sleep 1
  stop
  sleep 3
  start
}

version() {
  $TAS_BIN -agent version
}

status() {
  $TAS_BIN -agent status
}
run_rc_command "$1"




