#!/bin/bash -
export PORT=15702
AGENT_DIR='/opt/vprotect/osagent'
AGENT_NAME='sbr-osagent'

ERROR () {
if [ $1 = 0 ]
 then
  echo "ok"
 else
  if [ $2 = 0 ]
   then
    echo -e "$1 [${YELLOW}WARNING${NC}]"
   else
    echo -e "$1 [${RED}ERROR${NC}]"
    echo The configuration process was interrupted.
    exit
   fi
fi
}

trap "exit;" SIGHUP SIGINT SIGTERM

getPID()
{
	PID=$(lsof -i :"$PORT" -sTCP:LISTEN |awk 'NR > 1 {print $2}')
}

serverStatus()
{
	getPID
	if [ -z "$PID" ]
	then
		echo "Storware OS Agent is not running."
		running=false
	else
		echo "Storware OS Agent is running (PID = $PID)."
		running=true
	fi
}

cd $AGENT_DIR

case "$1" in
	"status")
		serverStatus
		;;

	"start")
		echo "Starting Storware OS Agent ..."
		nohup $AGENT_DIR/$AGENT_NAME >/dev/null 2>&1 &
		sleep 3

		serverStatus

		if [ "x$running" == "xfalse" ]
		then
			echo "Please check log files: /opt/vprotect/logs"
		fi
		;;

	"stop")
		getPID

		if [ ! -z "$PID" ]
		then
			echo "Stopping Storware OS Agent (PID = $PID)..."
			kill $PID
			sleep 1
		fi

		serverStatus
		;;

	*)
	    if [ $# -eq 0 ]
	    then
		$AGENT_DIR/$AGENT_NAME -h
	    else
		$AGENT_DIR/$AGENT_NAME "$@"
	    fi
esac
