WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 6/inf

This patch just refactors creation of P2P transport channel,
pushing down the IceTransportInit object rather than decomposing
it going down.

The IceTransportInit object will in subsequent patches be
extended with a field trial container.

Reason for splitting patch into this and subsequent is
to allow changes to internal factories.

Bug: webrtc:10335
Change-Id: Icc8b6e4142744b64d134bcb2d4a56777745db62b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255602
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36215}
diff --git a/api/ice_transport_interface.h b/api/ice_transport_interface.h
index a3b364c..f202658 100644
--- a/api/ice_transport_interface.h
+++ b/api/ice_transport_interface.h
@@ -23,6 +23,7 @@
 namespace cricket {
 class IceTransportInternal;
 class PortAllocator;
+class IceControllerFactoryInterface;
 }  // namespace cricket
 
 namespace webrtc {
@@ -74,12 +75,21 @@
   RtcEventLog* event_log() { return event_log_; }
   void set_event_log(RtcEventLog* event_log) { event_log_ = event_log; }
 
+  void set_ice_controller_factory(
+      cricket::IceControllerFactoryInterface* ice_controller_factory) {
+    ice_controller_factory_ = ice_controller_factory;
+  }
+  cricket::IceControllerFactoryInterface* ice_controller_factory() {
+    return ice_controller_factory_;
+  }
+
  private:
   cricket::PortAllocator* port_allocator_ = nullptr;
   AsyncDnsResolverFactoryInterface* async_dns_resolver_factory_ = nullptr;
   // For backwards compatibility. Only one resolver factory can be set.
   AsyncResolverFactory* async_resolver_factory_ = nullptr;
   RtcEventLog* event_log_ = nullptr;
+  cricket::IceControllerFactoryInterface* ice_controller_factory_ = nullptr;
   // TODO(https://crbug.com/webrtc/12657): Redesign to have const members.
 };