diff --git a/wifi/1.0/default/wifi_ap_iface.cpp b/wifi/1.0/default/wifi_ap_iface.cpp index aded04d194..1b59b18ae3 100644 --- a/wifi/1.0/default/wifi_ap_iface.cpp +++ b/wifi/1.0/default/wifi_ap_iface.cpp @@ -18,7 +18,7 @@ #include -#include "failure_reason_util.h" +#include "wifi_status_util.h" namespace android { namespace hardware { @@ -35,15 +35,24 @@ void WifiApIface::invalidate() { is_valid_ = false; } -Return WifiApIface::getName(getName_cb cb) { - hidl_string hidl_ifname; - hidl_ifname.setToExternal(ifname_.c_str(), ifname_.size()); - cb(hidl_ifname); +Return 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 WifiApIface::getType() { - return IfaceType::AP; +Return 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(); } } // namespace implementation diff --git a/wifi/1.0/default/wifi_ap_iface.h b/wifi/1.0/default/wifi_ap_iface.h index b95a3d8ed6..1382112892 100644 --- a/wifi/1.0/default/wifi_ap_iface.h +++ b/wifi/1.0/default/wifi_ap_iface.h @@ -39,8 +39,8 @@ class WifiApIface : public IWifiApIface { void invalidate(); // HIDL methods exposed. - Return getName(getName_cb cb) override; - Return getType() override; + Return getName(getName_cb hidl_status_cb) override; + Return getType(getType_cb hidl_status_cb) override; private: std::string ifname_; diff --git a/wifi/1.0/default/wifi_legacy_hal.cpp b/wifi/1.0/default/wifi_legacy_hal.cpp index 553a058135..65c078287a 100644 --- a/wifi/1.0/default/wifi_legacy_hal.cpp +++ b/wifi/1.0/default/wifi_legacy_hal.cpp @@ -16,8 +16,8 @@ #include -#include "failure_reason_util.h" #include "wifi_legacy_hal.h" +#include "wifi_status_util.h" #include #include @@ -188,7 +188,7 @@ wifi_error WifiLegacyHal::retrieveWlanInterfaceHandle() { global_handle_, &num_iface_handles, &iface_handles); if (status != WIFI_SUCCESS) { LOG(ERROR) << "Failed to enumerate interface handles: " - << LegacyErrorToString(status); + << legacyErrorToString(status); return status; } for (int i = 0; i < num_iface_handles; ++i) { @@ -198,7 +198,7 @@ wifi_error WifiLegacyHal::retrieveWlanInterfaceHandle() { iface_handles[i], current_ifname.data(), current_ifname.size()); if (status != WIFI_SUCCESS) { LOG(WARNING) << "Failed to get interface handle name: " - << LegacyErrorToString(status); + << legacyErrorToString(status); continue; } if (ifname_to_find == current_ifname.data()) { diff --git a/wifi/1.0/default/wifi_legacy_hal.h b/wifi/1.0/default/wifi_legacy_hal.h index 3585975b10..367ff15d24 100644 --- a/wifi/1.0/default/wifi_legacy_hal.h +++ b/wifi/1.0/default/wifi_legacy_hal.h @@ -19,6 +19,7 @@ #include #include +#include #include diff --git a/wifi/1.0/default/wifi_nan_iface.cpp b/wifi/1.0/default/wifi_nan_iface.cpp index 3c7ae4b8cf..da15cf6f5a 100644 --- a/wifi/1.0/default/wifi_nan_iface.cpp +++ b/wifi/1.0/default/wifi_nan_iface.cpp @@ -18,7 +18,7 @@ #include -#include "failure_reason_util.h" +#include "wifi_status_util.h" namespace android { namespace hardware { @@ -35,15 +35,24 @@ void WifiNanIface::invalidate() { is_valid_ = false; } -Return WifiNanIface::getName(getName_cb cb) { - hidl_string hidl_ifname; - hidl_ifname.setToExternal(ifname_.c_str(), ifname_.size()); - cb(hidl_ifname); +Return 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 WifiNanIface::getType() { - return IfaceType::NAN; +Return 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(); } } // namespace implementation diff --git a/wifi/1.0/default/wifi_nan_iface.h b/wifi/1.0/default/wifi_nan_iface.h index 93e2e7795f..a97c38a1c4 100644 --- a/wifi/1.0/default/wifi_nan_iface.h +++ b/wifi/1.0/default/wifi_nan_iface.h @@ -39,8 +39,8 @@ class WifiNanIface : public IWifiNanIface { void invalidate(); // HIDL methods exposed. - Return getName(getName_cb cb) override; - Return getType() override; + Return getName(getName_cb hidl_status_cb) override; + Return getType(getType_cb hidl_status_cb) override; private: std::string ifname_; diff --git a/wifi/1.0/default/wifi_p2p_iface.cpp b/wifi/1.0/default/wifi_p2p_iface.cpp index 349a158fb5..9ffb48c8b0 100644 --- a/wifi/1.0/default/wifi_p2p_iface.cpp +++ b/wifi/1.0/default/wifi_p2p_iface.cpp @@ -18,7 +18,7 @@ #include -#include "failure_reason_util.h" +#include "wifi_status_util.h" namespace android { namespace hardware { @@ -35,15 +35,24 @@ void WifiP2pIface::invalidate() { is_valid_ = false; } -Return WifiP2pIface::getName(getName_cb cb) { - hidl_string hidl_ifname; - hidl_ifname.setToExternal(ifname_.c_str(), ifname_.size()); - cb(hidl_ifname); +Return 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 WifiP2pIface::getType() { - return IfaceType::P2P; +Return 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(); } } // namespace implementation diff --git a/wifi/1.0/default/wifi_p2p_iface.h b/wifi/1.0/default/wifi_p2p_iface.h index d70415df66..ba02212302 100644 --- a/wifi/1.0/default/wifi_p2p_iface.h +++ b/wifi/1.0/default/wifi_p2p_iface.h @@ -39,8 +39,8 @@ class WifiP2pIface : public IWifiP2pIface { void invalidate(); // HIDL methods exposed. - Return getName(getName_cb cb) override; - Return getType() override; + Return getName(getName_cb hidl_status_cb) override; + Return getType(getType_cb hidl_status_cb) override; private: std::string ifname_; diff --git a/wifi/1.0/default/wifi_rtt_controller.cpp b/wifi/1.0/default/wifi_rtt_controller.cpp index e2df1a85f7..c0d0a0054d 100644 --- a/wifi/1.0/default/wifi_rtt_controller.cpp +++ b/wifi/1.0/default/wifi_rtt_controller.cpp @@ -18,7 +18,7 @@ #include -#include "failure_reason_util.h" +#include "wifi_status_util.h" namespace android { namespace hardware { @@ -36,8 +36,14 @@ void WifiRttController::invalidate() { is_valid_ = false; } -Return WifiRttController::getBoundIface(getBoundIface_cb cb) { - cb(bound_iface_); +Return 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(); } diff --git a/wifi/1.0/default/wifi_rtt_controller.h b/wifi/1.0/default/wifi_rtt_controller.h index 8d78b93e2f..51b15573dc 100644 --- a/wifi/1.0/default/wifi_rtt_controller.h +++ b/wifi/1.0/default/wifi_rtt_controller.h @@ -40,7 +40,7 @@ class WifiRttController : public IWifiRttController { void invalidate(); // HIDL methods exposed. - Return getBoundIface(getBoundIface_cb cb) override; + Return getBoundIface(getBoundIface_cb hidl_status_cb) override; private: sp bound_iface_; diff --git a/wifi/1.0/default/wifi_sta_iface.cpp b/wifi/1.0/default/wifi_sta_iface.cpp index 225cec424e..e3ae1118a3 100644 --- a/wifi/1.0/default/wifi_sta_iface.cpp +++ b/wifi/1.0/default/wifi_sta_iface.cpp @@ -18,7 +18,7 @@ #include -#include "failure_reason_util.h" +#include "wifi_status_util.h" namespace android { namespace hardware { @@ -35,15 +35,24 @@ void WifiStaIface::invalidate() { is_valid_ = false; } -Return WifiStaIface::getName(getName_cb cb) { - hidl_string hidl_ifname; - hidl_ifname.setToExternal(ifname_.c_str(), ifname_.size()); - cb(hidl_ifname); +Return 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 WifiStaIface::getType() { - return IfaceType::STA; +Return 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(); } } // namespace implementation diff --git a/wifi/1.0/default/wifi_sta_iface.h b/wifi/1.0/default/wifi_sta_iface.h index fc5efec90c..29c5f06b71 100644 --- a/wifi/1.0/default/wifi_sta_iface.h +++ b/wifi/1.0/default/wifi_sta_iface.h @@ -39,8 +39,8 @@ class WifiStaIface : public IWifiStaIface { void invalidate(); // HIDL methods exposed. - Return getName(getName_cb cb) override; - Return getType() override; + Return getName(getName_cb hidl_status_cb) override; + Return getType(getType_cb hidl_status_cb) override; private: std::string ifname_; diff --git a/wifi/1.0/default/wifi_status_util.h b/wifi/1.0/default/wifi_status_util.h index ec4b3f0e36..c988b059d0 100644 --- a/wifi/1.0/default/wifi_status_util.h +++ b/wifi/1.0/default/wifi_status_util.h @@ -27,7 +27,6 @@ namespace V1_0 { namespace implementation { std::string legacyErrorToString(wifi_error error); - WifiStatus createWifiStatus(WifiStatusCode code, const std::string& description); WifiStatus createWifiStatus(WifiStatusCode code);