LeviLamina
Loading...
Searching...
No Matches
TaskQueueBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class Location; }
11namespace webrtc { class TimeDelta; }
12// clang-format on
13
14namespace webrtc {
15
17public:
18 // TaskQueueBase inner types declare
19 // clang-format off
22 struct PostTaskTraits;
23 // clang-format on
24
25 // TaskQueueBase inner types define
26 enum class DelayPrecision : int {
27 KLow = 0,
28 KHigh = 1,
29 };
30
31 class CurrentTaskQueueSetter {
32 public:
33 // member variables
34 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 CurrentTaskQueueSetter& operator=(CurrentTaskQueueSetter const&);
41 CurrentTaskQueueSetter(CurrentTaskQueueSetter const&);
42 CurrentTaskQueueSetter();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI explicit CurrentTaskQueueSetter(::webrtc::TaskQueueBase* task_queue);
48
50 // NOLINTEND
51
52 public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCNAPI void* $ctor(::webrtc::TaskQueueBase* task_queue);
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCNAPI void $dtor();
62 // NOLINTEND
63 };
64
65 struct PostDelayedTaskTraits {
66 public:
67 // member variables
68 // NOLINTBEGIN
70 // NOLINTEND
71
72 public:
73 // prevent constructor by default
74 PostDelayedTaskTraits& operator=(PostDelayedTaskTraits const&);
75 PostDelayedTaskTraits(PostDelayedTaskTraits const&);
76 PostDelayedTaskTraits();
77 };
78
79 struct PostTaskTraits {};
80
81public:
82 // virtual functions
83 // NOLINTBEGIN
84 virtual void Delete() = 0;
85
86 virtual void PostTaskImpl(
87 ::absl::AnyInvocable<void() &&>,
90 ) = 0;
91
92 virtual void PostDelayedTaskImpl(
93 ::absl::AnyInvocable<void() &&>,
97 ) = 0;
98
99 virtual ~TaskQueueBase() = default;
100 // NOLINTEND
101
102public:
103 // member functions
104 // NOLINTBEGIN
105 MCNAPI void PostDelayedTask(
106 ::absl::AnyInvocable<void() &&> task,
108 ::webrtc::Location const& location
109 );
110
112 ::webrtc::TaskQueueBase::DelayPrecision precision,
113 ::absl::AnyInvocable<void() &&> task,
115 ::webrtc::Location const& location
116 );
117
118 MCNAPI void PostTask(::absl::AnyInvocable<void() &&> task, ::webrtc::Location const& location);
119 // NOLINTEND
120
121public:
122 // static functions
123 // NOLINTBEGIN
124 MCNAPI static ::webrtc::TaskQueueBase* Current();
125 // NOLINTEND
126
127public:
128 // virtual function thunks
129 // NOLINTBEGIN
130
131 // NOLINTEND
132};
133
134} // namespace webrtc
Definition AnyInvocable.h:8
Definition Location.h:7
MCAPI CurrentTaskQueueSetter(::webrtc::TaskQueueBase *task_queue)
MCAPI void * $ctor(::webrtc::TaskQueueBase *task_queue)
Definition TaskQueueBase.h:16
MCAPI void PostTask(::absl::AnyInvocable< void() && > task, ::webrtc::Location const &location)
MCAPI void PostDelayedTaskWithPrecision(::webrtc::TaskQueueBase::DelayPrecision precision, ::absl::AnyInvocable< void() && > task, ::webrtc::TimeDelta delay, ::webrtc::Location const &location)
static MCAPI ::webrtc::TaskQueueBase * Current()
MCAPI void PostDelayedTask(::absl::AnyInvocable< void() && > task, ::webrtc::TimeDelta delay, ::webrtc::Location const &location)
Definition TimeDelta.h:10
Definition Alias.h:14
Definition TaskQueueBase.h:79