diff options
Diffstat (limited to 'fastboot/device/variables.cpp')
-rw-r--r-- | fastboot/device/variables.cpp | 21 |
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(); |