3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/ProgressScreenNavigation.h"
7#include "mc/client/network/realms/FailureReason.h"
8#include "mc/client/network/realms/GenericStatus.h"
9#include "mc/client/network/realms/RealmsAPI.h"
10#include "mc/client/realms/PlayerRoleActions.h"
11#include "mc/client/world/JoinRealmWorldResult.h"
12#include "mc/deps/core/http/StatusCode.h"
13#include "mc/deps/core/utility/NonOwnerPointer.h"
14#include "mc/deps/core/utility/pub_sub/Publisher.h"
15#include "mc/events/IMinecraftEventing.h"
16#include "mc/options/option_types/OptionID.h"
28namespace Bedrock::PubSub::ThreadModel {
struct MultiThreaded; }
30namespace Realms {
struct World; }
42 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
43 ::ll::TypedStorage<8, 8, ::INetworkGameConnector&> mNetworkGameConnector;
44 ::ll::TypedStorage<8, 8, ::IGameServerShutdown&> mGameServerShutdown;
45 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mMinecraftEventing;
46 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::RealmsAPI>> mRealmsAPI;
47 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Social::IUserManager>> mUserManager;
48 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IAppPlatform>> mAppPlatform;
53 Publisher<void(::World::JoinRealmWorldResult), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
54 mJoinRealmWorldResultPublisher;
55 ::ll::TypedStorage<8, 104, ::ui::ProgressScreenNavigation> mProgressScreenNavigation;
56 ::ll::TypedStorage<8, 64, ::std::function<::Bedrock::NonOwnerPointer<::Parties::IPartyProvider>()>>
58 ::ll::TypedStorage<8, 64, ::std::function<bool(::Realms::World
const&, ::Realms::PlayerRoleActions)>>
59 mCanUserDoRealmRoleAction;
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AsyncTracker>> mAsyncTracker;
61 ::ll::TypedStorage<1, 1, bool> mJoinRealmWorldInProgress;
62 ::ll::TypedStorage<1, 1, bool> mIsEditorMode;
63 ::ll::TypedStorage<8, 32, ::std::string> mRealmName;
64 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRealmXuids;
69 RealmWorldJoiner& operator=(RealmWorldJoiner
const&);
70 RealmWorldJoiner(RealmWorldJoiner
const&);
76 MCAPI
bool _isUserWorldOwner(::Realms::World
const& world)
const;
78 MCAPI
void _joinRealm(
79 ::IMinecraftEventing::RealmConnectionFlow fromFlow,
80 ::Realms::World& world,
81 ::std::function<
void(::std::unique_ptr<::ProgressHandler>, ::std::unique_ptr<::ProgressHandler>)>
82 onRealmFetchedCallback,
84 ::IMinecraftEventing::RealmConnectionResult,
85 ::std::optional<::Realms::FailureReason>,
86 ::std::optional<::World::RealmsJoinData>
87 )> onRealmJoinedCallback
90 MCAPI
void _joinRealmsWorld(
91 ::Realms::World world,
92 ::std::function<
void(::Social::GameConnectionInfo
const&,
bool)> successCallback,
93 ::std::function<
void(::Realms::GenericStatus, ::RealmsAPI::JoinStatus, ::Realms::FailureReason)> failCallback,
94 ::std::function<
void(
int)> retryCallback,
95 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
96 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow)> broadcastConnectionEventRealmsRequestFunction,
97 ::std::function<
void(::IMinecraftEventing::RealmConnectionFlow, ::Bedrock::Http::StatusCode)>
98 broadcastConnectionEventRealmsResponseFunction
101 MCAPI
bool _shouldShowRealmWarning(::OptionID optionID)
const;
103 MCAPI
void joinRealmWorldV2(::std::string
const& realmIdString, ::IMinecraftEventing::RealmConnectionFlow fromFlow);
105 MCAPI
void resetJoinRealmWarningModals();
107 MCAPI ~RealmWorldJoiner();
Definition AsyncTracker.h:5
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:145
Definition INetworkGameConnector.h:5
Definition IPartyProvider.h:7
Definition ProgressHandler.h:5
Definition GameConnectionInfo.h:24
Definition IUserManager.h:7
Definition RealmWorldJoiner.h:7
Definition MultiThreaded.h:7
Definition IGameServerShutdown.h:5
Definition RealmsJoinData.h:7