summaryrefslogtreecommitdiff
path: root/fastboot/device/variables.cpp
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-09-28 20:15:46 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-09-28 20:15:46 +0000
commit007e52efe002c3864255bf114be2fb9854d3811d (patch)
tree7447316ae8e5db1d24400243374e4b85392ebc8d /fastboot/device/variables.cpp
parentbd9751a387d4b587bd284f2661245504f2a92f26 (diff)
parent4af80901a66ea6b3f62d0b21bb96026ba602eb25 (diff)
Merge "Support fastboot variable 'variant'."
Diffstat (limited to 'fastboot/device/variables.cpp')
-rw-r--r--fastboot/device/variables.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/fastboot/device/variables.cpp b/fastboot/device/variables.cpp
index 002e04349..77cd4bc25 100644
--- a/fastboot/device/variables.cpp
+++ b/fastboot/device/variables.cpp
@@ -74,6 +74,27 @@ bool GetSecure(FastbootDevice* /* device */, const std::vector<std::string>& /*
return true;
}
+bool GetVariant(FastbootDevice* device, const std::vector<std::string>& /* args */,
+ std::string* message) {
+ auto fastboot_hal = device->fastboot_hal();
+ if (!fastboot_hal) {
+ *message = "Fastboot HAL not found";
+ return false;
+ }
+
+ Result ret;
+ auto ret_val = fastboot_hal->getVariant([&](std::string device_variant, Result result) {
+ *message = device_variant;
+ ret = result;
+ });
+ if (!ret_val.isOk() || ret.status != Status::SUCCESS) {
+ *message = "Unable to get device variant";
+ return false;
+ }
+
+ return true;
+}
+
bool GetCurrentSlot(FastbootDevice* device, const std::vector<std::string>& /* args */,
std::string* message) {
std::string suffix = device->GetCurrentSlot();