#!/bin/sh
#
# TP_delay command script written by Jerry ZHOU
# designed to:
#	- manually set the press release time delay for high light function of dial panel
#
# Changelog:
#	- Thu Oct 18 2012 - Jerry ZHOU <jerry.zhou@alcatel-lucent.com>
#	* Fix crms00402263: script creation
#
#
### constants used ###

version="1.00"
min_input_entries=1
proc_delaytime_entry="/proc/evdev/delaytime"
tool="TP_delay"
LOGGER=$(which logger)
retval=1

### main function ###
logerror() {
	# Set a syslog message as well as a one on the console
	$LOGGER -t "TP_delay" -p local0.emerg -s "$1"
}

usage() {
	echo "Usage: $tool [get]"
	echo "        .. [set <number_value>]"
	echo "        .. [help]"
	echo ""
	echo "Arguments:"
	echo "  - get: get the TP press delay time (us). If not the right kernel RPM be installed, it will report error."
	echo "  - set <number_value>: get the TP press delay time (us). If not the right kernel RPM be installed, it will report error."
	echo "  - version: display the current tool's version."
	echo "  - help: display this menu."
}

get_TP_delay() {
    local ret value

    if [[ -f $proc_delaytime_entry ]]; then
        value="`cat $proc_delaytime_entry`"
        echo "TP_delay: $value"
        ret=0
    else
        logerror "get value failed, please check if the right linux RPM has been installed"
        ret=1
    fi

    return $ret
}

set_TP_delay() {
    local ret value=$1

    ret=`expr match $value "[0-9][0-9]*$"`
    if [[ $ret -gt 0 ]]; then
        if [[ -f $proc_delaytime_entry ]]; then
            CLISettings set LOCAL ADMCFG_PRESS_DELAY_DURATION $value
            echo $value > $proc_delaytime_entry
            ret=0
        else
            logerror "set value failed, please check if the right linux RPM has been installed"
            ret=1
        fi
    else
        logerror "invalid setting value, only number is accept"
        ret=1
    fi

    return $ret
}

# check args
if [ $# -lt $min_input_entries ]; then
	logerror "Too few paramters set!!!"
	usage
	exit 1
fi

# parse the options
case $1 in
	"get") get_TP_delay; retval=$?;;
	"set") set_TP_delay "$2"; retval=$?;;
	"version")  echo "$tool version $version"; exit 0;;
	"help") usage; exit 0;;
	*) echo "Unrecognized option $1"; usage; exit 1;;
esac

if [ $retval -ne 0 ]; then
	logerror "$tool KO"
	exit 2
fi

echo "$tool OK"
exit 0
