#!/usr/local/bin/cbsd
#v11.1.12
globalconf="${workdir}/cbsd.conf";
CBSDMODULE="xen"
MYARG="jname"
MYOPTARG="mode"
MYDESC="Configure XEN domain"
ADDHELP="mode=list for list of jails external command\n"
EXTHELP="wf_jconfig.html"

set -e
. ${globalconf}
set +e

. ${subr}
. ${strings}
. ${tools}

[ -z "${1}" ] && select_jail_by_list -s "List of local VMs" -e xls -a "Off|On"

init $*

shift  # todo: jname and cmd may have reverse order

. ${jrcconf}
[ $? -eq 1 ] && err 1 "${MAGENTA}No such vm: ${GREEN}${jname}${NORMAL}"
[ "${emulator}" != "xen" ] && err 1 "${MAGENTA}Only for xen type VMs${NORMAL}"

CMDDIR="${jailsysdir}/${jname}/bin/"

if [ "${mode}" = "list" ]; then
	${ECHO} "${MAGENTA}Configure command available: ${GREEN}xconfig jname=${jname} <cmd>:${NORMAL}"
	[ -d "${CMDDIR}" ] && find ${CMDDIR} -type f -depth 1 -maxdepth 1 -exec basename {} \;
	exit 0
fi

[ -z "${cmd}" ] && cmd=${1}

shift
cfgargs="$@"

if [ -z "${cmd}" ]; then
	xsetup-tui jname=${jname} vm_ram vm_cpus astart ip4_addr vm_boot vm_iso_path vm_vnc_port protected hidden \
	cd_vnc_wait xen_vnc_resolution xen_vnc_tcp_bind vnc_password
elif [ -f "${CMDDIR}${cmd}" ]; then
	. ${CMDDIR}${cmd}
	myconf ${cfgargs}
fi
