#!/bin/bash

#================================================================================
# Инициализация
#================================================================================

# Определяем местоположение скрипта
SCRIPT_PATH=$(dirname "$(readlink -f "$0")")
# Импортируем константы
source $SCRIPT_PATH/console_colors
source $SCRIPT_PATH/switch_constants
source $SCRIPT_PATH/switch-dbus-functions

#================================================================================
# Функции
#================================================================================
## checkModuleAvailable
## @brief - Функция вернёт признак поддерживаемости модуля
## @param $1 - Имя проверяемого модуля
## @return Вернёт булиево значение поддерживаемости модуля
function checkModuleAvailable() {
    [[ "$(switchGetAvailable $1)" == 'true' ]]
}

## print_module_exists
## @brief - Функция напечатает текущий статус существования модуля
## @param $1 - Имя модуля
function printModuleExists() {
    echo -e -n "${STATUS_TEXT} Module $1 "
    if $(checkModuleAvailable "$1"); then echo -e "${Green}available${Color_Off}."; else echo -e "${Red}not available${Color_Off}."; fi
}

## checkModuleBloking
## @brief - Функция вернёт признак блокировки модуля
## @param $1 - Имя проверяемого модуля
## @return Вернёт булиево значение блокировки модуля
function checkModuleBloking() {
    [[ "$(switchGetBloking $1)" == 'true' ]]
}

## printModuleStatus
## @brief - Функция напечатает текущий статус блокировки модуля
## @param $1 - Имя проверяемого модуля
function printModuleStatus() {
    echo -e -n "${STATUS_TEXT} Module $1 "
    if $(checkModuleBloking "$1"); then echo -e "${Red}is bloked${Color_Off}."; else echo -e "${Green}isn't bloked${Color_Off}."; fi
}

## printHelp
## @brief - Функция напечатает help
## @param $1 - Имя модуля
function printHelp() {
    local SCRIPT_NAME=$(echo "switch_$1_module" | tr '[:upper:]' '[:lower:]')

    echo "============================================================"
    echo -e ${Cyan}"Synopsis${Color_Off}"
    echo "============================================================"
    echo "# $SCRIPT_NAME [COMMAND]"
    echo ""
    echo "Show this help:"
    echo "# $SCRIPT_NAME $MODE_HELP"
    echo ""
    echo "============================================================"
    echo -e "${Green}Check module available${Color_Off}"
    echo "============================================================"
    echo "Example of check module available:"
    echo "# $SCRIPT_NAME $MODE_EXISTS"
    echo ""
    echo "============================================================"
    echo -e "${Green}Enable blocking${Color_Off}"
    echo "============================================================"
    echo "Example of enable blocking:"
    echo "# $SCRIPT_NAME $MODE_ON"
    echo ""
    echo "============================================================"
    echo -e "${Green}Disable blocking${Color_Off}"
    echo "============================================================"
    echo "Example of disable blocking:"
    echo "# $SCRIPT_NAME $MODE_OFF"
    echo ""
    echo "============================================================"
    echo -e "${Green}Check blocking status${Color_Off}"
    echo "============================================================"
    echo "Example of check blocking status:"
    echo "# $SCRIPT_NAME $MODE_STATUS"
    echo ""
}
#================================================================================
