LeviLamina
Loading...
Searching...
No Matches
PeerConnectionSdpMethods.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/webrtc/MediaType.h"
8#include "mc/external/webrtc/PeerConnectionFactoryInterface.h"
9#include "mc/external/webrtc/PeerConnectionInterface.h"
10#include "mc/external/webrtc/RTCErrorOr.h"
11#include "mc/external/webrtc/SSLRole.h"
12#include "mc/external/webrtc/UsageEvent.h"
13#include "mc/external/webrtc/scoped_refptr.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace webrtc { class Call; }
18namespace webrtc { class Candidate; }
19namespace webrtc { class ContentGroup; }
20namespace webrtc { class DataChannelController; }
21namespace webrtc { class FieldTrialsView; }
22namespace webrtc { class JsepTransportController; }
23namespace webrtc { class LegacyStatsCollector; }
24namespace webrtc { class MediaStreamTrackInterface; }
25namespace webrtc { class PayloadTypePicker; }
26namespace webrtc { class PeerConnectionMessageHandler; }
27namespace webrtc { class PeerConnectionObserver; }
28namespace webrtc { class PortAllocator; }
29namespace webrtc { class RTCError; }
30namespace webrtc { class RtpTransceiverInterface; }
31namespace webrtc { class RtpTransmissionManager; }
32namespace webrtc { class SessionDescription; }
33namespace webrtc { class SessionDescriptionInterface; }
34namespace webrtc { struct CryptoOptions; }
35namespace webrtc { struct RtpTransceiverInit; }
36namespace webrtc { struct SctpOptions; }
37// clang-format on
38
39namespace webrtc {
40
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~PeerConnectionSdpMethods() = default;
46
47 virtual ::std::string session_id() const = 0;
48
49 virtual bool NeedsIceRestart(::std::string const& content_name) const = 0;
50
51 virtual ::std::optional<::std::string> sctp_mid() const = 0;
52
53 virtual ::webrtc::PeerConnectionInterface::RTCConfiguration const* configuration() const = 0;
54
55 virtual void ReportSdpBundleUsage(::webrtc::SessionDescriptionInterface const& remote_description) = 0;
56
57 virtual ::webrtc::PeerConnectionMessageHandler* message_handler() = 0;
58
59 virtual ::webrtc::RtpTransmissionManager* rtp_manager() = 0;
60
61 virtual ::webrtc::RtpTransmissionManager const* rtp_manager() const = 0;
62
63 virtual bool dtls_enabled() const = 0;
64
65 virtual ::webrtc::PeerConnectionFactoryInterface::Options const* options() const = 0;
66
67 virtual ::webrtc::CryptoOptions GetCryptoOptions() = 0;
68
69 virtual ::webrtc::JsepTransportController* transport_controller_s() = 0;
70
71 virtual ::webrtc::JsepTransportController* transport_controller_n() = 0;
72
73 virtual ::webrtc::DataChannelController* data_channel_controller() = 0;
74
75 virtual ::webrtc::PortAllocator* port_allocator() = 0;
76
77 virtual ::webrtc::LegacyStatsCollector* legacy_stats() = 0;
78
79 virtual void RunWithObserver(::absl::AnyInvocable<void(::webrtc::PeerConnectionObserver*) &&> task) = 0;
80
81 virtual ::std::optional<::webrtc::SSLRole> GetSctpSslRole_n() = 0;
82
83 virtual ::webrtc::PeerConnectionInterface::IceConnectionState ice_connection_state_internal() = 0;
84
85 virtual void SetIceConnectionState(::webrtc::PeerConnectionInterface::IceConnectionState new_state) = 0;
86
87 virtual void NoteUsageEvent(::webrtc::UsageEvent event) = 0;
88
89 virtual bool IsClosed() const = 0;
90
91 virtual bool IsUnifiedPlan() const = 0;
92
93 virtual bool ValidateBundleSettings(
95 ::std::map<::std::string, ::webrtc::ContentGroup const*> const& bundle_groups_by_mid
96 ) = 0;
97
98 virtual ::webrtc::RTCErrorOr<::webrtc::scoped_refptr<::webrtc::RtpTransceiverInterface>> AddTransceiver(
99 ::webrtc::MediaType media_type,
102 bool update_negotiation_needed
103 ) = 0;
104
105 virtual ::webrtc::RTCError StartSctpTransport(::webrtc::SctpOptions const& options) = 0;
106
107 virtual void StartSctpTransport(int local_port, int remote_port, int max_message_size);
108
109 virtual void AddRemoteCandidate(::std::string_view mid, ::webrtc::Candidate const& candidate) = 0;
110
111 virtual ::webrtc::Call* call_ptr() = 0;
112
113 virtual bool SrtpRequired() const = 0;
114
115 virtual bool CreateDataChannelTransport(::std::string_view mid) = 0;
116
117 virtual void DestroyDataChannelTransport(::webrtc::RTCError error) = 0;
118
119 virtual ::webrtc::FieldTrialsView const& trials() const = 0;
120
121 virtual void ClearStatsCache() = 0;
122
123 virtual ::webrtc::PayloadTypePicker& payload_type_picker() = 0;
124 // NOLINTEND
125
126public:
127 // virtual function thunks
128 // NOLINTBEGIN
129 MCNAPI void $StartSctpTransport(int local_port, int remote_port, int max_message_size);
130
131
132 // NOLINTEND
133};
134
135} // namespace webrtc
Definition AnyInvocable.h:8
Definition Call.h:36
Definition Candidate.h:12
Definition ContentGroup.h:7
Definition DataChannelController.h:33
Definition FieldTrialsView.h:7
Definition JsepTransportController.h:50
Definition LegacyStatsCollector.h:30
Definition MediaStreamTrackInterface.h:11
Definition PayloadTypePicker.h:18
Definition PeerConnectionMessageHandler.h:17
Definition PeerConnectionObserver.h:22
Definition PeerConnectionSdpMethods.h:41
MCAPI void $StartSctpTransport(int local_port, int remote_port, int max_message_size)
Definition PortAllocator.h:26
Definition RTCError.h:10
Definition RtpTransceiverInterface.h:23
Definition RtpTransmissionManager.h:40
Definition SessionDescriptionInterface.h:17
Definition SessionDescription.h:18
Definition scoped_refptr.h:8
Definition CryptoOptions.h:12
Definition RtpTransceiverInit.h:7
Definition SctpOptions.h:7