Make IceTransportInternal immovable and non-copyable

This makes reasoning about the class simpler, and allows it to have
non-copyable members.

Bug: webrtc:42222066
Change-Id: Ib39607a6fec92fb89879175f869bcf9e4b29dd67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406881
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45479}
diff --git a/p2p/base/ice_transport_internal.h b/p2p/base/ice_transport_internal.h
index c1f3e0c..70e58f7 100644
--- a/p2p/base/ice_transport_internal.h
+++ b/p2p/base/ice_transport_internal.h
@@ -258,6 +258,12 @@
   IceTransportInternal();
   ~IceTransportInternal() override;
 
+  // This class is uncopyable and immovable.
+  IceTransportInternal(const IceTransportInternal&) = delete;
+  IceTransportInternal& operator=(const IceTransportInternal&) = delete;
+  IceTransportInternal(IceTransportInternal&&) = delete;
+  IceTransportInternal& operator=(IceTransportInternal&&) = delete;
+
   // TODO(bugs.webrtc.org/9308): Remove GetState once all uses have been
   // migrated to GetIceTransportState.
   virtual IceTransportStateInternal GetState() const = 0;