#!/usr/bin/env bash
# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

FUCHSIA_VBOX_SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
source "$FUCHSIA_VBOX_SCRIPT_DIR/env.sh"

usage() {
  cat >&2 <<END
Usage: $(basename $0) build-disk|create|console|start|off|stop|delete|reset|debugvm|help

See $FUCHSIA_SCRIPTS_DIR/vbox/env.sh for configurable environment variables.
END
}

case "$1" in
  # Larger commands are in dedicated script files
  build-disk|create|console)
    cmd=$1
    shift
    exec "${FUCHSIA_VBOX_SCRIPT_DIR}/cmds/${cmd}.sh" "$@"
    ;;

  start)
    shift
    VBoxManage startvm "${FUCHSIA_VBOX_NAME}" "$@"
    ;;
  off|stop)
    shift
    VBoxManage controlvm "${FUCHSIA_VBOX_NAME}" poweroff "$@"
    ;;
  delete)
    VBoxManage controlvm "${FUCHSIA_VBOX_NAME}" poweroff
    VBoxManage unregistervm "${FUCHSIA_VBOX_NAME}" --delete
    ;;
  reset)
    shift
    VBoxManage controlvm "${FUCHSIA_VBOX_NAME}" reset "$@"
    ;;

  ctrl|control)
    shift
    VBoxManage controlvm "${FUCHSIA_VBOX_NAME}" "$@"
    ;;

  debugvm)
    shift
    VBoxManage debugvm "${FUCHSIA_VBOX_NAME}" "$@"
    ;;

  -h|--help|help|*)
    usage
    ;;
esac
