LeviLamina
Loading...
Searching...
No Matches
LegacyStatsCollector.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/LegacyStatsCollectorInterface.h"
7#include "mc/external/webrtc/PeerConnectionInterface.h"
8#include "mc/external/webrtc/RtpTransceiverProxyWithInternal.h"
9#include "mc/external/webrtc/StatsReport.h"
10#include "mc/external/webrtc/scoped_refptr.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace webrtc { class AudioTrackInterface; }
15namespace webrtc { class CandidateStats; }
16namespace webrtc { class Clock; }
17namespace webrtc { class MediaStreamInterface; }
18namespace webrtc { class MediaStreamTrackInterface; }
19namespace webrtc { class PeerConnectionInternal; }
20namespace webrtc { class RtpTransceiver; }
21namespace webrtc { class StatsCollection; }
22namespace webrtc { class StatsReport; }
23namespace webrtc { struct ConnectionInfo; }
24namespace webrtc { struct SSLCertificateStats; }
25namespace webrtc { struct TransportStats; }
26// clang-format on
27
28namespace webrtc {
29
30class LegacyStatsCollector : public ::webrtc::LegacyStatsCollectorInterface {
31public:
32 // LegacyStatsCollector inner types declare
33 // clang-format off
34 struct TransportStats;
35 struct SessionStats;
36 // clang-format on
37
38 // LegacyStatsCollector inner types define
39 struct TransportStats {
40 public:
41 // member variables
42 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 TransportStats& operator=(TransportStats const&);
52 TransportStats(TransportStats const&);
53 TransportStats();
54
55 public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI TransportStats(::std::string transport_name, ::webrtc::TransportStats transport_stats);
59 // NOLINTEND
60
61 public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCNAPI void* $ctor(::std::string transport_name, ::webrtc::TransportStats transport_stats);
65 // NOLINTEND
66 };
67
68 struct SessionStats {
69 public:
70 // member variables
71 // NOLINTBEGIN
75 // NOLINTEND
76
77 public:
78 // prevent constructor by default
79 SessionStats& operator=(SessionStats const&);
80 SessionStats(SessionStats const&);
81
82 public:
83 // member functions
84 // NOLINTBEGIN
85 MCNAPI SessionStats();
86
87 MCNAPI ~SessionStats();
88 // NOLINTEND
89
90 public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCNAPI void* $ctor();
94 // NOLINTEND
95
96 public:
97 // destructor thunk
98 // NOLINTBEGIN
99 MCNAPI void $dtor();
100 // NOLINTEND
101 };
102
103public:
104 // member variables
105 // NOLINTBEGIN
114 // NOLINTEND
115
116public:
117 // prevent constructor by default
118 LegacyStatsCollector& operator=(LegacyStatsCollector const&);
119 LegacyStatsCollector(LegacyStatsCollector const&);
120 LegacyStatsCollector();
121
122public:
123 // virtual functions
124 // NOLINTBEGIN
125 virtual ~LegacyStatsCollector() /*override*/ = default;
126
127 virtual void AddLocalAudioTrack(::webrtc::AudioTrackInterface* audio_track, uint ssrc) /*override*/;
128
129 virtual void RemoveLocalAudioTrack(::webrtc::AudioTrackInterface* audio_track, uint ssrc) /*override*/;
130
131 virtual void GetStats(
133 ::std::vector<::webrtc::StatsReport const*>* reports
134 ) /*override*/;
135
136 virtual double GetTimeNow();
137 // NOLINTEND
138
139public:
140 // member functions
141 // NOLINTBEGIN
142 MCNAPI ::webrtc::StatsReport* AddCandidateReport(::webrtc::CandidateStats const& candidate_stats, bool local);
143
144 MCNAPI ::webrtc::StatsReport* AddCertificateReports(::std::unique_ptr<::webrtc::SSLCertificateStats> cert_stats);
145
146 MCNAPI ::webrtc::StatsReport* AddConnectionInfoReport(
147 ::std::string const& content_name,
148 int component,
149 int connection_id,
151 ::webrtc::ConnectionInfo const& info
152 );
153
155
157
158 MCNAPI void ExtractBweInfo();
159
161
162 MCNAPI void ExtractMediaInfo(::std::map<::std::string, ::std::string> const& transport_names_by_mid);
163
164 MCNAPI void ExtractSenderInfo();
165
166 MCNAPI ::std::map<::std::string, ::std::string> ExtractSessionAndDataInfo();
167
168 MCNAPI ::webrtc::LegacyStatsCollector::SessionStats ExtractSessionInfo_n(
169 ::std::vector<::webrtc::scoped_refptr<
171 ::std::optional<::std::string> sctp_transport_name,
172 ::std::optional<::std::string> sctp_mid
173 );
174
176
177 MCNAPI void InvalidateCache();
178
179 MCNAPI bool IsValidTrack(::std::string const& track_id);
180
182
183 MCNAPI ::webrtc::StatsReport* PrepareReport(
184 bool local,
185 uint ssrc,
186 ::std::string const& track_id,
188 ::webrtc::StatsReport::Direction direction
189 );
190
191 MCNAPI void UpdateStats(::webrtc::PeerConnectionInterface::StatsOutputLevel level);
192
193 MCNAPI void UpdateStatsFromExistingLocalAudioTracks(bool has_remote_tracks);
194 // NOLINTEND
195
196public:
197 // constructor thunks
198 // NOLINTBEGIN
200 // NOLINTEND
201
202public:
203 // virtual function thunks
204 // NOLINTBEGIN
205 MCNAPI void $AddLocalAudioTrack(::webrtc::AudioTrackInterface* audio_track, uint ssrc);
206
207 MCNAPI void $RemoveLocalAudioTrack(::webrtc::AudioTrackInterface* audio_track, uint ssrc);
208
209 MCNAPI void
210 $GetStats(::webrtc::MediaStreamTrackInterface* track, ::std::vector<::webrtc::StatsReport const*>* reports);
211
212 MCNAPI double $GetTimeNow();
213
214
215 // NOLINTEND
216
217public:
218 // vftables
219 // NOLINTBEGIN
220 MCNAPI static void** $vftable();
221 // NOLINTEND
222};
223
224} // namespace webrtc
Definition AudioTrackInterface.h:18
Definition CandidateStats.h:7
Definition Clock.h:13
Definition LegacyStatsCollectorInterface.h:14
MCAPI::webrtc::StatsReport * PrepareReport(bool local, uint ssrc, ::std::string const &track_id, ::webrtc::scoped_refptr<::webrtc::StatsReport::IdBase > const &transport_id, ::webrtc::StatsReport::Direction direction)
MCAPI void $GetStats(::webrtc::MediaStreamTrackInterface *track, ::std::vector<::webrtc::StatsReport const * > *reports)
MCAPI void UpdateStatsFromExistingLocalAudioTracks(bool has_remote_tracks)
MCAPI void ExtractMediaInfo(::std::map<::std::string, ::std::string > const &transport_names_by_mid)
MCAPI ::std::map<::std::string, ::std::string > ExtractSessionAndDataInfo()
MCAPI void * $ctor(::webrtc::PeerConnectionInternal *pc, ::webrtc::Clock &clock)
MCAPI::webrtc::StatsReport * AddConnectionInfoReport(::std::string const &content_name, int component, int connection_id, ::webrtc::scoped_refptr<::webrtc::StatsReport::IdBase > const &channel_report_id, ::webrtc::ConnectionInfo const &info)
MCAPI void $RemoveLocalAudioTrack(::webrtc::AudioTrackInterface *audio_track, uint ssrc)
static MCAPI void ** $vftable()
MCAPI::webrtc::StatsReport * AddCertificateReports(::std::unique_ptr<::webrtc::SSLCertificateStats > cert_stats)
MCAPI void ExtractSessionInfo_s(::webrtc::LegacyStatsCollector::SessionStats &session_stats)
MCAPI void $AddLocalAudioTrack(::webrtc::AudioTrackInterface *audio_track, uint ssrc)
MCAPI LegacyStatsCollector(::webrtc::PeerConnectionInternal *pc, ::webrtc::Clock &clock)
MCAPI void ExtractDataInfo_n(::webrtc::StatsCollection *reports)
MCAPI::webrtc::LegacyStatsCollector::SessionStats ExtractSessionInfo_n(::std::vector<::webrtc::scoped_refptr< ::webrtc::RtpTransceiverProxyWithInternal<::webrtc::RtpTransceiver > > > const &transceivers, ::std::optional<::std::string > sctp_transport_name, ::std::optional<::std::string > sctp_mid)
MCAPI::webrtc::StatsReport * AddCandidateReport(::webrtc::CandidateStats const &candidate_stats, bool local)
MCAPI bool IsValidTrack(::std::string const &track_id)
MCAPI void UpdateStats(::webrtc::PeerConnectionInterface::StatsOutputLevel level)
MCAPI void AddTrack(::webrtc::MediaStreamTrackInterface *track)
MCAPI void AddStream(::webrtc::MediaStreamInterface *stream)
Definition MediaStreamInterface.h:18
Definition MediaStreamTrackInterface.h:11
Definition PeerConnectionInternal.h:28
Definition RtpTransceiverProxyWithInternal.h:8
Definition RtpTransceiver.h:40
Definition StatsCollection.h:16
Definition StatsReport.h:11
Definition scoped_refptr.h:8
Definition Alias.h:14
Definition ConnectionInfo.h:7
Definition LegacyStatsCollector.h:68
Definition LegacyStatsCollector.h:39
MCAPI TransportStats(::std::string transport_name, ::webrtc::TransportStats transport_stats)
MCAPI void * $ctor(::std::string transport_name, ::webrtc::TransportStats transport_stats)
Definition SSLCertificateStats.h:7
Definition TransportStats.h:7