Move Subscribe* implementations to cc file
Subscribe* functions invoked from Chrome need to be in .cc files,
due to an issue with template expansion.
Bug: webrtc:4222260
Change-Id: I24005a96f88dd8cd0908902d3c127da5c1627f3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407622
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45544}
diff --git a/p2p/base/ice_transport_internal.cc b/p2p/base/ice_transport_internal.cc
index d6a80e8..b37f0a1 100644
--- a/p2p/base/ice_transport_internal.cc
+++ b/p2p/base/ice_transport_internal.cc
@@ -255,4 +255,25 @@
gathering_state_callback_list_.RemoveReceivers(removal_tag);
}
+void IceTransportInternal::SubscribeCandidateGathered(
+ absl::AnyInvocable<void(IceTransportInternal*, const Candidate&)>
+ callback) {
+ candidate_gathered_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeRoleConflict(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ role_conflict_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeIceTransportStateChanged(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ ice_transport_state_changed_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeDestroyed(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ destroyed_trampoline_.Subscribe(std::move(callback));
+}
+
} // namespace webrtc
diff --git a/p2p/base/ice_transport_internal.h b/p2p/base/ice_transport_internal.h
index d3bd319..5ca8fac 100644
--- a/p2p/base/ice_transport_internal.h
+++ b/p2p/base/ice_transport_internal.h
@@ -361,9 +361,7 @@
}
void SubscribeCandidateGathered(
absl::AnyInvocable<void(IceTransportInternal*, const Candidate&)>
- callback) {
- candidate_gathered_trampoline_.Subscribe(std::move(callback));
- }
+ callback);
void SetCandidateErrorCallback(
absl::AnyInvocable<void(IceTransportInternal*,
@@ -400,9 +398,7 @@
SignalRoleConflict(transport);
}
void SubscribeRoleConflict(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- role_conflict_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Emitted whenever the new standards-compliant transport state changed.
sigslot::signal1<IceTransportInternal*> SignalIceTransportStateChanged;
@@ -410,9 +406,7 @@
SignalIceTransportStateChanged(transport);
}
void SubscribeIceTransportStateChanged(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- ice_transport_state_changed_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Invoked when the transport is being destroyed.
sigslot::signal1<IceTransportInternal*> SignalDestroyed;
@@ -420,9 +414,7 @@
SignalDestroyed(transport);
}
void SubscribeDestroyed(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- destroyed_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Invoked when remote dictionary has been updated,
// i.e. modifications to attributes from remote ice agent has