#!/bin/sh

DIR="/opt/bitdefender"
BIN_DIR="$DIR/bin"
SCRIPTS_DIR="$DIR/share/scripts"

source "${SCRIPTS_DIR}/lib/utils.sh"

export PATH="$BIN_DIR:$PATH"

start_services() {
    if ! "$SCRIPTS_DIR"/bd_seal_init.sh start 2> /tmp/bdtmp/log/bd_seal_init.log; then
        exit 1
    fi

    sh $SCRIPTS_DIR/bd_init_fw.sh start

    ulimit -s 128
    run $BIN_DIR/bdcrashd -start
    run $BIN_DIR/bdsetter -start
    run $BIN_DIR/bdexchanged -start
    run $BIN_DIR/bdcloudd -start
    run $BIN_DIR/bdboxsettings -start
    run $BIN_DIR/bddevicediscovery -start
    run $BIN_DIR/bdbrokerd -start
    run $BIN_DIR/bdvad -start
    run $BIN_DIR/bdgusterupdd -start
    run $BIN_DIR/bdgusterd -start
    run $BIN_DIR/bdheartbeatd -start

    create_bdagent_mark
}

stop_services() {
    sh $SCRIPTS_DIR/bd_init_fw.sh stop

    {
        run $BIN_DIR/bdheartbeatd -stop &
        run $BIN_DIR/bdgusterd -stop &
        run $BIN_DIR/bdgusterupdd -stop &
        run $BIN_DIR/bdvad -stop &
        run $BIN_DIR/bdbrokerd -stop &
        run $BIN_DIR/bddevicediscovery -stop &
        run $BIN_DIR/bdboxsettings -stop &
        run $BIN_DIR/bdcloudd -stop &
    } > /dev/null
    wait

    {
        run $BIN_DIR/bdexchanged -stop &
        run $BIN_DIR/bdsetter -stop &
    } > /dev/null
    wait

    run $BIN_DIR/bdcrashd -stop

    delete_bdagent_mark
}

skel_init

case "$1" in
    start)
        start_services 2> /dev/null
    ;;
    stop)
        stop_services 2> /dev/null
    ;;
    *)
        echo "Usage: $0 <start|stop>"
        exit 1
    ;;
esac

exit 0
