Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RealmWorldJoiner.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
17
18// auto generated forward declare list
19// clang-format off
20class AsyncTracker;
21class IAppPlatform;
22class IClientInstance;
25class ProgressHandler;
26class RealmsAPI;
28namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
29namespace Parties { class IPartyProvider; }
30namespace Realms { struct World; }
31namespace Social { class GameConnectionInfo; }
32namespace Social { class IUserManager; }
33namespace World { struct RealmsJoinData; }
34namespace World { struct RecentlyPlayedPendingTargetData; }
35// clang-format on
36
37namespace World {
38
39class RealmWorldJoiner {
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClient;
44 ::ll::TypedStorage<8, 8, ::INetworkGameConnector&> mNetworkGameConnector;
45 ::ll::TypedStorage<8, 8, ::IGameServerShutdown&> mGameServerShutdown;
46 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mMinecraftEventing;
47 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::RealmsAPI>> mRealmsAPI;
48 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Social::IUserManager>> mUserManager;
49 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IAppPlatform>> mAppPlatform;
50 ::ll::TypedStorage<
51 8,
52 128,
53 ::Bedrock::PubSub::
54 Publisher<void(::World::JoinRealmWorldResult), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
55 mJoinRealmWorldResultPublisher;
56 ::ll::TypedStorage<8, 104, ::ui::ProgressScreenNavigation> mProgressScreenNavigation;
57 ::ll::TypedStorage<8, 64, ::std::function<::Bedrock::NonOwnerPointer<::Parties::IPartyProvider>()>>
58 mGetPartyProvider;
59 ::ll::TypedStorage<8, 64, ::std::function<bool(::Realms::World const&, ::Realms::PlayerRoleActions)>>
60 mCanUserDoRealmRoleAction;
61 ::ll::TypedStorage<8, 64, ::std::function<void(::World::RecentlyPlayedPendingTargetData)>>
62 mPrepareRecentlyPlayedTarget;
63 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::AsyncTracker>> mAsyncTracker;
64 ::ll::TypedStorage<1, 1, bool> mJoinRealmWorldInProgress;
65 ::ll::TypedStorage<1, 1, bool> mIsEditorMode;
66 ::ll::TypedStorage<8, 32, ::std::string> mRealmName;
67 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRealmXuids;
68 // NOLINTEND
69
70public:
71 // prevent constructor by default
72 RealmWorldJoiner& operator=(RealmWorldJoiner const&);
73 RealmWorldJoiner(RealmWorldJoiner const&);
74 RealmWorldJoiner();
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCNAPI bool _isUserWorldOwner(::Realms::World const& world) const;
80
81 MCNAPI void _joinRealm(
82 ::IMinecraftEventing::RealmConnectionFlow fromFlow,
83 ::Realms::World& world,
84 ::std::function<void(::std::unique_ptr<::ProgressHandler>, ::std::unique_ptr<::ProgressHandler>)>
85 onRealmFetchedCallback,
86 ::std::function<void(
87 ::IMinecraftEventing::RealmConnectionResult,
88 ::std::optional<::Realms::FailureReason>,
89 ::std::optional<::World::RealmsJoinData>
90 )> onRealmJoinedCallback
91 );
92
93 MCNAPI void _joinRealmsWorld(
94 ::Realms::World world,
95 ::std::function<void(::Social::GameConnectionInfo const&, bool)> successCallback,
96 ::std::function<void(::Realms::GenericStatus, ::RealmsAPI::JoinStatus, ::Realms::FailureReason)> failCallback,
97 ::std::function<void(int)> retryCallback,
98 ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow,
99 ::std::function<void(::IMinecraftEventing::RealmConnectionFlow)> broadcastConnectionEventRealmsRequestFunction,
100 ::std::function<void(::IMinecraftEventing::RealmConnectionFlow, ::Bedrock::Http::StatusCode)>
101 broadcastConnectionEventRealmsResponseFunction
102 );
103
104 MCNAPI bool _shouldShowRealmWarning(::OptionID optionID) const;
105
106 MCNAPI void
107 joinRealmWorldV2(::std::string const& realmIdString, ::IMinecraftEventing::RealmConnectionFlow fromFlow);
108
110
112 // NOLINTEND
113
114public:
115 // destructor thunk
116 // NOLINTBEGIN
117 MCNAPI void $dtor();
118 // NOLINTEND
119};
120
121} // namespace World
Definition AsyncTracker.h:5
Definition IAppPlatform.h:15
Definition IClientInstance.h:5
Definition IMinecraftEventing.h:152
Definition INetworkGameConnector.h:5
Definition IPartyProvider.h:7
Definition ProgressHandler.h:5
Definition RealmsAPI.h:5
Definition GameConnectionInfo.h:24
Definition IUserManager.h:7
Definition RealmWorldJoiner.h:7
MCAPI bool _isUserWorldOwner(::Realms::World const &world) const
MCAPI void joinRealmWorldV2(::std::string const &realmIdString, ::IMinecraftEventing::RealmConnectionFlow fromFlow)
MCAPI bool _shouldShowRealmWarning(::OptionID optionID) const
MCAPI void _joinRealmsWorld(::Realms::World world, ::std::function< void(::Social::GameConnectionInfo const &, bool)> successCallback, ::std::function< void(::Realms::GenericStatus, ::RealmsAPI::JoinStatus, ::Realms::FailureReason)> failCallback, ::std::function< void(int)> retryCallback, ::IMinecraftEventing::RealmConnectionFlow realmConnectionFlow, ::std::function< void(::IMinecraftEventing::RealmConnectionFlow)> broadcastConnectionEventRealmsRequestFunction, ::std::function< void(::IMinecraftEventing::RealmConnectionFlow, ::Bedrock::Http::StatusCode)> broadcastConnectionEventRealmsResponseFunction)
MCAPI void resetJoinRealmWarningModals()
MCAPI void _joinRealm(::IMinecraftEventing::RealmConnectionFlow fromFlow, ::Realms::World &world, ::std::function< void(::std::unique_ptr<::ProgressHandler >, ::std::unique_ptr<::ProgressHandler >)> onRealmFetchedCallback, ::std::function< void(::IMinecraftEventing::RealmConnectionResult, ::std::optional<::Realms::FailureReason >, ::std::optional<::World::RealmsJoinData >)> onRealmJoinedCallback)
Definition IGameServerShutdown.h:5
Definition World.h:7
Definition RealmsJoinData.h:7
Definition RecentlyPlayedPendingTargetData.h:7