aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Bellows <greg.bellows@linaro.org>2014-11-11 14:47:05 -0600
committerAlex Bennée <alex.bennee@linaro.org>2015-01-07 11:36:05 +0000
commite88d45767c19cf6e2f4c6f93e633bd62e1f5bd85 (patch)
tree9bb6c38342145b68a3033ab5cbbf2ca9c13dd590
parent02612bb68ac6ddc70062600abe36e683f6c8c3d5 (diff)
downloadqemu-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.h7
-rw-r--r--android-console.c25
-rw-r--r--android-console.h1
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, ...);