LeviLamina
Loading...
Searching...
No Matches
IEduMultiplayerHeadless.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/Async.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/options/EducationServicesEnvironment.h"
9#include "mc/platform/brstd/flat_map.h"
10#include "mc/social/EduJoinerResponse.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Social { struct EduAddServerResponse; }
15namespace Social { struct EduDedicatedServerDetails; }
16namespace Social { struct EduFetchServersResponse; }
17namespace Social { struct EduHeadlessConnectionHandshake; }
18namespace Social { struct EduJoinServerResponse; }
19// clang-format on
20
21namespace Social {
22
24public:
25 // IEduMultiplayerHeadless inner types define
26 enum class ServerHealth : int {
27 Unknown = -1,
28 Poor = 0,
29 Mid = 1,
30 Good = 2,
31 };
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 // vIndex: 1
37 virtual void hostServer();
38
39 // vIndex: 2
40 virtual ::Social::EduJoinerResponse tryAcceptJoiner(::std::string const&, ::std::string const&);
41
42 // vIndex: 3
43 virtual ::std::string getHostToJoinerNonce(::std::string const&) const;
44
45 // vIndex: 4
46 virtual ::Bedrock::Threading::Async<void> onNextFetchJoiners();
47
48 // vIndex: 5
49 virtual ::Bedrock::Threading::Async<::Social::EduFetchServersResponse> requestBroadcastedServers();
50
51 // vIndex: 6
52 virtual ::Bedrock::Threading::Async<::Social::EduFetchServersResponse>
53 requestServerInfo(::std::vector<::std::string> const&);
54
55 // vIndex: 7
56 virtual ::Bedrock::Threading::Async<::Social::EduAddServerResponse> requestAddServer(::std::string const&);
57
58 // vIndex: 8
59 virtual ::Bedrock::Threading::Async<::Social::EduJoinServerResponse>
60 requestJoinServer(::std::string const&, ::std::string const&);
61
62 // vIndex: 9
63 virtual void saveCachedServersToDisk(
65 ::std::string,
67 ::std::less<::std::string>,
68 ::std::vector<::std::string>,
69 ::std::vector<::Social::EduDedicatedServerDetails>> const&
70 );
71
72 // vIndex: 10
73 virtual ::brstd::flat_map<
74 ::std::string,
76 ::std::less<::std::string>,
77 ::std::vector<::std::string>,
78 ::std::vector<::Social::EduDedicatedServerDetails>>
79 loadCachedServersFromDisk();
80
81 // vIndex: 11
82 virtual ::Social::EduHeadlessConnectionHandshake getHandshake() const;
83
84 // vIndex: 12
85 virtual ::std::string getHostIp() const;
86
87 // vIndex: 13
88 virtual int getHostPort() const;
89
90 // vIndex: 0
91 virtual ~IEduMultiplayerHeadless() /*override*/ = default;
92 // NOLINTEND
93
94public:
95 // static variables
96 // NOLINTBEGIN
97 MCNAPI static ::EducationServicesEnvironment& mCachedEnvironment();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103
104 // NOLINTEND
105};
106
107} // namespace Social
Definition EnableNonOwnerReferences.h:7
Definition IEduMultiplayerHeadless.h:23
static MCAPI ::EducationServicesEnvironment & mCachedEnvironment()
Definition flat_map.h:8
Definition EduDedicatedServerDetails.h:7