#!/bin/bash -

# Copyright (C) MOXA Inc. All rights reserved.
# This software is distributed under the terms of the MOXA SOFTWARE NOTICE.
# See the file MOXA-SOFTWARE-NOTICE for details.
#
# Name:
#	MOXA Bootloader Log Utility
#
# Description:
#	Get MOXA Bootloader Log
#
# Copyright (C) Moxa, Inc. All rights reserved.
# Copyright (C) 2022	Henry LC Chen	<HenryLC.Chen@moxa.com>

BASENAME="mx-bootloader-info-tool"
INTERFACE_NAME="mx-bootloader-mgmt info"

DEFAULT_INFO_PATH=/etc/moxa-bootloader.info

_logger() {
	echo "$1"
	logger -i -t $BASENAME "$1"
}

usage() {
	echo "Get Bootloader Information"
	echo
	echo "USAGE:"
	echo "    $INTERFACE_NAME [SUBCOMMAND]"
	echo
	echo "FLAGS:"
	echo "    -h, --help                 Display the help menu"
	echo
	echo "SUBCOMMANDS:"
	echo "    all                        Print all bootloader information"
	echo "    uboot-ver                  Print uboot version"
	echo
}

_print_info(){
	cat "$DEFAULT_INFO_PATH"
}

_print_version()
{
	 grep version "$DEFAULT_INFO_PATH" | awk '{print $3}'
}

print(){
	_logger "Bootloader log:"
	_echo_flash_data "$DEFAULT_LOG_DEV"
}

parsing_options() {
	while [ -n "$1" ]; do
		case "$1" in
		-a | --all | all)
			action=all
			shift
			;;
		--uboot-ver | uboot-ver)
			action=version
			shift
			;;
		-h | --help | help)
			usage
			exit 0
			;;
		*)
			usage
			exit 1
		esac
	done

	if [ -z "$action" ]; then
		return 1
	fi

	return 0
}

main() {
	if ! parsing_options "$@"; then
		usage
		exit 1
	fi

	case "$action" in
	all)
		_print_info
		;;
	version)
		_print_version
		;;
	*)
		;;
	esac

	return 0
}

main "$@"
