LeviLamina
Loading...
Searching...
No Matches
ClientNegotiator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/nether_net/ESessionError.h"
7#include "mc/deps/nether_net/PeerConnectionNegotiator.h"
8#include "mc/external/webrtc/PeerConnectionInterface.h"
9#include "mc/external/webrtc/RTCErrorOr.h"
10#include "mc/external/webrtc/scoped_refptr.h"
11#include "mc/platform/Result.h"
12#include "mc/platform/brstd/move_only_function.h"
13
14// auto generated forward declare list
15// clang-format off
16namespace NetherNet { class CandidateAdd; }
17namespace NetherNet { class ConnectError; }
18namespace NetherNet { class ConnectRequest; }
19namespace NetherNet { class ConnectResponse; }
20namespace NetherNet { class ContextProxy; }
21namespace NetherNet { class PeerConnectionObserver; }
22namespace webrtc { class IceCandidateInterface; }
23namespace webrtc { class PeerConnectionFactory; }
24namespace webrtc { class PeerConnectionInterface; }
25namespace webrtc { class RTCError; }
26namespace webrtc { class SessionDescriptionInterface; }
27// clang-format on
28
29namespace NetherNet {
30
31class ClientNegotiator : public ::NetherNet::PeerConnectionNegotiator {
32public:
33 // member variables
34 // NOLINTBEGIN
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
44 ClientNegotiator& operator=(ClientNegotiator const&);
45 ClientNegotiator(ClientNegotiator const&);
46 ClientNegotiator();
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 virtual ::NetherNet::ESessionError checkTimeout(::std::chrono::seconds timeout) const /*override*/;
52
53 virtual void
54 _onCreateSession(::webrtc::RTCErrorOr<::webrtc::SessionDescriptionInterface*> const& offerOrError) /*override*/;
55
56 virtual void _onSetLocalDescription(::webrtc::RTCError result) /*override*/;
57
58 virtual void onRemoteAnswer(::NetherNet::ConnectResponse const& answer) /*override*/;
59
60 virtual void onRemoteError(::NetherNet::ConnectError const& error) /*override*/;
61
62 virtual void _onSetRemoteDescription(::webrtc::RTCError result) /*override*/;
63
64 virtual void _onLocalIceCandidate(::webrtc::IceCandidateInterface const* iceCandidate);
65
66 virtual void onRemoteIceCandidate(::NetherNet::CandidateAdd const& candidate) /*override*/;
67
68 virtual ~ClientNegotiator() /*override*/;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
78 ::brstd::move_only_function<void(::std::variant<
82 ::NetherNet::CandidateAdd> const&) const> sendMessage,
83 uint64 sessionId
84 );
85
86 MCNAPI void _onIceConnectionChanged(::webrtc::PeerConnectionInterface::IceConnectionState newState);
87
88 MCNAPI void createOffer(
92 )>&& onComplete
93 );
94 // NOLINTEND
95
96public:
97 // constructor thunks
98 // NOLINTBEGIN
99 MCNAPI void* $ctor(
103 ::brstd::move_only_function<void(::std::variant<
107 ::NetherNet::CandidateAdd> const&) const> sendMessage,
108 uint64 sessionId
109 );
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115 MCNAPI void $dtor();
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCNAPI ::NetherNet::ESessionError $checkTimeout(::std::chrono::seconds timeout) const;
122
124
126
128
129 MCNAPI void $onRemoteError(::NetherNet::ConnectError const& error);
130
132
134
136
137
138 // NOLINTEND
139
140public:
141 // vftables
142 // NOLINTBEGIN
143 MCNAPI static void** $vftable();
144 // NOLINTEND
145};
146
147} // namespace NetherNet
Definition Result.h:9
Definition CandidateAdd.h:7
MCAPI void $_onCreateSession(::webrtc::RTCErrorOr<::webrtc::SessionDescriptionInterface * > const &offerOrError)
static MCAPI void ** $vftable()
MCAPI void $onRemoteError(::NetherNet::ConnectError const &error)
MCAPI::NetherNet::ESessionError $checkTimeout(::std::chrono::seconds timeout) const
MCAPI void _onIceConnectionChanged(::webrtc::PeerConnectionInterface::IceConnectionState newState)
MCAPI void * $ctor(::NetherNet::ContextProxy const &ctx, ::webrtc::scoped_refptr<::webrtc::PeerConnectionFactory > factory, ::webrtc::scoped_refptr<::NetherNet::PeerConnectionObserver > observer, ::brstd::move_only_function< void(::std::variant< ::NetherNet::ConnectRequest, ::NetherNet::ConnectResponse, ::NetherNet::ConnectError, ::NetherNet::CandidateAdd > const &) const > sendMessage, uint64 sessionId)
MCAPI void $onRemoteIceCandidate(::NetherNet::CandidateAdd const &candidate)
MCAPI void createOffer(::webrtc::PeerConnectionInterface::RTCConfiguration const &config, ::brstd::move_only_function< void(::Bedrock::Result<::webrtc::scoped_refptr<::webrtc::PeerConnectionInterface >, ::NetherNet::ESessionError >)> &&onComplete)
MCAPI void $onRemoteAnswer(::NetherNet::ConnectResponse const &answer)
MCAPI void $_onSetRemoteDescription(::webrtc::RTCError result)
MCAPI void $_onSetLocalDescription(::webrtc::RTCError result)
MCAPI void $_onLocalIceCandidate(::webrtc::IceCandidateInterface const *iceCandidate)
MCAPI ClientNegotiator(::NetherNet::ContextProxy const &ctx, ::webrtc::scoped_refptr<::webrtc::PeerConnectionFactory > factory, ::webrtc::scoped_refptr<::NetherNet::PeerConnectionObserver > observer, ::brstd::move_only_function< void(::std::variant< ::NetherNet::ConnectRequest, ::NetherNet::ConnectResponse, ::NetherNet::ConnectError, ::NetherNet::CandidateAdd > const &) const > sendMessage, uint64 sessionId)
Definition ConnectError.h:7
Definition ConnectRequest.h:12
Definition ConnectResponse.h:12
Definition ContextProxy.h:18
Definition PeerConnectionNegotiator.h:30
Definition PeerConnectionObserver.h:22
Definition move_only_function.h:9
Definition IceCandidateInterface.h:12
Definition PeerConnectionFactory.h:31
Definition PeerConnectionInterface.h:44
Definition RTCErrorOr.h:8
Definition RTCError.h:10
Definition SessionDescriptionInterface.h:18
Definition scoped_refptr.h:8
Definition ctx.h:5
Definition Alias.h:14
Definition PeerConnectionInterface.h:198