#!/bin/bash
if [[ "$1" == 'debug'  ]]; then set -x;		_DEBUG=$1; shift; fi
if [[ "$1" == 'debug2' ]]; then set -xvT;	_DEBUG=$1; shift; fi
if [[ "$1" == 'trace'  ]]; then 		_TRACE=$1; shift; fi
####################################################################
####################################################
# - Refresh -
# Reload rules for scanners by sending a 'HUP'
# to the process
####################################################
#------------------------
REALPATH=`realpath $0`
WHERE=`dirname $REALPATH`
ME=`basename $REALPATH`
cd $WHERE
. ../system.conf
. ../watchermap.conf
. ../common.conf
. ../common.bashlib
#------------------------

_usage() {
	echo "Specify which module to refresh (LG,MX,MB,WB) ..."
	exit
}

if [ -z "$1" ];then _usage; fi

#MODNAME=`awk '{print toupper($0)}' <<< $1`
MODNAME=${1^^}

# Note GeoTrack has no rules
# Must be a regular Watcher process
case $MODNAME in
	LG|MX|MB|WB)	MOD_PROC=Watch$MODNAME
	;;
	*)		_usage
;;
esac

THE_PROC=`ps -ef | grep -v grep | grep "modules/$MOD_PROC" | awk '{print $2}'`

if [ ! -z "$THE_PROC" ]
then	echo "$ME: Refreshing rules of $MOD_PROC, PID: $THE_PROC"
	kill -HUP $THE_PROC
else	echo "$ME: Module $MOD_PROC not running"	
fi
