Loading wifi/1.4/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ hidl_interface { "IWifiApIface.hal", "IWifiChip.hal", "IWifiChipEventCallback.hal", "IWifiNanIface.hal", "IWifiRttController.hal", "IWifiRttControllerEventCallback.hal", "IWifiStaIface.hal", Loading wifi/1.4/IWifiNanIface.hal 0 → 100644 +80 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.wifi@1.4; import @1.0::CommandIdShort; import @1.0::WifiStatus; import @1.2::IWifiNanIface; import @1.2::NanConfigRequestSupplemental; import NanConfigRequest; import NanEnableRequest; /** * Interface used to represent a single NAN (Neighbour Aware Network) iface. * * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness * Networking (NAN) Technical Specification". */ interface IWifiNanIface extends @1.2::IWifiNanIface { /** * Enable NAN: configures and activates NAN clustering (does not start * a discovery session or set up data-interfaces or data-paths). Use the * |IWifiNanIface.configureRequest| method to change the configuration of an already enabled * NAN interface. * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. * * Note: supersedes the @1.2::IWifiNanIface.enableRequest() method which is deprecated as of * HAL version 1.4. * * @param cmdId command Id to use for this invocation. * @param msg1 Instance of |NanEnableRequest|. * @param msg2 Instance of |NanConfigRequestSupplemental|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_UNKNOWN| */ enableRequest_1_4(CommandIdShort cmdId, NanEnableRequest msg1, NanConfigRequestSupplemental msg2) generates (WifiStatus status); /** * Configure NAN: configures an existing NAN functionality (i.e. assumes * |IWifiNanIface.enableRequest| already submitted and succeeded). * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. * * Note: supersedes the @1.2::IWifiNanIface.configRequest() method which is deprecated as of * HAL version 1.4. * * @param cmdId command Id to use for this invocation. * @param msg1 Instance of |NanConfigRequest|. * @param msg1 Instance of |NanConfigRequestSupplemental|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_UNKNOWN| */ configRequest_1_4(CommandIdShort cmdId, NanConfigRequest msg1, NanConfigRequestSupplemental msg2) generates (WifiStatus status); }; wifi/1.4/default/hidl_struct_util.cpp +11 −4 Original line number Diff line number Diff line Loading @@ -1270,16 +1270,20 @@ bool convertHidlNanEnableRequestToLegacy( hidl_request.debugConfigs .useSdfInBandVal[(size_t)NanBandIndex::NAN_BAND_5GHZ]; /* TODO: b/145609058 * Missing updates needed to legacy_hal::NanEnableRequest and conversion to * it for 6GHz band */ return true; } bool convertHidlNanEnableRequest_1_2ToLegacy( bool convertHidlNanEnableRequest_1_4ToLegacy( const NanEnableRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanEnableRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) << "convertHidlNanEnableRequest_1_2ToLegacy: null legacy_request"; << "convertHidlNanEnableRequest_1_4ToLegacy: null legacy_request"; return false; } Loading Loading @@ -1780,16 +1784,19 @@ bool convertHidlNanConfigRequestToLegacy( legacy_request->config_dw.dw_5g_interval_val = hidl_request.bandSpecificConfig[(size_t)NanBandIndex::NAN_BAND_5GHZ] .discoveryWindowIntervalVal; /* TODO: b/145609058 * Missing updates needed to legacy_hal::NanConfigRequest and conversion to * it for 6GHz band */ return true; } bool convertHidlNanConfigRequest_1_2ToLegacy( bool convertHidlNanConfigRequest_1_4ToLegacy( const NanConfigRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanConfigRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) << "convertHidlNanConfigRequest_1_2ToLegacy: legacy_request " LOG(ERROR) << "convertHidlNanConfigRequest_1_4ToLegacy: legacy_request " "is null"; return false; } Loading wifi/1.4/default/hidl_struct_util.h +2 −2 Original line number Diff line number Diff line Loading @@ -118,11 +118,11 @@ bool convertHidlNanEnableRequestToLegacy( bool convertHidlNanConfigRequestToLegacy( const NanConfigRequest& hidl_request, legacy_hal::NanConfigRequest* legacy_request); bool convertHidlNanEnableRequest_1_2ToLegacy( bool convertHidlNanEnableRequest_1_4ToLegacy( const NanEnableRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanEnableRequest* legacy_request); bool convertHidlNanConfigRequest_1_2ToLegacy( bool convertHidlNanConfigRequest_1_4ToLegacy( const NanConfigRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanConfigRequest* legacy_request); Loading wifi/1.4/default/tests/wifi_chip_unit_tests.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -720,9 +720,12 @@ TEST_F(WifiChipV2_AwareIfaceCombinationTest, ASSERT_EQ(iface_names[0], "wlan0"); }); // Retrieve the exact iface object. sp<IWifiNanIface> nan_iface; chip_->getNanIface("wlan0", [&nan_iface](const WifiStatus& status, const sp<IWifiNanIface>& iface) { sp<android::hardware::wifi::V1_0::IWifiNanIface> nan_iface; chip_->getNanIface( "wlan0", [&nan_iface]( const WifiStatus& status, const sp<android::hardware::wifi::V1_0::IWifiNanIface>& iface) { ASSERT_EQ(WifiStatusCode::SUCCESS, status.code); ASSERT_NE(iface.get(), nullptr); nan_iface = iface; Loading Loading
wifi/1.4/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ hidl_interface { "IWifiApIface.hal", "IWifiChip.hal", "IWifiChipEventCallback.hal", "IWifiNanIface.hal", "IWifiRttController.hal", "IWifiRttControllerEventCallback.hal", "IWifiStaIface.hal", Loading
wifi/1.4/IWifiNanIface.hal 0 → 100644 +80 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.wifi@1.4; import @1.0::CommandIdShort; import @1.0::WifiStatus; import @1.2::IWifiNanIface; import @1.2::NanConfigRequestSupplemental; import NanConfigRequest; import NanEnableRequest; /** * Interface used to represent a single NAN (Neighbour Aware Network) iface. * * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness * Networking (NAN) Technical Specification". */ interface IWifiNanIface extends @1.2::IWifiNanIface { /** * Enable NAN: configures and activates NAN clustering (does not start * a discovery session or set up data-interfaces or data-paths). Use the * |IWifiNanIface.configureRequest| method to change the configuration of an already enabled * NAN interface. * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. * * Note: supersedes the @1.2::IWifiNanIface.enableRequest() method which is deprecated as of * HAL version 1.4. * * @param cmdId command Id to use for this invocation. * @param msg1 Instance of |NanEnableRequest|. * @param msg2 Instance of |NanConfigRequestSupplemental|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_UNKNOWN| */ enableRequest_1_4(CommandIdShort cmdId, NanEnableRequest msg1, NanConfigRequestSupplemental msg2) generates (WifiStatus status); /** * Configure NAN: configures an existing NAN functionality (i.e. assumes * |IWifiNanIface.enableRequest| already submitted and succeeded). * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. * * Note: supersedes the @1.2::IWifiNanIface.configRequest() method which is deprecated as of * HAL version 1.4. * * @param cmdId command Id to use for this invocation. * @param msg1 Instance of |NanConfigRequest|. * @param msg1 Instance of |NanConfigRequestSupplemental|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_UNKNOWN| */ configRequest_1_4(CommandIdShort cmdId, NanConfigRequest msg1, NanConfigRequestSupplemental msg2) generates (WifiStatus status); };
wifi/1.4/default/hidl_struct_util.cpp +11 −4 Original line number Diff line number Diff line Loading @@ -1270,16 +1270,20 @@ bool convertHidlNanEnableRequestToLegacy( hidl_request.debugConfigs .useSdfInBandVal[(size_t)NanBandIndex::NAN_BAND_5GHZ]; /* TODO: b/145609058 * Missing updates needed to legacy_hal::NanEnableRequest and conversion to * it for 6GHz band */ return true; } bool convertHidlNanEnableRequest_1_2ToLegacy( bool convertHidlNanEnableRequest_1_4ToLegacy( const NanEnableRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanEnableRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) << "convertHidlNanEnableRequest_1_2ToLegacy: null legacy_request"; << "convertHidlNanEnableRequest_1_4ToLegacy: null legacy_request"; return false; } Loading Loading @@ -1780,16 +1784,19 @@ bool convertHidlNanConfigRequestToLegacy( legacy_request->config_dw.dw_5g_interval_val = hidl_request.bandSpecificConfig[(size_t)NanBandIndex::NAN_BAND_5GHZ] .discoveryWindowIntervalVal; /* TODO: b/145609058 * Missing updates needed to legacy_hal::NanConfigRequest and conversion to * it for 6GHz band */ return true; } bool convertHidlNanConfigRequest_1_2ToLegacy( bool convertHidlNanConfigRequest_1_4ToLegacy( const NanConfigRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanConfigRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) << "convertHidlNanConfigRequest_1_2ToLegacy: legacy_request " LOG(ERROR) << "convertHidlNanConfigRequest_1_4ToLegacy: legacy_request " "is null"; return false; } Loading
wifi/1.4/default/hidl_struct_util.h +2 −2 Original line number Diff line number Diff line Loading @@ -118,11 +118,11 @@ bool convertHidlNanEnableRequestToLegacy( bool convertHidlNanConfigRequestToLegacy( const NanConfigRequest& hidl_request, legacy_hal::NanConfigRequest* legacy_request); bool convertHidlNanEnableRequest_1_2ToLegacy( bool convertHidlNanEnableRequest_1_4ToLegacy( const NanEnableRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanEnableRequest* legacy_request); bool convertHidlNanConfigRequest_1_2ToLegacy( bool convertHidlNanConfigRequest_1_4ToLegacy( const NanConfigRequest& hidl_request1, const V1_2::NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanConfigRequest* legacy_request); Loading
wifi/1.4/default/tests/wifi_chip_unit_tests.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -720,9 +720,12 @@ TEST_F(WifiChipV2_AwareIfaceCombinationTest, ASSERT_EQ(iface_names[0], "wlan0"); }); // Retrieve the exact iface object. sp<IWifiNanIface> nan_iface; chip_->getNanIface("wlan0", [&nan_iface](const WifiStatus& status, const sp<IWifiNanIface>& iface) { sp<android::hardware::wifi::V1_0::IWifiNanIface> nan_iface; chip_->getNanIface( "wlan0", [&nan_iface]( const WifiStatus& status, const sp<android::hardware::wifi::V1_0::IWifiNanIface>& iface) { ASSERT_EQ(WifiStatusCode::SUCCESS, status.code); ASSERT_NE(iface.get(), nullptr); nan_iface = iface; Loading