#!/bin/bash
#
# Simulate legac  upg_environment command on a yocto platform
# Compatibility scripts for apps. 
#
#

ENV_USER_FILE="/cal/uboot_env_user.txt"

function usage() 
{
    echo $0
    echo "g <name>"
    echo "G <name>"
    echo "s <name>"
    echo "S <name>"
    echo "l <name>"
    echo "L <name>"
}


function setVariable()
{    
    # La variable est dans l'environement du boot
    fw_setenv $1 $2
}

function getVariable()
{
    SEARCH_VARIABLE=$(fw_printenv $1 2> /dev/null)
    if  [ "$SEARCH_VARIABLE" == "" ] ; then
        echo ""
    else
        echo $(echo $SEARCH_VARIABLE | cut -d '=' -f 2) && return 0
    fi
}


#
# List u-boot env variables and display them in stdout
#
function listVariable()
{
    fw_printenv
}

if [ "${1,,}" == "s" ] ; then
    # set a variable or delete one if no value is set
    if [ $# -lt 2 ] ; then
        usage
        exit 1
    fi
    VAR_NAME=$2
    VAR_VALUE=''
    if [ $# -le 3 ] ; then        
        VAR_VALUE=$3
    fi
    setVariable $VAR_NAME $VAR_VALUE
elif [ "${1,,}" == "g" ] ; then
    if [ $# -ne 2 ] ; then
        usage
        exit 1
    fi
    getVariable $2
elif [ "${1,,}" == "l" ] ; then
    listVariable
else
    usage
    exit 1
fi
exit 0
