Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
AsyncDnsResolver.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/AsyncDnsResolverInterface.h"
8#include "mc/external/webrtc/AsyncDnsResolverResult.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace NetherNet { class DnsCache; }
13namespace webrtc { class SocketAddress; }
14namespace webrtc { class TaskQueueBase; }
15// clang-format on
16
17namespace NetherNet {
18
19class AsyncDnsResolver : public ::webrtc::AsyncDnsResolverInterface {
20public:
21 // AsyncDnsResolver inner types declare
22 // clang-format off
23 class State;
24 // clang-format on
25
26 // AsyncDnsResolver inner types define
27 class State {
28 public:
29 // State inner types declare
30 // clang-format off
31 class Result;
32 // clang-format on
33
34 // State inner types define
35 enum class Status : int {
36 Active = 0,
37 CompletionPosted = 1,
38 Finished = 2,
39 Dead = 3,
40 };
41
42 class Result : public ::webrtc::AsyncDnsResolverResult {
43 public:
44 // member variables
45 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
54 Result& operator=(Result const&);
55 Result(Result const&);
56 Result();
57
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual bool GetResolvedAddress(int family, ::webrtc::SocketAddress* addr) const /*override*/;
62
63 virtual int GetError() const /*override*/;
64 // NOLINTEND
65
66 public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCNAPI bool $GetResolvedAddress(int family, ::webrtc::SocketAddress* addr) const;
70
71 MCNAPI int $GetError() const;
72
73
74 // NOLINTEND
75 };
76
77 public:
78 // member variables
79 // NOLINTBEGIN
83 // NOLINTEND
84
85 public:
86 // prevent constructor by default
87 State& operator=(State const&);
88 State(State const&);
89 State();
90 };
91
92public:
93 // member variables
94 // NOLINTBEGIN
99 // NOLINTEND
100
101public:
102 // prevent constructor by default
103 AsyncDnsResolver& operator=(AsyncDnsResolver const&);
104 AsyncDnsResolver(AsyncDnsResolver const&);
105 AsyncDnsResolver();
106
107public:
108 // virtual functions
109 // NOLINTBEGIN
110 virtual ~AsyncDnsResolver() /*override*/ = default;
111
112 virtual void Start(::webrtc::SocketAddress const& addr, ::absl::AnyInvocable<void()> callback) /*override*/;
113
114 virtual void
115 Start(::webrtc::SocketAddress const& addr, int family, ::absl::AnyInvocable<void()> callback) /*override*/;
116
117 virtual ::webrtc::AsyncDnsResolverResult const& result() const /*override*/;
118 // NOLINTEND
119
120public:
121 // member functions
122 // NOLINTBEGIN
123 MCNAPI AsyncDnsResolver(
124 ::webrtc::TaskQueueBase* workerThread,
125 ::std::shared_ptr<::NetherNet::DnsCache> cache,
126 ::std::function<void()> beforeResolve
127 );
128 // NOLINTEND
129
130public:
131 // constructor thunks
132 // NOLINTBEGIN
133 MCNAPI void* $ctor(
134 ::webrtc::TaskQueueBase* workerThread,
135 ::std::shared_ptr<::NetherNet::DnsCache> cache,
136 ::std::function<void()> beforeResolve
137 );
138 // NOLINTEND
139
140public:
141 // virtual function thunks
142 // NOLINTBEGIN
143 MCNAPI void $Start(::webrtc::SocketAddress const& addr, ::absl::AnyInvocable<void()> callback);
144
145 MCNAPI void $Start(::webrtc::SocketAddress const& addr, int family, ::absl::AnyInvocable<void()> callback);
146
147 MCNAPI ::webrtc::AsyncDnsResolverResult const& $result() const;
148
149
150 // NOLINTEND
151};
152
153} // namespace NetherNet
Definition AsyncDnsResolver.h:42
MCAPI bool $GetResolvedAddress(int family, ::webrtc::SocketAddress *addr) const
Definition AsyncDnsResolver.h:27
MCAPI void * $ctor(::webrtc::TaskQueueBase *workerThread, ::std::shared_ptr<::NetherNet::DnsCache > cache, ::std::function< void()> beforeResolve)
MCAPI::webrtc::AsyncDnsResolverResult const & $result() const
MCAPI void $Start(::webrtc::SocketAddress const &addr, ::absl::AnyInvocable< void()> callback)
Definition DnsCache.h:15
Definition AnyInvocable.h:8
Definition AsyncDnsResolverInterface.h:16
Definition AsyncDnsResolverResult.h:12
Definition SocketAddress.h:11
Definition TaskQueueBase.h:16
STL namespace.
Definition Alias.h:14