LeviLamina
Loading...
Searching...
No Matches
NetworkWorldJoiner.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/network/realms/FailureReason.h"
7#include "mc/client/world/JoinRealmWorldResult.h"
8#include "mc/client/world/JoinServerWorldResult.h"
9#include "mc/client/world/RealmWorldJoiner.h"
10#include "mc/client/world/ServerURLResolver.h"
11#include "mc/client/world/ServerWorldJoiner.h"
12#include "mc/deps/core/utility/NonOwnerPointer.h"
13#include "mc/events/IMinecraftEventing.h"
14
15// auto generated forward declare list
16// clang-format off
17class IAppPlatform;
18class IClientInstance;
21class ProgressHandler;
22class ServerLocator;
23struct GatheringManager;
25struct IThirdPartyServerRepository;
26struct RealmsAPI;
27namespace Network { struct ServerID; }
28namespace Realms { struct RealmId; }
29namespace Social { class IUserManager; }
30namespace World { class ExternalServerWorldList; }
31namespace World { class FriendServerWorldList; }
32namespace World { class LanServerWorldList; }
33namespace World { class ThirdPartyWorldList; }
34namespace World { struct RealmsJoinData; }
35// clang-format on
36
37namespace World {
38
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 112, ::World::RealmWorldJoiner> mRealmWorldJoiner;
44 ::ll::TypedStorage<8, 192, ::World::ServerWorldJoiner> mServerWorldJoiner;
45 ::ll::TypedStorage<1, 8, ::World::ServerURLResolver> mServerURLResolver;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 NetworkWorldJoiner();
51
52public:
53 // member functions
54 // NOLINTBEGIN
55 MCAPI NetworkWorldJoiner(
56 ::IClientInstance& client,
57 ::IGameServerShutdown& gameServerShutdown,
58 ::INetworkGameConnector& networkGameConnector,
59 ::IMinecraftEventing& minecraftEventing,
60 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
61 ::Bedrock::NonOwnerPointer<::IAppPlatform> const& appPlatform,
62 ::std::weak_ptr<::RealmsAPI> realmsAPI,
63 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
64 ::ServerLocator& serverLocator,
65 ::World::ExternalServerWorldList& externalServerWorldList,
66 ::World::FriendServerWorldList& friendServerWorldList,
67 ::World::LanServerWorldList& lanServerWorldList,
68 ::World::ThirdPartyWorldList& thirdPartyWorldList,
69 bool isEduMode,
70 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager> const& gatheringManager
71 );
72
73 MCAPI void joinExternalNetworkWorld(
74 ::std::string const& id,
75 ::std::function<void(::std::unique_ptr<::ProgressHandler>, bool)> onJoinServerCompleted,
76 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
77 );
78
79 MCAPI void joinFriendServerWorld(
80 ::Network::ServerID const& serverId,
81 ::std::function<void(::World::JoinServerWorldResult)> onCompleteCallback
82 );
83
84 MCAPI void joinLANServerWorld(
85 ::Network::ServerID const& serverId,
86 ::std::function<void(::std::unique_ptr<::ProgressHandler>)> onCompleteCallback,
87 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
88 );
89
90 MCAPI void joinRealmWorld(
91 ::Realms::RealmId realmId,
92 ::IMinecraftEventing::RealmConnectionFlow fromFlow,
93 ::std::function<void(::World::JoinRealmWorldResult)> onRealmResult,
94 ::std::function<void(::std::unique_ptr<::ProgressHandler>, ::std::unique_ptr<::ProgressHandler>)>
95 onRealmFetched,
96 ::std::function<void(
97 ::IMinecraftEventing::RealmConnectionResult,
98 ::std::optional<::Realms::FailureReason>,
99 ::std::optional<::World::RealmsJoinData>
100 )> onRealmJoined
101 );
102
103 MCAPI void joinThirdPartyServerWorld(
104 ::std::string const& id,
105 ::std::function<void(::std::unique_ptr<::ProgressHandler>, bool)> onJoinServerCompleted,
106 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
107 );
108
109 MCAPI ~NetworkWorldJoiner();
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(
116 ::IClientInstance& client,
117 ::IGameServerShutdown& gameServerShutdown,
118 ::INetworkGameConnector& networkGameConnector,
119 ::IMinecraftEventing& minecraftEventing,
120 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
121 ::Bedrock::NonOwnerPointer<::IAppPlatform> const& appPlatform,
122 ::std::weak_ptr<::RealmsAPI> realmsAPI,
123 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
124 ::ServerLocator& serverLocator,
125 ::World::ExternalServerWorldList& externalServerWorldList,
126 ::World::FriendServerWorldList& friendServerWorldList,
127 ::World::LanServerWorldList& lanServerWorldList,
128 ::World::ThirdPartyWorldList& thirdPartyWorldList,
129 bool isEduMode,
130 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager> const& gatheringManager
131 );
132 // NOLINTEND
133
134public:
135 // destructor thunk
136 // NOLINTBEGIN
137 MCAPI void $dtor();
138 // NOLINTEND
139};
140
141} // namespace World
Definition IAppPlatform.h:16
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:137
Definition INetworkGameConnector.h:5
Definition ProgressHandler.h:5
Definition ServerLocator.h:19
Definition IUserManager.h:34
Definition ExternalServerWorldList.h:7
Definition FriendServerWorldList.h:7
Definition LanServerWorldList.h:7
Definition NetworkWorldJoiner.h:7
Definition ThirdPartyWorldList.h:7
Definition GatheringManager.h:5
Definition IGameServerShutdown.h:5
Definition ServerID.h:7
Definition RealmsAPI.h:5
Definition RealmId.h:7
Definition RealmsJoinData.h:7