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;