#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin

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

source /etc/tizen-platform.conf
SDK_TOOLS_PATH=${TZ_SDK_TOOLS}

print_usage()
{
	echo "usage: profile_command [options]"
	echo "Options:"
	echo "getprobemap		get da_api_map"
	echo "killmanager		terminate da_manager"
	echo "runmanager		execute da_manager"
	echo "findunittest		find unittest project"
	echo "getversion		get version"
	echo "killvalgrind		kill valgrind process"
}

get_probe_map()
{
        /bin/cat /usr/lib/da_api_map
}

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

run_manager()
{
	kill_manager
	$MANAGER
}

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

process_list()
{
	/bin/ps -ewo pid,cmd
}

get_version()
{
	echo $VERSION
}

kill_valgrind()
{
        /bin/ps ax | /bin/grep "$SDK_TOOLS_PATH/valgrind/usr/bin/valgrin[d]" | /usr/bin/awk '{print "kill -3 " $1}' | /bin/sh
}

if test $# -ne 1 ; then
	print_usage
	exit 1
fi

case "$1" in
	killmanager)
		kill_manager
		;;
	runmanager)
		run_manager
		;;
	findunittest)
		find_unittest
		;;
	process)
		process_list
		;;
	getversion)
		get_version
		;;
	killvalgrind)
		kill_valgrind
		;;
	getprobemap)
		get_probe_map
		;;
	*)
		echo "Unknown option!"
		print_usage
		;;
esac
