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.cpp b/wifi/1.0/default/wifi_chip.cpp
index df321e2..b5bd414 100644
--- a/wifi/1.0/default/wifi_chip.cpp
+++ b/wifi/1.0/default/wifi_chip.cpp
@@ -26,14 +26,19 @@
 namespace V1_0 {
 namespace implementation {
 
-WifiChip::WifiChip(std::weak_ptr<WifiLegacyHal> legacy_hal)
-    : legacy_hal_(legacy_hal) {}
+WifiChip::WifiChip(ChipId chip_id,
+                   const std::weak_ptr<WifiLegacyHal> legacy_hal)
+    : chip_id_(chip_id), legacy_hal_(legacy_hal) {}
 
 void WifiChip::invalidate() {
   legacy_hal_.reset();
   callbacks_.clear();
 }
 
+Return<ChipId> WifiChip::getId() {
+  return chip_id_;
+}
+
 Return<void> WifiChip::registerEventCallback(
     const sp<IWifiChipEventCallback>& callback) {
   if (!legacy_hal_.lock())