#!/bin/sh

file_suivi=/tmp/nagwen_suivi

function nagwen_suivi_refresh () {
   if [ ! "$SERVICE" ]; then
	echo "Erreur nagwen_suivi_add : service non renseigne !"
	return 
   fi

   nb=1

   if [ ! -f $file_suivi ];then
     touch $file_suivi
   fi
   nagwen_suivi_get
   nb=$?
   nb=$(($nb+1))
   if [ $nb -ge 100 ]; then
	   nb=1
   fi

   nagwen_suivi_del
   nagwen_suivi_add $nb

}


function nagwen_suivi_add () {
   echo "$SERVICE;$code;$1" >> $file_suivi
}


function nagwen_suivi_del () {
   if [ ! "$SERVICE" ]; then
	echo "Erreur nagwen_suivi_del : service non renseigne !"
	return
   fi

   if [ -f $file_suivi ];then
	grep -v "$SERVICE" $file_suivi > $file_suivi.tmp
	cp $file_suivi.tmp $file_suivi
	rm $file_suivi.tmp
   fi
}


function nagwen_suivi_get () {
   if [ ! "$SERVICE" ]; then
	echo "Erreur nagwen_suivi_get : service non renseigne !"
	return
   fi

   nb=0
   if [ -f $file_suivi ];then
      ligne=`grep "$SERVICE;$code" $file_suivi`
      if [ "$ligne" ]; then
         nb=`echo "$ligne" | cut -d";" -f3`
      fi
   fi
   return $nb
}   


function nagwen_suivi_test () {
   if [ ! "$SERVICE" ]; then
	echo "Erreur nagwen_suivi_test : service non renseigne !"
	return
   fi

   nagwen_code=$code
   if [ "$code" == "0"  ]; then
	   return 0
   fi
   
   nagwen_suivi_get 
   nb_suivi=$?
   if [ $nb_suivi -le $NB_RETRY ];then 
      if [ "$code" == "3" ]; then
	  code=0
      else if [ "$code" == "2" ]; then
          code=1
      else if [ "$code" == "1" ]; then
          code=0
      fi
      fi
      fi
   fi      
   return $nagwen_code
}   

