LeviLamina
Loading...
Searching...
No Matches
Thread.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/rtc/FunctionView.h"
8#include "mc/external/webrtc/TaskQueueBase.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace rtc { class SocketServer; }
13namespace rtc { class ThreadManager; }
14namespace webrtc { class Location; }
15namespace webrtc { class TimeDelta; }
16// clang-format on
17
18namespace rtc {
19
20class Thread : public ::webrtc::TaskQueueBase {
21public:
22 // Thread inner types declare
23 // clang-format off
25 struct DelayedMessage;
27 // clang-format on
28
29 // Thread inner types define
30 class CurrentThreadSetter : public ::webrtc::TaskQueueBase::CurrentTaskQueueSetter {
31 public:
32 // member variables
33 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 CurrentThreadSetter& operator=(CurrentThreadSetter const&);
41 CurrentThreadSetter(CurrentThreadSetter const&);
42 CurrentThreadSetter();
43 };
44
45 struct DelayedMessage {
46 public:
47 // member variables
48 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 DelayedMessage& operator=(DelayedMessage const&);
58 DelayedMessage(DelayedMessage const&);
59 DelayedMessage();
60
61 public:
62 // member functions
63 // NOLINTBEGIN
65
66 MCNAPI ::rtc::Thread::DelayedMessage& operator=(::rtc::Thread::DelayedMessage&&);
67
69 // NOLINTEND
70
71 public:
72 // constructor thunks
73 // NOLINTBEGIN
75 // NOLINTEND
76
77 public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCNAPI void $dtor();
81 // NOLINTEND
82 };
83
84 class ScopedDisallowBlockingCalls {
85 public:
86 // member variables
87 // NOLINTBEGIN
90 // NOLINTEND
91
92 public:
93 // prevent constructor by default
94 ScopedDisallowBlockingCalls& operator=(ScopedDisallowBlockingCalls const&);
95 ScopedDisallowBlockingCalls(ScopedDisallowBlockingCalls const&);
96
97 public:
98 // member functions
99 // NOLINTBEGIN
101
103 // NOLINTEND
104
105 public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCNAPI void* $ctor();
109 // NOLINTEND
110
111 public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCNAPI void $dtor();
115 // NOLINTEND
116 };
117
118public:
119 // member variables
120 // NOLINTBEGIN
137 // NOLINTEND
138
139public:
140 // prevent constructor by default
141 Thread& operator=(Thread const&);
142 Thread(Thread const&);
143 Thread();
144
145public:
146 // virtual functions
147 // NOLINTBEGIN
148 virtual ~Thread() /*override*/;
149
150 virtual void Quit();
151
152 virtual bool IsQuitting();
153
154 virtual void Restart();
155
156 virtual bool IsProcessingMessagesForTesting();
157
158 virtual int GetDelay();
159
160 virtual void Stop();
161
162 virtual void Run();
163
164 virtual void Delete() /*override*/;
165
166 virtual void PostTaskImpl(
167 ::absl::AnyInvocable<void() &&> task,
169 ::webrtc::Location const& location
170 ) /*override*/;
171
172 virtual void PostDelayedTaskImpl(
173 ::absl::AnyInvocable<void() &&> task,
176 ::webrtc::Location const& location
177 ) /*override*/;
178
179 virtual void BlockingCallImpl(::rtc::FunctionView<void()> functor, ::webrtc::Location const& location);
180 // NOLINTEND
181
182public:
183 // member functions
184 // NOLINTBEGIN
186
187 MCNAPI void DisallowAllInvokes();
188
189 MCNAPI void Dispatch(::absl::AnyInvocable<void() &&> task);
190
191 MCNAPI void DoDestroy();
192
193 MCNAPI void DoInit();
194
195 MCNAPI ::absl::AnyInvocable<void() &&> Get(int cmsWait);
196
197 MCNAPI bool IsCurrent() const;
198
199 MCNAPI bool ProcessMessages(int cmsLoop);
200
201 MCNAPI bool SetAllowBlockingCalls(bool allow);
202
203 MCNAPI void SetDispatchWarningMs(int deadline);
204
205 MCNAPI bool SetName(::std::string_view name, void const* obj);
206
207 MCNAPI bool Start();
208
209 MCNAPI explicit Thread(::rtc::SocketServer* ss);
210
211 MCNAPI explicit Thread(::std::unique_ptr<::rtc::SocketServer> ss);
212
213 MCNAPI Thread(::rtc::SocketServer* ss, bool do_init);
214
215 MCNAPI Thread(::std::unique_ptr<::rtc::SocketServer> ss, bool do_init);
216
217 MCNAPI bool WrapCurrentWithThreadManager(::rtc::ThreadManager* thread_manager, bool need_synchronize_access);
218
219 MCNAPI ::rtc::SocketServer* socketserver();
220 // NOLINTEND
221
222public:
223 // static functions
224 // NOLINTBEGIN
225 MCNAPI static ::std::unique_ptr<::rtc::Thread> Create();
226
227 MCNAPI static ::rtc::Thread* Current();
228
229 MCNAPI static ulong PreRun(void* pv);
230 // NOLINTEND
231
232public:
233 // constructor thunks
234 // NOLINTBEGIN
235 MCNAPI void* $ctor(::rtc::SocketServer* ss);
236
237 MCNAPI void* $ctor(::std::unique_ptr<::rtc::SocketServer> ss);
238
239 MCNAPI void* $ctor(::rtc::SocketServer* ss, bool do_init);
240
241 MCNAPI void* $ctor(::std::unique_ptr<::rtc::SocketServer> ss, bool do_init);
242 // NOLINTEND
243
244public:
245 // destructor thunk
246 // NOLINTBEGIN
247 MCNAPI void $dtor();
248 // NOLINTEND
249
250public:
251 // virtual function thunks
252 // NOLINTBEGIN
253 MCNAPI void $Quit();
254
255 MCNAPI bool $IsQuitting();
256
257 MCNAPI void $Restart();
258
260
261 MCNAPI int $GetDelay();
262
263 MCNAPI void $Stop();
264
265 MCNAPI void $Run();
266
267 MCNAPI void $Delete();
268
269 MCNAPI void $PostTaskImpl(
270 ::absl::AnyInvocable<void() &&> task,
272 ::webrtc::Location const& location
273 );
274
276 ::absl::AnyInvocable<void() &&> task,
279 ::webrtc::Location const& location
280 );
281
282 MCNAPI void $BlockingCallImpl(::rtc::FunctionView<void()> functor, ::webrtc::Location const& location);
283
284
285 // NOLINTEND
286
287public:
288 // vftables
289 // NOLINTBEGIN
290 MCNAPI static void** $vftable();
291 // NOLINTEND
292};
293
294} // namespace rtc
Definition AnyInvocable.h:8
Definition FunctionView.h:8
Definition SocketServer.h:16
Definition ThreadManager.h:12
Definition Thread.h:30
Definition Thread.h:20
MCAPI ::absl::AnyInvocable< void() && > Get(int cmsWait)
MCAPI void Dispatch(::absl::AnyInvocable< void() && > task)
MCAPI void * $ctor(::rtc::SocketServer *ss, bool do_init)
MCAPI Thread(::std::unique_ptr<::rtc::SocketServer > ss)
MCAPI void $BlockingCallImpl(::rtc::FunctionView< void()> functor, ::webrtc::Location const &location)
MCAPI Thread(::std::unique_ptr<::rtc::SocketServer > ss, bool do_init)
MCAPI bool IsCurrent() const
MCAPI bool WrapCurrentWithThreadManager(::rtc::ThreadManager *thread_manager, bool need_synchronize_access)
MCAPI void * $ctor(::rtc::SocketServer *ss)
MCAPI Thread(::rtc::SocketServer *ss)
MCAPI void DisallowAllInvokes()
MCAPI bool SetName(::std::string_view name, void const *obj)
MCAPI int $GetDelay()
static MCAPI void ** $vftable()
MCAPI void $PostTaskImpl(::absl::AnyInvocable< void() && > task, ::webrtc::TaskQueueBase::PostTaskTraits const &traits, ::webrtc::Location const &location)
MCAPI bool Start()
MCAPI void $Stop()
MCAPI void $Run()
MCAPI void DoInit()
MCAPI bool $IsProcessingMessagesForTesting()
MCAPI void SetDispatchWarningMs(int deadline)
MCAPI void DoDestroy()
MCAPI void $PostDelayedTaskImpl(::absl::AnyInvocable< void() && > task, ::webrtc::TimeDelta delay, ::webrtc::TaskQueueBase::PostDelayedTaskTraits const &traits, ::webrtc::Location const &location)
MCAPI void * $ctor(::std::unique_ptr<::rtc::SocketServer > ss)
static MCAPI ::rtc::Thread * Current()
MCAPI void * $ctor(::std::unique_ptr<::rtc::SocketServer > ss, bool do_init)
MCAPI void AllowInvokesToThread(::rtc::Thread *thread)
MCAPI::rtc::SocketServer * socketserver()
MCAPI void $dtor()
MCAPI bool SetAllowBlockingCalls(bool allow)
static MCAPI ulong PreRun(void *pv)
MCAPI void $Delete()
MCAPI Thread(::rtc::SocketServer *ss, bool do_init)
MCAPI void $Quit()
static MCAPI ::std::unique_ptr<::rtc::Thread > Create()
MCAPI bool $IsQuitting()
MCAPI bool ProcessMessages(int cmsLoop)
MCAPI void $Restart()
Definition Location.h:7
Definition TaskQueueBase.h:16
Definition TimeDelta.h:10
Definition Alias.h:14
Definition Thread.h:45
MCAPI::rtc::Thread::DelayedMessage & operator=(::rtc::Thread::DelayedMessage &&)
MCAPI DelayedMessage(::rtc::Thread::DelayedMessage &&)
MCAPI void * $ctor(::rtc::Thread::DelayedMessage &&)
Definition TaskQueueBase.h:79