#!/bin/bash

KILL=/usr/bin/killall
MANAGER=/usr/bin/da_manager
EVENT=/usr/bin/da_event
FIND=/usr/bin/find
GETAPPINSTALLPATH="/usr/bin/pkgcmd -a"
PORTFILE=/tmp/port.da

print_usage()
{
	echo "usage: da_command [options]"
	echo "Options:"
	echo "killmanager               terminate da_manager"
#	echo "killapp apppath           terminate application"
	echo "runmanager                execute da_manager"
	echo "runevent record|play      execute da_event"
	echo "findunittest              find unittest project"
}

kill_manager()
{
	$KILL $MANAGER
	rm -f $PORTFILE
}

kill_app()
{
	$KILL $APPPATH
}

run_manager()
{
	kill_manager
	$MANAGER
}

run_event()
{
	case "$EVENTOPTION" in
		record)
			EVENTMODE="-r"
			;;
		play)
			EVENTMODE="-s"
			;;
		*)
			echo "Invalid event option!"
			print_usage
			exit 1
			;;
	esac

	$EVENT $EVENTMODE
}

find_unittest()
{
	$FIND `$GETAPPINSTALLPATH | awk '{if (FNR==1) printf $NF}'` -name *.unittest
}

process_list()
{
	ps -eo pid,cmd
}


if test $# -gt 2 -o $# -lt 1; then
	print_usage
	exit 1
fi

if test -n "$2"; then
	case "$1" in
		runevent)
			EVENTOPTION=$2
			;;
#		killapp)
#			APPPATH=$2
#			;;
		*)
			print_usage
			exit 1
			;;
	esac
fi

case "$1" in
	killmanager)
		kill_manager
		;;
#	killapp)
#		kill_app
#		;;
	runmanager)
		run_manager
		;;
	runevent)
		run_event
		;;
	findunittest)
		find_unittest
		;;
	process)
		process_list
		;;
	*)
		echo "Unknown option!"
		print_usage
		;;
esac

