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 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
76 ::brstd::move_only_function<void(::std::variant<
80 ::NetherNet::CandidateAdd> const&) const> sendMessage,
81 uint64 sessionId
82 );
83
86 );
87
88 MCNAPI void _onIceConnectionChanged(::webrtc::PeerConnectionInterface::IceConnectionState newState);
89
90 MCNAPI void createOffer(
94 )>&& onComplete
95 );
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCNAPI void* $ctor(
105 ::brstd::move_only_function<void(::std::variant<
109 ::NetherNet::CandidateAdd> const&) const> sendMessage,
110 uint64 sessionId
111 );
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCNAPI ::NetherNet::ESessionError $checkTimeout(::std::chrono::seconds timeout) const;
118
120
122
124
125 MCNAPI void $onRemoteError(::NetherNet::ConnectError const& error);
126
128
130
132
133
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCNAPI static void** $vftable();
140 // NOLINTEND
141};
142
143} // 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 _completeAndClearConnection(::Bedrock::Result<::webrtc::scoped_refptr<::webrtc::PeerConnectionInterface >, ::NetherNet::ESessionError > 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:7
Definition ConnectResponse.h:7
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