From 93fd003b74c11729977709e606660b7d3ec18ab8 Mon Sep 17 00:00:00 2001 From: Greg Bellows Date: Tue, 18 Nov 2014 16:47:39 -0600 Subject: android-console: Add avd status command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Android emulator console "avd status" commmand and associated help messages. Signed-off-by: Greg Bellows Reviewed-by: Alex Bennée --- android-commands.h | 7 +++++++ android-console.c | 18 ++++++++++++++++++ android-console.h | 1 + 3 files changed, 26 insertions(+) diff --git a/android-commands.h b/android-commands.h index abd798a80..99dd54200 100644 --- a/android-commands.h +++ b/android-commands.h @@ -104,6 +104,13 @@ static mon_cmd_t android_event_cmds[] = { }; static mon_cmd_t android_avd_cmds[] = { + { + .name = "status", + .args_type = "", + .params = "", + .help = "query virtual device status", + .mhandler.cmd = android_console_avd_status, + }, { NULL, NULL, }, }; diff --git a/android-console.c b/android-console.c index 8875824bf..029dea78a 100644 --- a/android-console.c +++ b/android-console.c @@ -23,6 +23,7 @@ #include "qmp-commands.h" #include "hw/misc/goldfish_battery.h" #include "hw/input/goldfish_events.h" +#include "sysemu/sysemu.h" typedef struct { int is_udp; @@ -729,6 +730,7 @@ void android_console_event(Monitor *mon, const QDict *qdict) enum { CMD_AVD, + CMD_AVD_STATUS, }; static const char *avd_help[] = { @@ -742,8 +744,18 @@ static const char *avd_help[] = { " avd status query virtual device status\n" " avd name query virtual device name\n" " avd snapshot state snapshot commands\n", + /* CMD_AVD_STATUS */ + "'avd status' will indicate whether the virtual device is running or not", }; +void android_console_avd_status(Monitor *mon, const QDict *qdict) +{ + monitor_printf(mon, "virtual device is %s\n", + runstate_is_running() ? "running" : "stopped"); + + monitor_printf(mon, "OK\n"); +} + void android_console_avd(Monitor *mon, const QDict *qdict) { /* This only gets called for bad subcommands and help requests */ @@ -752,6 +764,12 @@ void android_console_avd(Monitor *mon, const QDict *qdict) /* Default to the first entry which is the parent help message */ int cmd = CMD_AVD; + if (helptext) { + if (strstr(helptext, "status")) { + cmd = CMD_AVD_STATUS; + } + } + /* If this is not a help request then we are here with a bad sub-command */ monitor_printf(mon, "%s\n%s\n", avd_help[cmd], helptext ? "OK" : "KO: missing sub-command"); diff --git a/android-console.h b/android-console.h index 67a1bf6e7..49b9e907c 100644 --- a/android-console.h +++ b/android-console.h @@ -42,6 +42,7 @@ void android_console_event_send(Monitor *mon, const QDict *qdict); void android_console_event_text(Monitor *mon, const QDict *qdict); void android_console_event(Monitor *mon, const QDict *qdict); +void android_console_avd_status(Monitor *mon, const QDict *qdict); void android_console_avd(Monitor *mon, const QDict *qdict); void android_monitor_print_error(Monitor *mon, const char *fmt, ...); -- cgit v1.2.3