#!/usr/bin/ksh
#=============================================================================
# Nom            : VapStat
# Projet         : HP-Openview IT/Operations
# Cree le        : 05/12/2000
# Cree par       : Jean Philippe BOCQUENET
# Objet          : Verifie le fonctionnement d'une application sur un serveur
# Appel(s)       : HP-OV-ITO Template Vap_Stat_${NumeroInstance}
# Environnements : HP-UX 9.05 10.20
#                : Solaris 5.3 5.4 5.5 5.5.1 5.6
#                : SunOs 4.1.3
#                : Aix 3.x 4.2 4.3
#                : Irix 5.3
#		 : Linux 2.2 2.4
# Parametre(s)   : 1 : nom du template d'appel
# Codes retour   : = 0 => OK
#                : <>0 => KO
#=============================================================================
# Modification(s)
#-----------------------------------------------------------------------------
# JJ/MM/AA - QUI
#	QUOI
#
# 14/06/2001
#	Appel a la librairie librenault en lieu et place du verif OS
#	Ajout de la fonction pour Linux : FonctionLinux
#
#=============================================================================
# Fonctions
#-----------------------------------------------------------------------------
#	FonctionHPUX FonctionHPUX10 FonctionSunOS FonctionSolaris
#	FonctionAIX FonctionAIX42 FonctionIRIX FonctionLinux
#=============================================================================
#
# Verification nombre d'arguments
if [ $# -lt 1 ]
then
	echo "Probleme sur le programme $0." 1>&2
	exit 1
fi

# Recuperation du nom de la template associee
typeset NomTemplate=$1

# Recuperation du numero de l'instance
typeset NumeroInstance=$2

# Environnement ITO

typeset ITO_VAP_APP=$(eval print \$""ITO_VAP_APP_${NumeroInstance})
typeset ITO_VAP_SCR=$(eval print \$""ITO_VAP_SCR_${NumeroInstance})
typeset ITO_VAP_OPT=$(eval print \$""ITO_VAP_OPT_${NumeroInstance})

# Definition des variables globales locales script:
typeset ValeurRetour=0		# Nb de processus trouves

#=============================================================================
# FonctionHP-UX FonctionHP-UX10 FonctionSunOS FonctionSolaris FonctionAIX
# FonctionAIX42 FonctionIRIX
# Ces 6 fonctions execute les instructions propres a chaque systeme pour
# obtenir les memes resultats 
# Code retour : 0 => OK
#             : 2 => Erreur
#=============================================================================
function FonctionHPUX
{
	FonctionSolaris
	return 0
}

function FonctionHPUX10
{
	FonctionHPUX
	return 0
}

function FonctionSunOS
{
	FonctionSolaris
	return 0
}

function FonctionSolaris
{
	if [[ -f ${ITO_VAP_SCR} ]]
	then
		if [[ -z ${ITO_VAP_OPT} ]]
		then
 			${ITO_VAP_SCR} > ${OPCTMP}/${ITO_VAP_APP}_mngr.log 2>&1
			ValeurRetour=$?
		else
			${ITO_VAP_SCR} ${ITO_VAP_OPT} > ${OPCTMP}/${ITO_VAP_APP}_mngr.log 2>&1
			ValeurRetour=$?
		fi

		return 0
	else
		return 0

#	Documenter car retourne des erreures quand le scripts n'est pas present
#		return 1

	fi
}

function FonctionAIX
{
	FonctionSolaris
	return 0
}

function FonctionAIX42
{
	FonctionAIX
	return 0
}

function FonctionIRIX
{
	FonctionSolaris
	return 0
}

function FonctionLinux
{
	FonctionSolaris
	return 0
}

#=============================================================================
# Partie principale
#

#-{ Determine le repertoire ou se trouve le script appelant }-----------------

PROG=$(which ${0})
CHEMIN=$(cd $(dirname $PROG); pwd)

#-{ Appel de la librairie Renault pour redefinir les variables }--------------

. ${CHEMIN}/../cmds/librenault


#-{ Test le code retour }-

if [ $? -ne 0 ]
then
	echo "Probleme sur le programme $0." 1>&2
	exit 1
fi


#-{ Appel la fonction principale du script }----------------------------------
	 
${ReferenceFonction}


#-{ Test le code retour }-

if [ $? -ne 0 ]
then
	echo "Probleme sur le programme $0." 1>&2
	exit 1
fi


#-{ Renvoie la valeur au template ITO }---------------------------------------

if [[ -z ${ITO_VAP_APP} ]]
then
	${OPCMON} "${NomTemplate}=${ValeurRetour}" -object "Status Application"
else
	${OPCMON} "${NomTemplate}=${ValeurRetour}" -object "${ITO_VAP_APP}"
fi


#-{ Test le code retour }-

if [ $? -ne 0 ]
then
	echo "Probleme sur le programme $0." 1>&2
	exit 1
fi

exit 0

#=============================================================================
# eof
#=============================================================================
