#!/bin/sh

### BEGIN INIT INFO
# Provides:        collectord
# Required-Start:  $local_fs $syslog 
# Required-Stop:   $local_fs $syslog 
# Default-Start:   2 3 4 5
# Default-Stop:    0 1 6
# Short-Description: starts collectord for presence detection
# Description:       Collector Daemon for the Presence detection of multiple rooms (presenced)
### END INIT INFO

# source LSB functions
[ -r /lib/lsb/init-functions ] && . /lib/lsb/init-functions 

# source startup defaults
[ -r /etc/default/collectord ] && . /etc/default/collectord 



COLLECTORD_BIN=/usr/sbin/collectord
COLLECTORD_CFG=$CFGFILE
COLLECTORD_OPTIONS="-v -l /var/log/collectord.log -p $PORT"
COLLECTORD_PID="/var/run/collectord.pid"


NAME="collectord"
DAEMON=$COLLECTORD_BIN
PIDFILE=$COLLECTORD_PID

if [ ! -e "$COLLECTORD_BIN" ] ;then
	echo "binary not found or not executable"
	exit 5 
fi

if [ ! -r "$COLLECTORD_CFG" ] ;then
	echo "config file not found"
	exit 6
fi


 case "$1" in
   start)
     if [ -r "$COLLECTORD_PID" ] ;then
       pid=$(cat $COLLECTORD_PID)
       cnt=`ps -ef | grep "$pid" | grep -v grep | wc -l`
       if [ "$cnt" -eq "0" ] ; then
         rm $COLLECTORD_PID
       else
         echo "$NAME is already running"
         exit 0
       fi
     fi

     echo -n "Start $NAME ..."
     
     $COLLECTORD_BIN -c $COLLECTORD_CFG -d $COLLECTORD_OPTIONS 2>&1
     
     if [ $? = "0" ] ;then
	echo " OK"
	exit 0

     else
	echo " FAILED"
	exit 3
     fi 
	
     ;;
   stop)
     if [ -r "$COLLECTORD_PID" ] ;then

     echo  "Stopping $NAME"
     kill $(cat $COLLECTORD_PID)
     else
 	echo "$NAME is not running"
	exit 0
     fi
     ;;
   restart|force-reload)
     $0 stop && $0 start
     ;;
   status)
     if [ -e $PIDFILE ]; then
       status_of_proc -p $PIDFILE $DAEMON "$NAME process" && exit 0 || exit $?
     else
       log_daemon_msg "$NAME Process is not running"
       log_end_msg 0
     fi
     ;;

   *)
     echo "Usage: $NAME {start|stop|restart|force-reload|status}"
   exit 1
 esac
 exit 0
