Loading wifi/1.5/IWifiStaIface.hal +13 −0 Original line number Diff line number Diff line Loading @@ -41,4 +41,17 @@ interface IWifiStaIface extends @1.3::IWifiStaIface { * @return stats Instance of |LinkLayerStats|. */ getLinkLayerStats_1_5() generates (WifiStatus status, StaLinkLayerStats stats); /** * Turn on/off scan only mode for the interface. * * @param enable Indicate if scan only mode is to be turned on/off. * @return status Status of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.FAILURE_UNKNOWN| */ setScanMode(bool enable) generates (WifiStatus status); }; wifi/1.5/default/wifi_sta_iface.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,13 @@ Return<void> WifiStaIface::getFactoryMacAddress( hidl_status_cb); } Return<void> WifiStaIface::setScanMode(bool enable, setScanMode_cb hidl_status_cb) { return validateAndCall(this, WifiStatusCode::ERROR_WIFI_IFACE_INVALID, &WifiStaIface::setScanModeInternal, hidl_status_cb, enable); } std::pair<WifiStatus, std::string> WifiStaIface::getNameInternal() { return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_}; } Loading Loading @@ -655,6 +662,12 @@ WifiStaIface::getFactoryMacAddressInternal() { return {createWifiStatus(WifiStatusCode::SUCCESS), mac}; } WifiStatus WifiStaIface::setScanModeInternal(bool enable) { // OEM's need to implement this on their devices if needed. LOG(WARNING) << "setScanModeInternal(" << enable << ") not supported"; return createWifiStatus(WifiStatusCode::ERROR_NOT_SUPPORTED); } } // namespace implementation } // namespace V1_5 } // namespace wifi Loading wifi/1.5/default/wifi_sta_iface.h +3 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,8 @@ class WifiStaIface : public V1_5::IWifiStaIface { setMacAddress_cb hidl_status_cb) override; Return<void> getFactoryMacAddress( getFactoryMacAddress_cb hidl_status_cb) override; Return<void> setScanMode(bool enable, setScanMode_cb hidl_status_cb) override; private: // Corresponding worker functions for the HIDL methods. Loading Loading @@ -164,6 +166,7 @@ class WifiStaIface : public V1_5::IWifiStaIface { WifiStatus setMacAddressInternal(const std::array<uint8_t, 6>& mac); std::pair<WifiStatus, std::array<uint8_t, 6>> getFactoryMacAddressInternal(); WifiStatus setScanModeInternal(bool enable); std::string ifname_; std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_; Loading wifi/1.5/vts/functional/wifi_sta_iface_hidl_test.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,19 @@ TEST_P(WifiStaIfaceHidlTest, GetLinkLayerStats_1_5) { WifiStatusCode::SUCCESS, HIDL_INVOKE(wifi_sta_iface_, disableLinkLayerStatsCollection).code); } /** * SetScanMode */ TEST_P(WifiStaIfaceHidlTest, SetScanMode) { auto statusCode = HIDL_INVOKE(wifi_sta_iface_, setScanMode, true).code; EXPECT_TRUE(statusCode == WifiStatusCode::SUCCESS || statusCode == WifiStatusCode::ERROR_NOT_SUPPORTED); statusCode = HIDL_INVOKE(wifi_sta_iface_, setScanMode, false).code; EXPECT_TRUE(statusCode == WifiStatusCode::SUCCESS || statusCode == WifiStatusCode::ERROR_NOT_SUPPORTED); } GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(WifiStaIfaceHidlTest); INSTANTIATE_TEST_SUITE_P( Loading Loading
wifi/1.5/IWifiStaIface.hal +13 −0 Original line number Diff line number Diff line Loading @@ -41,4 +41,17 @@ interface IWifiStaIface extends @1.3::IWifiStaIface { * @return stats Instance of |LinkLayerStats|. */ getLinkLayerStats_1_5() generates (WifiStatus status, StaLinkLayerStats stats); /** * Turn on/off scan only mode for the interface. * * @param enable Indicate if scan only mode is to be turned on/off. * @return status Status of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.FAILURE_UNKNOWN| */ setScanMode(bool enable) generates (WifiStatus status); };
wifi/1.5/default/wifi_sta_iface.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -273,6 +273,13 @@ Return<void> WifiStaIface::getFactoryMacAddress( hidl_status_cb); } Return<void> WifiStaIface::setScanMode(bool enable, setScanMode_cb hidl_status_cb) { return validateAndCall(this, WifiStatusCode::ERROR_WIFI_IFACE_INVALID, &WifiStaIface::setScanModeInternal, hidl_status_cb, enable); } std::pair<WifiStatus, std::string> WifiStaIface::getNameInternal() { return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_}; } Loading Loading @@ -655,6 +662,12 @@ WifiStaIface::getFactoryMacAddressInternal() { return {createWifiStatus(WifiStatusCode::SUCCESS), mac}; } WifiStatus WifiStaIface::setScanModeInternal(bool enable) { // OEM's need to implement this on their devices if needed. LOG(WARNING) << "setScanModeInternal(" << enable << ") not supported"; return createWifiStatus(WifiStatusCode::ERROR_NOT_SUPPORTED); } } // namespace implementation } // namespace V1_5 } // namespace wifi Loading
wifi/1.5/default/wifi_sta_iface.h +3 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,8 @@ class WifiStaIface : public V1_5::IWifiStaIface { setMacAddress_cb hidl_status_cb) override; Return<void> getFactoryMacAddress( getFactoryMacAddress_cb hidl_status_cb) override; Return<void> setScanMode(bool enable, setScanMode_cb hidl_status_cb) override; private: // Corresponding worker functions for the HIDL methods. Loading Loading @@ -164,6 +166,7 @@ class WifiStaIface : public V1_5::IWifiStaIface { WifiStatus setMacAddressInternal(const std::array<uint8_t, 6>& mac); std::pair<WifiStatus, std::array<uint8_t, 6>> getFactoryMacAddressInternal(); WifiStatus setScanModeInternal(bool enable); std::string ifname_; std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_; Loading
wifi/1.5/vts/functional/wifi_sta_iface_hidl_test.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,19 @@ TEST_P(WifiStaIfaceHidlTest, GetLinkLayerStats_1_5) { WifiStatusCode::SUCCESS, HIDL_INVOKE(wifi_sta_iface_, disableLinkLayerStatsCollection).code); } /** * SetScanMode */ TEST_P(WifiStaIfaceHidlTest, SetScanMode) { auto statusCode = HIDL_INVOKE(wifi_sta_iface_, setScanMode, true).code; EXPECT_TRUE(statusCode == WifiStatusCode::SUCCESS || statusCode == WifiStatusCode::ERROR_NOT_SUPPORTED); statusCode = HIDL_INVOKE(wifi_sta_iface_, setScanMode, false).code; EXPECT_TRUE(statusCode == WifiStatusCode::SUCCESS || statusCode == WifiStatusCode::ERROR_NOT_SUPPORTED); } GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(WifiStaIfaceHidlTest); INSTANTIATE_TEST_SUITE_P( Loading