LeviLamina
Loading...
Searching...
No Matches
WebSocket.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/AsyncPromise.h"
7#include "mc/deps/core/threading/IAsyncResult.h"
8
9// auto generated forward declare list
10// clang-format off
12struct XAsyncBlock;
13namespace Bedrock::Http { class HeaderCollection; }
14// clang-format on
15
16namespace Bedrock::Http {
17
18class WebSocket : public ::std::enable_shared_from_this<::Bedrock::Http::WebSocket> {
19public:
20 // member variables
21 // NOLINTBEGIN
25 // NOLINTEND
26
27public:
28 // prevent constructor by default
29 WebSocket& operator=(WebSocket const&);
30 WebSocket(WebSocket const&);
31 WebSocket();
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 0
37 virtual ~WebSocket() = default;
38
39 // vIndex: 1
40 virtual void onMessage(::std::string_view);
41
42 // vIndex: 2
43 virtual void onBinaryMessage(::gsl::span<uchar const>);
44
45 // vIndex: 3
46 virtual void onClose(uint);
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>>
53 connect(::std::string const& uri, ::Bedrock::Http::HeaderCollection const& headers);
54
55 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>>
56 send(::std::string const& message) const;
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
63
64 MCNAPI static void _onConnect(
65 ::XAsyncBlock* asyncConnect,
66 ::std::weak_ptr<::Bedrock::Http::WebSocket> weakThis,
68 ::HC_WEBSOCKET_OBSERVER* connectHandle
69 );
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCNAPI void $onMessage(::std::string_view);
76
77 MCNAPI void $onBinaryMessage(::gsl::span<uchar const>);
78
79 MCNAPI void $onClose(uint);
80 // NOLINTEND
81
82public:
83 // vftables
84 // NOLINTBEGIN
85 MCNAPI static void** $vftable();
86 // NOLINTEND
87};
88
89} // namespace Bedrock::Http
Definition HeaderCollection.h:7
Definition WebSocket.h:18
static MCAPI void _onConnect(::XAsyncBlock *asyncConnect, ::std::weak_ptr<::Bedrock::Http::WebSocket > weakThis, ::Bedrock::Threading::AsyncPromise<::std::error_code > onComplete, ::HC_WEBSOCKET_OBSERVER *connectHandle)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > send(::std::string const &message) const
static MCAPI void ** $vftable()
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > connect(::std::string const &uri, ::Bedrock::Http::HeaderCollection const &headers)
MCAPI void $onClose(uint)
MCAPI void $onBinaryMessage(::gsl::span< uchar const >)
static MCAPI void _deallocateSocketAsync(::HC_WEBSOCKET_OBSERVER *handle)
MCAPI void $onMessage(::std::string_view)
Definition AsyncPromise.h:8
Definition HC_WEBSOCKET_OBSERVER.h:14
Definition XAsyncBlock.h:10
Definition Alias.h:14