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_chip.h b/wifi/1.0/default/wifi_chip.h
index 95fabe4..ef2137b 100644
--- a/wifi/1.0/default/wifi_chip.h
+++ b/wifi/1.0/default/wifi_chip.h
@@ -37,11 +37,12 @@
  */
 class WifiChip : public IWifiChip {
  public:
-  WifiChip(std::weak_ptr<WifiLegacyHal> legacy_hal);
+  WifiChip(ChipId chip_id, const std::weak_ptr<WifiLegacyHal> legacy_hal);
   // Invalidate this instance once the HAL is stopped.
   void invalidate();
 
   // HIDL methods exposed.
+  Return<ChipId> getId() override;
   Return<void> registerEventCallback(
       const sp<IWifiChipEventCallback>& callback) override;
   Return<void> getAvailableModes(getAvailableModes_cb cb) override;
@@ -52,6 +53,7 @@
   Return<void> requestFirmwareDebugDump() override;
 
  private:
+  ChipId chip_id_;
   std::weak_ptr<WifiLegacyHal> legacy_hal_;
   std::set<sp<IWifiChipEventCallback>> callbacks_;