3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/ProgressHandler.h"
7#include "mc/util/CallbackToken.h"
8#include "mc/world/actor/player/LoadingState.h"
13namespace Core {
class Result; }
24 enum class State :
int {
26 WaitingForRequest = 1,
31 class SyncState :
public ::std::enable_shared_from_this<::RemoteStorageProviderSyncProgressHandler::SyncState> {
35 ::ll::TypedStorage<4, 4, ::RemoteStorageProviderSyncProgressHandler::State> mState;
36 ::ll::TypedStorage<1, 1, bool> mSyncSuccess;
37 ::ll::TypedStorage<8, 64, ::std::function<void(::Core::Result)>> mCompletedCallback;
38 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mCompletedCallbackCalled;
44 MCAPI
void onCompleted(::Core::Result&& result,
bool canceled);
51 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RemoteStorageProviderSyncProgressHandler::SyncState>> mSyncState;
52 ::ll::TypedStorage<8, 64, ::std::function<::CallbackToken(::std::function<
void(::Core::Result)>)>> mActionCallback;
53 ::ll::TypedStorage<8, 64, ::std::function<void(::Core::Result)>> mOnProgressHandlerCompletion;
54 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mStartTimestamp;
55 ::ll::TypedStorage<8, 16, ::CallbackToken> mSyncToken;
56 ::ll::TypedStorage<8, 32, ::std::string> mScreenName;
61 RemoteStorageProviderSyncProgressHandler();
66 virtual ~RemoteStorageProviderSyncProgressHandler() ;
68 virtual void onStart(::MinecraftScreenModel& minecraftScreenModel) ;
70 virtual void tick(::MinecraftScreenModel& minecraftScreenModel) ;
72 virtual void onCancel(::MinecraftScreenModel& minecraftScreenModel) ;
74 virtual void onExit(::MinecraftScreenModel& minecraftScreenModel) ;
76 virtual ::LoadingState getLoadingState(::MinecraftScreenModel& minecraftScreenModel)
const ;
78 virtual ::std::string getProgressMessage(::MinecraftScreenModel&)
const ;
80 virtual ::std::string getTitleText() const ;
82 virtual ::std::
string getName() const ;
88 MCAPI RemoteStorageProviderSyncProgressHandler(
89 ::std::function<::CallbackToken(::std::function<
void(::Core::Result)>)> actionCallback,
90 ::std::function<
void(::Core::Result)> completedCallback,
91 ::std::function<
void(::Core::Result)> onProgressHandlerCompletion,
92 ::std::
string const& screenName
100 ::std::function<::CallbackToken(::std::function<
void(::Core::Result)>)> actionCallback,
101 ::std::function<
void(::Core::Result)> completedCallback,
102 ::std::function<
void(::Core::Result)> onProgressHandlerCompletion,
103 ::std::
string const& screenName
116 MCAPI
void $onStart(::MinecraftScreenModel& minecraftScreenModel);
118 MCAPI
void $tick(::MinecraftScreenModel& minecraftScreenModel);
120 MCAPI
void $onCancel(::MinecraftScreenModel& minecraftScreenModel);
122 MCAPI
void $onExit(::MinecraftScreenModel& minecraftScreenModel);
124 MCAPI ::LoadingState $getLoadingState(::MinecraftScreenModel& minecraftScreenModel) const;
126 MCAPI ::std::
string $getProgressMessage(::MinecraftScreenModel&) const;
128 MCAPI ::std::
string $getTitleText() const;
130 MCAPI ::std::
string $getName() const;
Definition MinecraftScreenModel.h:5
Definition ProgressHandler.h:5
Definition RemoteStorageProviderSyncProgressHandler.h:15
Definition RemoteStorageProviderSyncProgressHandler.h:5
static MCAPI void ** $vftable()