wifi: Add support for multiple chips in IWifi
The modified HIDL interface supports multiple chip instances on the
device. Modify the |IWifi| interface implementation to support the new
methods.
NOTE: The legacy HAL implementation will continue to only expose 1 chip.
While there,
Change the |callbacks_| member to std::vector instead of std::set. We
don't really need a set to store the list of callbacks.
Bug: 32003988
Test: Compiles
Change-Id: I31e704100f716e223095890279bdf93d2a04377e
diff --git a/wifi/1.0/default/wifi.h b/wifi/1.0/default/wifi.h
index e6cf1ac..55ba12b 100644
--- a/wifi/1.0/default/wifi.h
+++ b/wifi/1.0/default/wifi.h
@@ -18,7 +18,6 @@
#define WIFI_H_
#include <functional>
-#include <set>
#include <android-base/macros.h>
#include <android/hardware/wifi/1.0/IWifi.h>
@@ -46,7 +45,8 @@
Return<bool> isStarted() override;
Return<void> start() override;
Return<void> stop() override;
- Return<void> getChip(getChip_cb cb) override;
+ Return<void> getChipIds(getChipIds_cb cb) override;
+ Return<void> getChip(ChipId chip_id, getChip_cb cb) override;
private:
enum class RunState { STOPPED, STARTED, STOPPING };
@@ -55,7 +55,7 @@
// and shared with all the child HIDL interface objects.
std::shared_ptr<WifiLegacyHal> legacy_hal_;
RunState run_state_;
- std::set<sp<IWifiEventCallback>> callbacks_;
+ std::vector<sp<IWifiEventCallback>> callbacks_;
sp<WifiChip> chip_;
DISALLOW_COPY_AND_ASSIGN(Wifi);