#!/bin/bash
#
# Main enumeration script for shaman daemon
#
# Use next environment variables:
# OUTPUT_FD - descriptor of output file
#
# Copyright (c) 2013-2017, Parallels International GmbH
#
# Our contact details: Parallels International GmbH, Vordergasse 59, 8200
# Schaffhausen, Switzerland.
#

. /usr/share/shaman/functions

verify_caller

if [ -z "$OUTPUT_FD" ]; then
	echo "OUTPUT_FD environment variable undefined" 1>&2
	exit 1
fi

HANDLER_NAME=`basename $0`
HANDLER_PATH="/usr/share/shaman"
HANDLER_LIST=`find "${HANDLER_PATH}" -mindepth 1 -maxdepth 1 -type d -printf "%f " | sort -r`

for HANDLER in ${HANDLER_LIST}; do
	SCRIPT=$HANDLER_PATH/$HANDLER/${HANDLER_NAME}.sh
	[ -x "$SCRIPT" ] || continue
	OUTPUT_FD=$OUTPUT_FD $SCRIPT >&$OUTPUT_FD
	[ $? -ne 0 ] && echo "'$SCRIPT' failed with code $RET" 1>&2
done
exit 0
