wifi: Create 1.3::IfaceParams to support dual bands (AP+AP Part 1)

1. Use 1.3::IfaceParams to support AP+AP.
The design still uses 1.2::IfaceParams to create the AP but it updates
1.2::IfaceParams from 1.3::IfaceParams since dual APs information are stored
in 1.3::IfaceParams.

a. Support interface query from bridge interface.
b. Read dual APs configuration adn enable it.
c. Callback use bridge interface in dual APs mode.

AP+AP Part 1 includes:
1. HIDL: Hostapd support dual bands/channels configuration
2. Framework: HostapdHal support only
3. Hostapd deamon:
a. Support briged interface
b. Support config dual bands/channel
c. Callback use bridge interface in dual APs mode.

Bug: 162686273
Test: Manual Test to test single AP mode.
Test: Manual test code to check hostapd.conf is expected.
Test: atest -c VtsHalWifiHostapdV1_3TargetTest
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: I7d2a0ae1f935a18dd62daa3befc0eae0452882cc
diff --git a/hostapd/hidl/1.3/hostapd.h b/hostapd/hidl/1.3/hostapd.h
index 79354d3..ceec080 100644
--- a/hostapd/hidl/1.3/hostapd.h
+++ b/hostapd/hidl/1.3/hostapd.h
@@ -71,7 +71,7 @@
 	    const V1_2::IHostapd::NetworkParams& nw_params,
 	    addAccessPoint_1_2_cb _hidl_cb) override;
 	Return<void> addAccessPoint_1_3(
-	    const V1_2::IHostapd::IfaceParams& iface_params,
+	    const V1_3::IHostapd::IfaceParams& iface_params,
 	    const V1_3::IHostapd::NetworkParams& nw_params,
 	    addAccessPoint_1_3_cb _hidl_cb) override;
 	Return<void> removeAccessPoint(
@@ -102,7 +102,14 @@
 	    const V1_2::IHostapd::IfaceParams& IfaceParams,
 	    const V1_2::IHostapd::NetworkParams& nw_params);
 	V1_2::HostapdStatus addAccessPointInternal_1_3(
+	    const V1_3::IHostapd::IfaceParams& IfaceParams,
+	    const V1_3::IHostapd::NetworkParams& nw_params);
+	V1_2::HostapdStatus addSingleAccessPoint(
 	    const V1_2::IHostapd::IfaceParams& IfaceParams,
+	    const V1_3::IHostapd::NetworkParams& nw_params,
+	    std::string br_name);
+	V1_2::HostapdStatus addConcurrentAccessPoints(
+	    const V1_3::IHostapd::IfaceParams& IfaceParams,
 	    const V1_3::IHostapd::NetworkParams& nw_params);
 	V1_0::HostapdStatus removeAccessPointInternal(const std::string& iface_name);
 	V1_0::HostapdStatus registerCallbackInternal(
@@ -120,6 +127,8 @@
 	std::vector<sp<V1_3::IHostapdCallback>> callbacks_;
 	// Death notifier.
 	android::sp<DeathNotifier> death_notifier_;
+	// Bridge and its managed interfaces.
+	std::map<std::string, std::vector<std::string>> br_interfaces_;
 	DISALLOW_COPY_AND_ASSIGN(Hostapd);
 };
 }  // namespace implementation