# shellcheck    shell=dash disable=SC2154,SC2034
___x_cmd_bwh_iso(){
    [ "$#" -gt 0 ] || {
        ___x_cmd_bwh_info availableos
        return 1
    }

    local op="$1"; shift
    case "$op" in
        mount|unmount|current)      "___x_cmd_bwh_iso_${op}" "$@"   ;;
        ls)                         ___x_cmd_bwh_info availableos   ;;

        -h|--help)                  ___x_cmd_bwh_help iso ;;
        *)                          N=bwh M="Unknown subcmd for ___x_cmd_bwh_iso ==> $op" log:ret:64
    esac
}

___x_cmd_bwh_iso_current(){
    local os
    os=$(___x_cmd_bwh_api getLiveServiceInfo | ___x_cmd jo .os)
    eval printf "%s" "$os"
}

# Section: iso mount
___x_cmd_bwh_iso_mount(){
    [ $# -eq 1 ] || N=bwh M="Require argument as iso image name" log:ret:64
    local iso="${1}"
    local error=; local message=
    local data; data="$( ___x_cmd_bwh_iso_mount___raw "$iso" )"
    ___x_cmd_pipevar data     ___x_cmd jo env . .error .message

    bwh:arg:judge:display:content:yml
}

___x_cmd_bwh_iso_mount___raw(){
    ___x_cmd_bwh_api iso/mount iso="$1"
}
# EndSection

# Section: iso unmount
___x_cmd_bwh_iso_unmount(){
    local X_help_cmd='___x_cmd help -m bwh iso unmount';   help:arg:parse
    local error=; local message=
    local data; data="$( ___x_cmd_bwh_api iso/unmount )"
    ___x_cmd_pipevar data     ___x_cmd jo env . .error .message

    bwh:arg:judge:display:content:yml
}

___x_cmd_bwh_iso_unmount__raw(){
    ___x_cmd_bwh_api iso/unmount
}
# EndSection

