Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RakWebSocket.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/websockets/CloseStatusCode.h"
7#include "mc/websockets/OpCode.h"
8#include "mc/websockets/WSConnectionResult.h"
9
10// auto generated forward declare list
11// clang-format off
13namespace RakNet { class BitStream; }
14// clang-format on
15
16class RakWebSocket {
17public:
18 // RakWebSocket inner types define
19 enum class ConnectionState : int {
20 None = 0,
21 CloseHandshake = 1,
22 Starting = 2,
23 Connecting = 3,
24 OpenHandshakeInit = 4,
25 OpenHandshakeAwait = 5,
26 OpenAndProcessing = 6,
27 };
28
29 enum class PacketDirection : int {
30 Inward = 1,
31 Outward = 2,
32 Bothways = 3,
33 };
34
35public:
36 // member variables
37 // NOLINTBEGIN
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 RakWebSocket& operator=(RakWebSocket const&);
70 RakWebSocket(RakWebSocket const&);
71 RakWebSocket();
72
73public:
74 // virtual functions
75 // NOLINTBEGIN
76 virtual ~RakWebSocket() = default;
77
78 virtual ::WSConnectionResult connect(::std::string const& uri, ::std::vector<::std::string> const& subProtocols);
79
80 virtual ::WSConnectionResult connect(::std::string const& uri);
81
82 virtual bool isReady() const;
83
84 virtual void setOnMessageReceivedHandler(::std::function<void(::RakWebSocketDataFrame const&)> const& handler);
85
86 virtual void setOnCloseHandler(::std::function<void(::CloseStatusCode, ::std::string const&)> const& handler);
87
88 virtual void setOnConnectedHandler(::std::function<void(::std::string const&)> const& handler);
89
90 virtual void tick();
91
92 virtual void _updateState() = 0;
93
94 virtual uint _genMaskingKey() const = 0;
95 // NOLINTEND
96
97public:
98 // member functions
99 // NOLINTBEGIN
100 MCNAPI void _close(::CloseStatusCode code);
101
102 MCNAPI void _fail(::std::string const& error, ::CloseStatusCode code);
103
104 MCNAPI ::std::string _generateBase64SHA1Key(::std::string const& key);
105
106 MCNAPI void _processDataFrames(::RakNet::BitStream& newIncoming);
107
108 MCNAPI bool
109 _processPacket(::std::function<void(::RakNet::BitStream&)> const& processStep, bool acceptNewConnection);
110
111 MCNAPI void _reset();
112
113 MCNAPI bool _sendCloseFrame(::CloseStatusCode code, ::std::string const& reason);
114
115 MCNAPI bool _sendNonControlFrame(uchar const* payload, uint64 size, ::OpCode opCode);
116
117 MCNAPI bool _sendTextFrame(::std::string const& text);
118 // NOLINTEND
119
120public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCNAPI ::WSConnectionResult $connect(::std::string const& uri, ::std::vector<::std::string> const& subProtocols);
124
125 MCNAPI ::WSConnectionResult $connect(::std::string const& uri);
126
127 MCNAPI bool $isReady() const;
128
129 MCNAPI void $setOnMessageReceivedHandler(::std::function<void(::RakWebSocketDataFrame const&)> const& handler);
130
131 MCNAPI void $setOnCloseHandler(::std::function<void(::CloseStatusCode, ::std::string const&)> const& handler);
132
133 MCNAPI void $setOnConnectedHandler(::std::function<void(::std::string const&)> const& handler);
134
135 MCNAPI void $tick();
136
137
138 // NOLINTEND
139};
Definition BitStream.h:7
Definition RakWebSocketDataFrame.h:13
MCAPI void $tick()
MCAPI bool _sendTextFrame(::std::string const &text)
MCAPI void $setOnCloseHandler(::std::function< void(::CloseStatusCode, ::std::string const &)> const &handler)
MCAPI bool _sendCloseFrame(::CloseStatusCode code, ::std::string const &reason)
MCAPI void _fail(::std::string const &error, ::CloseStatusCode code)
MCAPI void $setOnMessageReceivedHandler(::std::function< void(::RakWebSocketDataFrame const &)> const &handler)
MCAPI void _reset()
MCAPI::WSConnectionResult $connect(::std::string const &uri, ::std::vector<::std::string > const &subProtocols)
MCAPI::WSConnectionResult $connect(::std::string const &uri)
MCAPI bool _sendNonControlFrame(uchar const *payload, uint64 size, ::OpCode opCode)
MCAPI bool _processPacket(::std::function< void(::RakNet::BitStream &)> const &processStep, bool acceptNewConnection)
MCAPI bool $isReady() const
MCAPI void $setOnConnectedHandler(::std::function< void(::std::string const &)> const &handler)
MCAPI void _close(::CloseStatusCode code)
MCAPI::std::string _generateBase64SHA1Key(::std::string const &key)
MCAPI void _processDataFrames(::RakNet::BitStream &newIncoming)
Definition code.h:5
Definition Alias.h:14