Merge changes from topic "revert-32029057-mainline-supplicant-generalize-iface-type-NJLGVJHNTR" into main

* changes:
  Revert "Return an interface object from addUsdInterface in the M..."
  Revert "Rename IUsdInterface to IStaInterface in the Mainline Su..."
diff --git a/wpa_supplicant/aidl/mainline/mainline_supplicant.cpp b/wpa_supplicant/aidl/mainline/mainline_supplicant.cpp
index b1a873d..dd2babe 100644
--- a/wpa_supplicant/aidl/mainline/mainline_supplicant.cpp
+++ b/wpa_supplicant/aidl/mainline/mainline_supplicant.cpp
@@ -18,17 +18,14 @@
     wpa_global_ = global;
 }
 
-ndk::ScopedAStatus MainlineSupplicant::addStaInterface(const std::string& ifaceName,
-        std::shared_ptr<IStaInterface>* _aidl_return) {
+ndk::ScopedAStatus MainlineSupplicant::addUsdInterface(const std::string& ifaceName) {
     if (ifaceName.empty()) {
         wpa_printf(MSG_ERROR, "Empty iface name provided");
         return createStatus(SupplicantStatusCode::FAILURE_ARGS_INVALID);
     }
 
-    if (active_sta_ifaces_.find(ifaceName) != active_sta_ifaces_.end()) {
+    if (active_usd_ifaces_.find(ifaceName) != active_usd_ifaces_.end()) {
         wpa_printf(MSG_INFO, "Interface %s already exists", ifaceName.c_str());
-        std::shared_ptr<IStaInterface> staIface = active_sta_ifaces_[ifaceName];
-        _aidl_return = &staIface;
         return ndk::ScopedAStatus::ok();
     }
 
@@ -49,22 +46,18 @@
         return createStatus(SupplicantStatusCode::FAILURE_UNKNOWN);
     }
 
-    std::shared_ptr<IStaInterface> staIface =
-        ndk::SharedRefBase::make<StaIface>(wpa_global_, ifaceName);
-    active_sta_ifaces_[ifaceName] = staIface;
-    _aidl_return = &staIface;
-
     wpa_printf(MSG_INFO, "Interface %s was added successfully", ifaceName.c_str());
+    active_usd_ifaces_.insert(ifaceName);
     return ndk::ScopedAStatus::ok();
 }
 
-ndk::ScopedAStatus MainlineSupplicant::removeStaInterface(const std::string& ifaceName) {
+ndk::ScopedAStatus MainlineSupplicant::removeUsdInterface(const std::string& ifaceName) {
     if (ifaceName.empty()) {
         wpa_printf(MSG_ERROR, "Empty iface name provided");
         return createStatus(SupplicantStatusCode::FAILURE_ARGS_INVALID);
     }
 
-    if (active_sta_ifaces_.find(ifaceName) == active_sta_ifaces_.end()) {
+    if (active_usd_ifaces_.find(ifaceName) == active_usd_ifaces_.end()) {
         wpa_printf(MSG_ERROR, "Interface %s does not exist", ifaceName.c_str());
         return createStatus(SupplicantStatusCode::FAILURE_IFACE_UNKNOWN);
     }
@@ -81,7 +74,7 @@
     }
 
     wpa_printf(MSG_INFO, "Interface %s was removed successfully", ifaceName.c_str());
-    active_sta_ifaces_.erase(ifaceName);
+    active_usd_ifaces_.erase(ifaceName);
     return ndk::ScopedAStatus::ok();
 }
 
diff --git a/wpa_supplicant/aidl/mainline/mainline_supplicant.h b/wpa_supplicant/aidl/mainline/mainline_supplicant.h
index 1f05a9c..38a355f 100644
--- a/wpa_supplicant/aidl/mainline/mainline_supplicant.h
+++ b/wpa_supplicant/aidl/mainline/mainline_supplicant.h
@@ -9,12 +9,9 @@
 #ifndef MAINLINE_SUPPLICANT_IMPL_H
 #define MAINLINE_SUPPLICANT_IMPL_H
 
-#include <map>
-
-#include "sta_iface.h"
+#include <set>
 
 #include <aidl/android/system/wifi/mainline_supplicant/BnMainlineSupplicant.h>
-#include <aidl/android/system/wifi/mainline_supplicant/IUsdInterface.h>
 #include <aidl/android/system/wifi/mainline_supplicant/SupplicantStatusCode.h>
 
 extern "C"
@@ -27,22 +24,20 @@
 }
 
 using ::aidl::android::system::wifi::mainline_supplicant::BnMainlineSupplicant;
-using ::aidl::android::system::wifi::mainline_supplicant::IStaInterface;
 using ::aidl::android::system::wifi::mainline_supplicant::SupplicantStatusCode;
 
 class MainlineSupplicant : public BnMainlineSupplicant {
     public:
         MainlineSupplicant(struct wpa_global* global);
-        ndk::ScopedAStatus addStaInterface(const std::string& ifaceName,
-            std::shared_ptr<IStaInterface>* _aidl_return);
-        ndk::ScopedAStatus removeStaInterface(const std::string& ifaceName);
+        ndk::ScopedAStatus addUsdInterface(const std::string& ifaceName);
+        ndk::ScopedAStatus removeUsdInterface(const std::string& ifaceName);
         ndk::ScopedAStatus terminate();
 
     private:
         // Raw pointer to the global structure maintained by the core
         struct wpa_global* wpa_global_;
-        // Map containing all active STA interfaces, mapped by iface name -> object
-        std::map<std::string, std::shared_ptr<IStaInterface>> active_sta_ifaces_;
+        // Names of all active USD interfaces
+        std::set<std::string> active_usd_ifaces_;
 };
 
 #endif  // MAINLINE_SUPPLICANT_IMPL_H
diff --git a/wpa_supplicant/aidl/mainline/sta_iface.cpp b/wpa_supplicant/aidl/mainline/sta_iface.cpp
deleted file mode 100644
index bfa9c9e..0000000
--- a/wpa_supplicant/aidl/mainline/sta_iface.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * WPA Supplicant - Station mode interface
- * Copyright (c) 2024, Google Inc. All rights reserved.
- *
- * This software may be distributed under the terms of the BSD license.
- * See README for more details.
- */
-
-#include "sta_iface.h"
-
-StaIface::StaIface(struct wpa_global* wpa_global, std::string iface_name)
-    : wpa_global_(wpa_global), iface_name_(iface_name) {}
-
-::ndk::ScopedAStatus StaIface::registerCallback(
-        const std::shared_ptr<IStaInterfaceCallback>& in_callback) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::getUsdCapabilities(UsdCapabilities* _aidl_return) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::startUsdPublish(int32_t in_cmdId,
-        const PublishConfig& in_usdPublishConfig) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::startUsdSubscribe(int32_t in_cmdId,
-        const SubscribeConfig& in_usdSubscribeConfig) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::updateUsdPublish(int32_t in_publishId,
-        const std::vector<uint8_t>& in_serviceSpecificInfo) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::cancelUsdPublish(int32_t in_publishId) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::cancelUsdSubscribe(int32_t in_subscribeId) {
-    return ndk::ScopedAStatus::ok();
-}
-
-::ndk::ScopedAStatus StaIface::sendUsdMessage(const UsdMessageInfo& in_messageInfo) {
-    return ndk::ScopedAStatus::ok();
-}
diff --git a/wpa_supplicant/aidl/mainline/usd_iface.cpp b/wpa_supplicant/aidl/mainline/usd_iface.cpp
new file mode 100644
index 0000000..b514f77
--- /dev/null
+++ b/wpa_supplicant/aidl/mainline/usd_iface.cpp
@@ -0,0 +1,43 @@
+/*
+ * WPA Supplicant - Interface for USD operations
+ * Copyright (c) 2024, Google Inc. All rights reserved.
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+#include "usd_iface.h"
+
+UsdIface::UsdIface(struct wpa_global* wpa_global, std::string iface_name)
+    : wpa_global_(wpa_global), iface_name_(iface_name) {}
+
+::ndk::ScopedAStatus UsdIface::getUsdCapabilities(UsdCapabilities* _aidl_return) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::startUsdPublish(int32_t in_cmdId,
+        const PublishConfig& in_usdPublishConfig) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::startUsdSubscribe(int32_t in_cmdId,
+        const SubscribeConfig& in_usdSubscribeConfig) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::updateUsdPublish(int32_t in_publishId,
+        const std::vector<uint8_t>& in_serviceSpecificInfo) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::cancelUsdPublish(int32_t in_publishId) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::cancelUsdSubscribe(int32_t in_subscribeId) {
+    return ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus UsdIface::sendUsdMessage(const UsdMessageInfo& in_messageInfo) {
+    return ndk::ScopedAStatus::ok();
+}
diff --git a/wpa_supplicant/aidl/mainline/sta_iface.h b/wpa_supplicant/aidl/mainline/usd_iface.h
similarity index 62%
rename from wpa_supplicant/aidl/mainline/sta_iface.h
rename to wpa_supplicant/aidl/mainline/usd_iface.h
index 84ad201..32b86cc 100644
--- a/wpa_supplicant/aidl/mainline/sta_iface.h
+++ b/wpa_supplicant/aidl/mainline/usd_iface.h
@@ -1,26 +1,22 @@
 /*
- * WPA Supplicant - Station mode interface
+ * WPA Supplicant - Interface for USD operations
  * Copyright (c) 2024, Google Inc. All rights reserved.
  *
  * This software may be distributed under the terms of the BSD license.
  * See README for more details.
  */
 
-#ifndef MAINLINE_SUPPLICANT_STA_IFACE_H
-#define MAINLINE_SUPPLICANT_STA_IFACE_H
+#ifndef MAINLINE_SUPPLICANT_USD_IFACE_H
+#define MAINLINE_SUPPLICANT_USD_IFACE_H
 
-#include <aidl/android/system/wifi/mainline_supplicant/BnStaInterface.h>
-#include <aidl/android/system/wifi/mainline_supplicant/IStaInterfaceCallback.h>
+#include <aidl/android/system/wifi/mainline_supplicant/BnUsdInterface.h>
 
-using ::aidl::android::system::wifi::mainline_supplicant::BnStaInterface;
-using ::aidl::android::system::wifi::mainline_supplicant::IStaInterfaceCallback;
+using ::aidl::android::system::wifi::mainline_supplicant::BnUsdInterface;
 using ::aidl::android::system::wifi::mainline_supplicant::UsdMessageInfo;
 
-class StaIface : public BnStaInterface {
+class UsdIface : public BnUsdInterface {
     public:
-        StaIface(struct wpa_global* wpa_global, std::string iface_name);
-        ::ndk::ScopedAStatus registerCallback(
-            const std::shared_ptr<IStaInterfaceCallback>& in_callback) override;
+        UsdIface(struct wpa_global* wpa_global, std::string iface_name);
         ::ndk::ScopedAStatus getUsdCapabilities(UsdCapabilities* _aidl_return) override;
         ::ndk::ScopedAStatus startUsdPublish(int32_t in_cmdId,
             const PublishConfig& in_usdPublishConfig) override;
@@ -37,4 +33,4 @@
         std::string iface_name_;
 };
 
-#endif // MAINLINE_SUPPLICANT_STA_IFACE_H
+#endif // MAINLINE_SUPPLICANT_USD_IFACE_H