wifi: Make methods deliver status synchronously (3/3)
Make all the |IWifiIface|/|IWifiRttController| HIDL interface
methods return a synchronous status code. Change from using the event
callbacks to the synchronous callbacks for delivering status.
While there,
Use the default std::string to hidl_string constructor in status
callbacks.
Bug: 32056230
Bug: 32061909
Test: Compiles
Change-Id: Ifa06a11afb085bfd6684f7b997fb730d192018ea
diff --git a/wifi/1.0/default/wifi_rtt_controller.cpp b/wifi/1.0/default/wifi_rtt_controller.cpp
index e2df1a8..c0d0a00 100644
--- a/wifi/1.0/default/wifi_rtt_controller.cpp
+++ b/wifi/1.0/default/wifi_rtt_controller.cpp
@@ -18,7 +18,7 @@
#include <android-base/logging.h>
-#include "failure_reason_util.h"
+#include "wifi_status_util.h"
namespace android {
namespace hardware {
@@ -36,8 +36,14 @@
is_valid_ = false;
}
-Return<void> WifiRttController::getBoundIface(getBoundIface_cb cb) {
- cb(bound_iface_);
+Return<void> WifiRttController::getBoundIface(getBoundIface_cb hidl_status_cb) {
+ if (!is_valid_) {
+ hidl_status_cb(
+ createWifiStatus(WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID),
+ nullptr);
+ return Void();
+ }
+ hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), bound_iface_);
return Void();
}