diff options
author | Greg Bellows <greg.bellows@linaro.org> | 2014-11-11 14:47:05 -0600 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2015-01-07 11:36:05 +0000 |
commit | e88d45767c19cf6e2f4c6f93e633bd62e1f5bd85 (patch) | |
tree | 9bb6c38342145b68a3033ab5cbbf2ca9c13dd590 | |
parent | 02612bb68ac6ddc70062600abe36e683f6c8c3d5 (diff) | |
download | qemu-android-e88d45767c19cf6e2f4c6f93e633bd62e1f5bd85.tar.gz |
android-console: Add power ac command
Add the Android emulator console "power ac" along with the associated help
messages. The "ac" command allows the power supply state of the device to be
manipulated.
Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
---
v2 -> v3
- Add missing "OK" messages
-rw-r--r-- | android-commands.h | 7 | ||||
-rw-r--r-- | android-console.c | 25 | ||||
-rw-r--r-- | android-console.h | 1 |
3 files changed, 33 insertions, 0 deletions
diff --git a/android-commands.h b/android-commands.h index 67e3c4634d..e770fcfaec 100644 --- a/android-commands.h +++ b/android-commands.h @@ -33,6 +33,13 @@ static mon_cmd_t android_power_cmds[] = { .help = "display battery and charger state", .mhandler.cmd = android_console_power_display, }, + { + .name = "ac", + .args_type = "arg:s?", + .params = "", + .help = "set AC charging state", + .mhandler.cmd = android_console_power_ac, + }, { NULL, NULL, }, }; diff --git a/android-console.c b/android-console.c index b1d1389cef..999f84d7d0 100644 --- a/android-console.c +++ b/android-console.c @@ -314,9 +314,30 @@ void android_console_power_display(Monitor *mon, const QDict *qdict) monitor_printf(mon, "OK\n"); } +void android_console_power_ac(Monitor *mon, const QDict *qdict) +{ + const char *arg = qdict_get_try_str(qdict, "arg"); + + if (arg) { + if (strcasecmp(arg, "on") == 0) { + goldfish_battery_set_prop(1, POWER_SUPPLY_PROP_ONLINE, 1); + monitor_printf(mon, "OK\n"); + return; + } + if (strcasecmp(arg, "off") == 0) { + goldfish_battery_set_prop(1, POWER_SUPPLY_PROP_ONLINE, 0); + monitor_printf(mon, "OK\n"); + return; + } + } + + monitor_printf(mon, "KO: Usage: \"ac on\" or \"ac off\"\n"); +} + enum { CMD_POWER, CMD_POWER_DISPLAY, + CMD_POWER_AC, }; static const char *power_help[] = { @@ -332,6 +353,8 @@ static const char *power_help[] = { " power capacity set battery capacity state\n", /* CMD_POWER_DISPLAY */ "display battery and charger state", + /* CMD_POWER_AC */ + "'ac on|off' allows you to set the AC charging state to on or off", }; void android_console_power(Monitor *mon, const QDict *qdict) @@ -345,6 +368,8 @@ void android_console_power(Monitor *mon, const QDict *qdict) if (helptext) { if (strstr(helptext, "display")) { cmd = CMD_POWER_DISPLAY; + } else if (strstr(helptext, "ac")) { + cmd = CMD_POWER_AC; } } diff --git a/android-console.h b/android-console.h index 44ff11b010..458f44c5c5 100644 --- a/android-console.h +++ b/android-console.h @@ -29,6 +29,7 @@ void android_console_redir_add(Monitor *mon, const QDict *qdict); void android_console_redir_del(Monitor *mon, const QDict *qdict); void android_console_power_display(Monitor *mon, const QDict *qdict); +void android_console_power_ac(Monitor *mon, const QDict *qdict); void android_console_power(Monitor *mon, const QDict *qdict); void android_monitor_print_error(Monitor *mon, const char *fmt, ...); |