Revert "Replace use of sigslot with CallbackList in data_channel_controller"
This reverts commit 8efc914cf353cea138a453c45e970e589bec0834.
Reason for revert: Breaks downstream project.
Original change's description:
> Replace use of sigslot with CallbackList in data_channel_controller
>
> This is a straightforward replacement; simplifications due to the ability
> to inline functions in the lambdas are for a later CL.
>
> Bug: webrtc:11943
> Change-Id: I7274cedde507b954f1d8aa8bc560861102eeb264
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250540
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35936}
TBR=nisse@webrtc.org,hta@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I8fd0f32ceec866bfd9a08cac1108b559bf03caac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11943
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251280
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35941}
diff --git a/pc/peer_connection.h b/pc/peer_connection.h
index 4cafe23..3f3dda6 100644
--- a/pc/peer_connection.h
+++ b/pc/peer_connection.h
@@ -117,7 +117,8 @@
// - The ICE state machine.
// - Generating stats.
class PeerConnection : public PeerConnectionInternal,
- public JsepTransportController::Observer {
+ public JsepTransportController::Observer,
+ public sigslot::has_slots<> {
public:
// Creates a PeerConnection and initializes it with the given values.
// If the initialization fails, the function releases the PeerConnection
@@ -288,6 +289,11 @@
return rtp_manager()->transceivers()->List();
}
+ sigslot::signal1<SctpDataChannel*>& SignalSctpDataChannelCreated() override {
+ RTC_DCHECK_RUN_ON(signaling_thread());
+ return data_channel_controller_.SignalSctpDataChannelCreated();
+ }
+
std::vector<DataChannelStats> GetDataChannelStats() const override;
absl::optional<std::string> sctp_transport_name() const override;
@@ -306,10 +312,9 @@
bool IceRestartPending(const std::string& content_name) const override;
bool NeedsIceRestart(const std::string& content_name) const override;
bool GetSslRole(const std::string& content_name, rtc::SSLRole* role) override;
- void SubscribeDataChannelCreated(
- std::function<void(SctpDataChannel*)> callback) override;
+
// Functions needed by DataChannelController
- void NoteDataAddedEvent() override { NoteUsageEvent(UsageEvent::DATA_ADDED); }
+ void NoteDataAddedEvent() { NoteUsageEvent(UsageEvent::DATA_ADDED); }
// Returns the observer. Will crash on CHECK if the observer is removed.
PeerConnectionObserver* Observer() const override;
bool IsClosed() const override {
@@ -320,7 +325,7 @@
// Get current SSL role used by SCTP's underlying transport.
bool GetSctpSslRole(rtc::SSLRole* role) override;
// Handler for the "channel closed" signal
- void OnSctpDataChannelClosed(DataChannelInterface* channel) override;
+ void OnSctpDataChannelClosed(DataChannelInterface* channel);
bool ShouldFireNegotiationNeededEvent(uint32_t event_id) override;