#!/bin/sh /etc/rc.common
START=99

boot() {
    #logger "discovery:boot"
    start
    return 0
}

APP="discovery"
lock() {
    until [[ -f /tmp/system.initialized && -f /tmp/system.evo.initialized ]]
    do
        #logger -p "user.debug" "$APP$1 $$ : waiting for system to be initialized"
        sleep 5
    done
    while true; do
        if mkdir /var/lock/$APP; then
            #logger -p "user.debug" "$APP$1 $$ : lock"
            break
        else
            #logger -p "user.debug" "$APP$1 $$ : wait"
            usleep 500000
        fi
    done
}

unlock() {
    #logger -p "user.debug" "$APP$1 $$ : unlock"
    rm -rf  /var/lock/$APP
}

start() {
    [ -f /proc/device-tree/lantronix/ftm_mode ] && {
        ftm_mode=`cat /proc/device-tree/lantronix/ftm_mode`
        [ $ftm_mode != "0" ] && return
    }
    enable=`uci get discovery.@configuration[0].State`
    #logger "discovery:start $enable"
    if [[ "$enable" == "1" ]]; then
        /bin/diresponder -p /var/run/diresponder.pid&
    fi
    lock
    ltrx_mhcfgupdate discovery
    unlock
}

stop() {
    #logger "discovery:stop"
    ps | grep -i 'diresponder' | grep -v grep | awk '{print $1}' | xargs kill -9 2>/dev/null
    rm -f  /var/run/diresponder.pid
    rm -f  /tmp/diresponder.info
}
reload() {
    #logger "discovery:reload"
    stop
    start
}

