wifi: Use hidl_return_util functions in Iface/Rtt
Modify the WifiIface & WifiRttController methods to the use the new helper
functions.
Bug: 32337072
Test: Compiles
Change-Id: I8ce5450f3012ea3ad699db3c780c0bf985492aad
diff --git a/wifi/1.0/default/wifi_ap_iface.cpp b/wifi/1.0/default/wifi_ap_iface.cpp
index 1b59b18..8c38946 100644
--- a/wifi/1.0/default/wifi_ap_iface.cpp
+++ b/wifi/1.0/default/wifi_ap_iface.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "wifi_ap_iface.h"
-
#include <android-base/logging.h>
+#include "hidl_return_util.h"
+#include "wifi_ap_iface.h"
#include "wifi_status_util.h"
namespace android {
@@ -25,6 +25,7 @@
namespace wifi {
namespace V1_0 {
namespace implementation {
+using hidl_return_util::validateAndCall;
WifiApIface::WifiApIface(const std::string& ifname,
const std::weak_ptr<WifiLegacyHal> legacy_hal)
@@ -35,24 +36,30 @@
is_valid_ = false;
}
+bool WifiApIface::isValid() {
+ return is_valid_;
+}
+
Return<void> WifiApIface::getName(getName_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- hidl_string());
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), ifname_);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiApIface::getNameInternal,
+ hidl_status_cb);
}
Return<void> WifiApIface::getType(getType_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- IfaceType::AP);
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::AP);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiApIface::getTypeInternal,
+ hidl_status_cb);
+}
+
+std::pair<WifiStatus, std::string> WifiApIface::getNameInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
+}
+
+std::pair<WifiStatus, IfaceType> WifiApIface::getTypeInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::AP};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_ap_iface.h b/wifi/1.0/default/wifi_ap_iface.h
index 1382112..458bdda 100644
--- a/wifi/1.0/default/wifi_ap_iface.h
+++ b/wifi/1.0/default/wifi_ap_iface.h
@@ -37,12 +37,17 @@
const std::weak_ptr<WifiLegacyHal> legacy_hal);
// Refer to |WifiChip::invalidate()|.
void invalidate();
+ bool isValid();
// HIDL methods exposed.
Return<void> getName(getName_cb hidl_status_cb) override;
Return<void> getType(getType_cb hidl_status_cb) override;
private:
+ // Corresponding worker functions for the HIDL methods.
+ std::pair<WifiStatus, std::string> getNameInternal();
+ std::pair<WifiStatus, IfaceType> getTypeInternal();
+
std::string ifname_;
std::weak_ptr<WifiLegacyHal> legacy_hal_;
bool is_valid_;
diff --git a/wifi/1.0/default/wifi_nan_iface.cpp b/wifi/1.0/default/wifi_nan_iface.cpp
index da15cf6..c018e67 100644
--- a/wifi/1.0/default/wifi_nan_iface.cpp
+++ b/wifi/1.0/default/wifi_nan_iface.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "wifi_nan_iface.h"
-
#include <android-base/logging.h>
+#include "hidl_return_util.h"
+#include "wifi_nan_iface.h"
#include "wifi_status_util.h"
namespace android {
@@ -25,6 +25,7 @@
namespace wifi {
namespace V1_0 {
namespace implementation {
+using hidl_return_util::validateAndCall;
WifiNanIface::WifiNanIface(const std::string& ifname,
const std::weak_ptr<WifiLegacyHal> legacy_hal)
@@ -35,24 +36,30 @@
is_valid_ = false;
}
+bool WifiNanIface::isValid() {
+ return is_valid_;
+}
+
Return<void> WifiNanIface::getName(getName_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- hidl_string());
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), ifname_);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiNanIface::getNameInternal,
+ hidl_status_cb);
}
Return<void> WifiNanIface::getType(getType_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- IfaceType::NAN);
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::NAN);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiNanIface::getTypeInternal,
+ hidl_status_cb);
+}
+
+std::pair<WifiStatus, std::string> WifiNanIface::getNameInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
+}
+
+std::pair<WifiStatus, IfaceType> WifiNanIface::getTypeInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::NAN};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_nan_iface.h b/wifi/1.0/default/wifi_nan_iface.h
index a97c38a..31e0c7f 100644
--- a/wifi/1.0/default/wifi_nan_iface.h
+++ b/wifi/1.0/default/wifi_nan_iface.h
@@ -37,12 +37,17 @@
const std::weak_ptr<WifiLegacyHal> legacy_hal);
// Refer to |WifiChip::invalidate()|.
void invalidate();
+ bool isValid();
// HIDL methods exposed.
Return<void> getName(getName_cb hidl_status_cb) override;
Return<void> getType(getType_cb hidl_status_cb) override;
private:
+ // Corresponding worker functions for the HIDL methods.
+ std::pair<WifiStatus, std::string> getNameInternal();
+ std::pair<WifiStatus, IfaceType> getTypeInternal();
+
std::string ifname_;
std::weak_ptr<WifiLegacyHal> legacy_hal_;
bool is_valid_;
diff --git a/wifi/1.0/default/wifi_p2p_iface.cpp b/wifi/1.0/default/wifi_p2p_iface.cpp
index 9ffb48c..65258ba 100644
--- a/wifi/1.0/default/wifi_p2p_iface.cpp
+++ b/wifi/1.0/default/wifi_p2p_iface.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "wifi_p2p_iface.h"
-
#include <android-base/logging.h>
+#include "hidl_return_util.h"
+#include "wifi_p2p_iface.h"
#include "wifi_status_util.h"
namespace android {
@@ -25,6 +25,7 @@
namespace wifi {
namespace V1_0 {
namespace implementation {
+using hidl_return_util::validateAndCall;
WifiP2pIface::WifiP2pIface(const std::string& ifname,
const std::weak_ptr<WifiLegacyHal> legacy_hal)
@@ -35,24 +36,30 @@
is_valid_ = false;
}
+bool WifiP2pIface::isValid() {
+ return is_valid_;
+}
+
Return<void> WifiP2pIface::getName(getName_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- hidl_string());
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), ifname_);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiP2pIface::getNameInternal,
+ hidl_status_cb);
}
Return<void> WifiP2pIface::getType(getType_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- IfaceType::P2P);
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::P2P);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiP2pIface::getTypeInternal,
+ hidl_status_cb);
+}
+
+std::pair<WifiStatus, std::string> WifiP2pIface::getNameInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
+}
+
+std::pair<WifiStatus, IfaceType> WifiP2pIface::getTypeInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::P2P};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_p2p_iface.h b/wifi/1.0/default/wifi_p2p_iface.h
index ba02212..d4656e1 100644
--- a/wifi/1.0/default/wifi_p2p_iface.h
+++ b/wifi/1.0/default/wifi_p2p_iface.h
@@ -37,12 +37,17 @@
const std::weak_ptr<WifiLegacyHal> legacy_hal);
// Refer to |WifiChip::invalidate()|.
void invalidate();
+ bool isValid();
// HIDL methods exposed.
Return<void> getName(getName_cb hidl_status_cb) override;
Return<void> getType(getType_cb hidl_status_cb) override;
private:
+ // Corresponding worker functions for the HIDL methods.
+ std::pair<WifiStatus, std::string> getNameInternal();
+ std::pair<WifiStatus, IfaceType> getTypeInternal();
+
std::string ifname_;
std::weak_ptr<WifiLegacyHal> legacy_hal_;
bool is_valid_;
diff --git a/wifi/1.0/default/wifi_rtt_controller.cpp b/wifi/1.0/default/wifi_rtt_controller.cpp
index c0d0a00..b7eab89 100644
--- a/wifi/1.0/default/wifi_rtt_controller.cpp
+++ b/wifi/1.0/default/wifi_rtt_controller.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "wifi_rtt_controller.h"
-
#include <android-base/logging.h>
+#include "hidl_return_util.h"
+#include "wifi_rtt_controller.h"
#include "wifi_status_util.h"
namespace android {
@@ -25,6 +25,7 @@
namespace wifi {
namespace V1_0 {
namespace implementation {
+using hidl_return_util::validateAndCall;
WifiRttController::WifiRttController(
const sp<IWifiIface>& bound_iface,
@@ -36,15 +37,20 @@
is_valid_ = false;
}
+bool WifiRttController::isValid() {
+ return is_valid_;
+}
+
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();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
+ &WifiRttController::getBoundIfaceInternal,
+ hidl_status_cb);
+}
+
+std::pair<WifiStatus, sp<IWifiIface>>
+WifiRttController::getBoundIfaceInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), bound_iface_};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_rtt_controller.h b/wifi/1.0/default/wifi_rtt_controller.h
index 51b1557..afb6a00 100644
--- a/wifi/1.0/default/wifi_rtt_controller.h
+++ b/wifi/1.0/default/wifi_rtt_controller.h
@@ -38,11 +38,15 @@
const std::weak_ptr<WifiLegacyHal> legacy_hal);
// Refer to |WifiChip::invalidate()|.
void invalidate();
+ bool isValid();
// HIDL methods exposed.
Return<void> getBoundIface(getBoundIface_cb hidl_status_cb) override;
private:
+ // Corresponding worker functions for the HIDL methods.
+ std::pair<WifiStatus, sp<IWifiIface>> getBoundIfaceInternal();
+
sp<IWifiIface> bound_iface_;
std::weak_ptr<WifiLegacyHal> legacy_hal_;
bool is_valid_;
diff --git a/wifi/1.0/default/wifi_sta_iface.cpp b/wifi/1.0/default/wifi_sta_iface.cpp
index e3ae111..83bd28d 100644
--- a/wifi/1.0/default/wifi_sta_iface.cpp
+++ b/wifi/1.0/default/wifi_sta_iface.cpp
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-#include "wifi_sta_iface.h"
-
#include <android-base/logging.h>
+#include "hidl_return_util.h"
+#include "wifi_sta_iface.h"
#include "wifi_status_util.h"
namespace android {
@@ -25,6 +25,7 @@
namespace wifi {
namespace V1_0 {
namespace implementation {
+using hidl_return_util::validateAndCall;
WifiStaIface::WifiStaIface(const std::string& ifname,
const std::weak_ptr<WifiLegacyHal> legacy_hal)
@@ -35,24 +36,30 @@
is_valid_ = false;
}
+bool WifiStaIface::isValid() {
+ return is_valid_;
+}
+
Return<void> WifiStaIface::getName(getName_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- hidl_string());
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), ifname_);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::getNameInternal,
+ hidl_status_cb);
}
Return<void> WifiStaIface::getType(getType_cb hidl_status_cb) {
- if (!is_valid_) {
- hidl_status_cb(createWifiStatus(WifiStatusCode::ERROR_WIFI_IFACE_INVALID),
- IfaceType::STA);
- return Void();
- }
- hidl_status_cb(createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::STA);
- return Void();
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::getTypeInternal,
+ hidl_status_cb);
+}
+
+std::pair<WifiStatus, std::string> WifiStaIface::getNameInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
+}
+
+std::pair<WifiStatus, IfaceType> WifiStaIface::getTypeInternal() {
+ return {createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::STA};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_sta_iface.h b/wifi/1.0/default/wifi_sta_iface.h
index 29c5f06..6303305 100644
--- a/wifi/1.0/default/wifi_sta_iface.h
+++ b/wifi/1.0/default/wifi_sta_iface.h
@@ -37,12 +37,17 @@
const std::weak_ptr<WifiLegacyHal> legacy_hal);
// Refer to |WifiChip::invalidate()|.
void invalidate();
+ bool isValid();
// HIDL methods exposed.
Return<void> getName(getName_cb hidl_status_cb) override;
Return<void> getType(getType_cb hidl_status_cb) override;
private:
+ // Corresponding worker functions for the HIDL methods.
+ std::pair<WifiStatus, std::string> getNameInternal();
+ std::pair<WifiStatus, IfaceType> getTypeInternal();
+
std::string ifname_;
std::weak_ptr<WifiLegacyHal> legacy_hal_;
bool is_valid_;