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
18class IAppPlatform;
19class IClientInstance;
22class IThirdPartyServerRepository;
23class ProgressHandler;
24class RealmsAPI;
25class ServerLocator;
27namespace Bedrock::PubSub { class Subscription; }
28namespace Network { struct ServerID; }
29namespace OreUI { class Router; }
30namespace Parties { class IPartyProvider; }
31namespace Realms { struct RealmId; }
32namespace Social { class IUserManager; }
33namespace World { class ExternalServerWorldList; }
34namespace World { class FriendServerWorldList; }
35namespace World { class LanServerWorldList; }
36namespace World { class ThirdPartyWorldList; }
37namespace World { struct RealmsJoinData; }
38namespace ui { class ProgressScreenNavigation; }
39// clang-format on
40
41namespace World {
42
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<8, 472, ::World::RealmWorldJoiner> mRealmWorldJoiner;
48 ::ll::TypedStorage<8, 192, ::World::ServerWorldJoiner> mServerWorldJoiner;
49 ::ll::TypedStorage<8, 8, ::World::ServerURLResolver> mServerURLResolver;
50 ::ll::TypedStorage<8, 8, ::OreUI::Router&> mRouter;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 NetworkWorldJoiner& operator=(NetworkWorldJoiner const&);
56 NetworkWorldJoiner(NetworkWorldJoiner const&);
57 NetworkWorldJoiner();
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI NetworkWorldJoiner(
63 ::IClientInstance& client,
64 ::IGameServerShutdown& gameServerShutdown,
65 ::INetworkGameConnector& networkGameConnector,
66 ::IMinecraftEventing& minecraftEventing,
67 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
68 ::Bedrock::NonOwnerPointer<::IAppPlatform> const& appPlatform,
69 ::std::weak_ptr<::RealmsAPI> realmsAPI,
70 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
71 ::ServerLocator& serverLocator,
72 ::World::ExternalServerWorldList& externalServerWorldList,
73 ::World::FriendServerWorldList& friendServerWorldList,
74 ::World::LanServerWorldList& lanServerWorldList,
75 ::World::ThirdPartyWorldList& thirdPartyWorldList,
76 bool isEduMode,
77 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager> const& gatheringManager,
78 ::ui::ProgressScreenNavigation progressScreenNavigation,
79 ::OreUI::Router& router,
80 ::std::function<::Bedrock::NonOwnerPointer<::Parties::IPartyProvider>()> getPartyProvider,
81 ::std::function<bool(::Realms::RealmId)> isRealmJoinable
82 );
83
84 MCAPI void joinExternalNetworkWorld(
85 ::std::string const& id,
86 ::std::function<void(::std::deque<::std::unique_ptr<::ProgressHandler>>, bool)> onJoinServerCompleted,
87 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
88 );
89
90 MCAPI void joinFriendServerWorld(
91 ::Network::ServerID const& serverId,
92 ::std::function<void(::World::JoinServerWorldResult)> onCompleteCallback
93 );
94
95 MCAPI void joinLANServerWorld(
96 ::Network::ServerID const& serverId,
97 ::std::function<void(::std::unique_ptr<::ProgressHandler>)> onCompleteCallback,
98 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
99 );
100
101 MCAPI void joinRealmWorld(
102 ::Realms::RealmId realmId,
103 ::IMinecraftEventing::RealmConnectionFlow fromFlow,
104 ::std::function<void(::World::JoinRealmWorldResult)> onRealmResult,
105 ::std::function<void(::std::unique_ptr<::ProgressHandler>, ::std::unique_ptr<::ProgressHandler>)>
106 onRealmFetched,
107 ::std::function<void(
108 ::IMinecraftEventing::RealmConnectionResult,
109 ::std::optional<::Realms::FailureReason>,
110 ::std::optional<::World::RealmsJoinData>
111 )> onRealmJoined
112 );
113
114 MCAPI void
115 joinRealmWorldWithRoute(::std::string const& realmIdString, ::IMinecraftEventing::RealmConnectionFlow fromFlow);
116
117 MCAPI void joinThirdPartyServerWorld(
118 ::std::string const& id,
119 ::std::function<void(::std::deque<::std::unique_ptr<::ProgressHandler>>, bool)> onJoinServerCompleted,
120 ::std::function<void(::World::JoinServerWorldResult)> onErrorCallback
121 );
122
123 MCAPI ::Bedrock::PubSub::Subscription subscribeToJoinRealmWorldResultPublisher(
124 ::std::function<void(::World::JoinRealmWorldResult)> onJoinRealmWorldResult
125 );
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
131 MCAPI void* $ctor(
132 ::IClientInstance& client,
133 ::IGameServerShutdown& gameServerShutdown,
134 ::INetworkGameConnector& networkGameConnector,
135 ::IMinecraftEventing& minecraftEventing,
136 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager,
137 ::Bedrock::NonOwnerPointer<::IAppPlatform> const& appPlatform,
138 ::std::weak_ptr<::RealmsAPI> realmsAPI,
139 ::Bedrock::NotNullNonOwnerPtr<::IThirdPartyServerRepository> thirdPartyServerRepository,
140 ::ServerLocator& serverLocator,
141 ::World::ExternalServerWorldList& externalServerWorldList,
142 ::World::FriendServerWorldList& friendServerWorldList,
143 ::World::LanServerWorldList& lanServerWorldList,
144 ::World::ThirdPartyWorldList& thirdPartyWorldList,
145 bool isEduMode,
146 ::Bedrock::NotNullNonOwnerPtr<::GatheringManager> const& gatheringManager,
147 ::ui::ProgressScreenNavigation progressScreenNavigation,
148 ::OreUI::Router& router,
149 ::std::function<::Bedrock::NonOwnerPointer<::Parties::IPartyProvider>()> getPartyProvider,
150 ::std::function<bool(::Realms::RealmId)> isRealmJoinable
151 );
152 // NOLINTEND
153};
154
155} // namespace World
Definition Subscription.h:10
Definition GatheringManager.h:5
Definition IAppPlatform.h:15
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:134
Definition INetworkGameConnector.h:5
Definition Router.h:7
Definition IPartyProvider.h:7
Definition ProgressHandler.h:5
Definition RealmsAPI.h:5
Definition ServerLocator.h:17
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 ProgressScreenNavigation.h:7
Definition IGameServerShutdown.h:5
Definition ServerID.h:7
Definition RealmId.h:7
Definition RealmsJoinData.h:7