aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Bellows <greg.bellows@linaro.org>2014-11-19 09:09:24 -0600
committerAlex Bennée <alex.bennee@linaro.org>2014-12-19 12:29:39 +0000
commit0b43976dc6ecdbb7a9162656e6e271de3460083a (patch)
treede9e18931bf64a9a8113616875aa17fccccc4dcd
parentd2aadf4429217eee8bec62625708e0cececd20cf (diff)
android-console: Add avd start command
Add Android emulator console "avd start" commmand and associated help messages. Signed-off-by: Greg Bellows <greg.bellows@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
-rw-r--r--android-commands.h7
-rw-r--r--android-console.c18
-rw-r--r--android-console.h1
3 files changed, 26 insertions, 0 deletions
diff --git a/android-commands.h b/android-commands.h
index 6057afc18..ca4052a8c 100644
--- a/android-commands.h
+++ b/android-commands.h
@@ -112,6 +112,13 @@ static mon_cmd_t android_avd_cmds[] = {
.mhandler.cmd = android_console_avd_stop,
},
{
+ .name = "start",
+ .args_type = "",
+ .params = "",
+ .help = "start/restart the virtual device",
+ .mhandler.cmd = android_console_avd_start,
+ },
+ {
.name = "status",
.args_type = "",
.params = "",
diff --git a/android-console.c b/android-console.c
index 37030699e..15e628811 100644
--- a/android-console.c
+++ b/android-console.c
@@ -732,6 +732,7 @@ void android_console_event(Monitor *mon, const QDict *qdict)
enum {
CMD_AVD,
CMD_AVD_STOP,
+ CMD_AVD_START,
CMD_AVD_STATUS,
};
@@ -749,6 +750,9 @@ static const char *avd_help[] = {
/* CMD_AVD_STOP */
"'avd stop' stops the virtual device immediately, use 'avd start' to "
"continue execution",
+ /* CMD_AVD_START */
+ "'avd start' will start or continue the virtual device, use 'avd stop' to "
+ "stop it",
/* CMD_AVD_STATUS */
"'avd status' will indicate whether the virtual device is running or not",
};
@@ -765,6 +769,18 @@ void android_console_avd_stop(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "OK\n");
}
+void android_console_avd_start(Monitor *mon, const QDict *qdict)
+{
+ if (runstate_is_running()) {
+ monitor_printf(mon, "KO: virtual device already running\n");
+ return;
+ }
+
+ qmp_cont(NULL);
+
+ monitor_printf(mon, "OK\n");
+}
+
void android_console_avd_status(Monitor *mon, const QDict *qdict)
{
monitor_printf(mon, "virtual device is %s\n",
@@ -784,6 +800,8 @@ void android_console_avd(Monitor *mon, const QDict *qdict)
if (helptext) {
if (strstr(helptext, "stop")) {
cmd = CMD_AVD_STOP;
+ } else if (strstr(helptext, "start")) {
+ cmd = CMD_AVD_START;
} else if (strstr(helptext, "status")) {
cmd = CMD_AVD_STATUS;
}
diff --git a/android-console.h b/android-console.h
index 9f9d9cb44..36a4090ce 100644
--- a/android-console.h
+++ b/android-console.h
@@ -43,6 +43,7 @@ void android_console_event_text(Monitor *mon, const QDict *qdict);
void android_console_event(Monitor *mon, const QDict *qdict);
void android_console_avd_stop(Monitor *mon, const QDict *qdict);
+void android_console_avd_start(Monitor *mon, const QDict *qdict);
void android_console_avd_status(Monitor *mon, const QDict *qdict);
void android_console_avd(Monitor *mon, const QDict *qdict);