3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/game/edu_cloud/UploadWorldProgress.h"
7#include "mc/client/gui/EmptyProgressHandler.h"
8#include "mc/client/gui/ProgressAnimation.h"
9#include "mc/client/services/ms_graph/GraphResponse.h"
10#include "mc/deps/core/threading/Async.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12#include "mc/platform/Result.h"
13#include "mc/world/actor/player/LoadingState.h"
14#include "mc/world/level/storage/CloudSaveLevelInfo.h"
20namespace MSGraph::Models {
struct DriveItem; }
21namespace MSGraph::Models {
struct GraphError; }
28 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem>> mEduCloudSaveSystem;
29 ::ll::TypedStorage<4, 4, ::LoadingState> mLoadingState;
30 ::ll::TypedStorage<4, 4, ::EduCloud::UploadWorldProgress> mUploadWorldProgress;
31 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<::Bedrock::Result<bool>>> mUploadHandle;
32 ::ll::TypedStorage<8, 176, ::std::optional<::CloudSaveLevelInfo>> mCloudSaveLevelInfo;
36 ::Bedrock::Threading::Async<::Bedrock::Result<::MSGraph::Models::DriveItem, ::MSGraph::Models::GraphError>>>
38 ::ll::TypedStorage<8, 32, ::std::string> mLevelId;
39 ::ll::TypedStorage<8, 32, ::std::string> mLevelName;
40 ::ll::TypedStorage<4, 4, ::MSGraph::GraphResponse> mErrorStatus;
41 ::ll::TypedStorage<1, 1, bool> mShouldRetryAsNewFile;
42 ::ll::TypedStorage<1, 1, bool> mHasRetriedAsNewFile;
43 ::ll::TypedStorage<1, 1, bool> mExitingErrorScreen;
44 ::ll::TypedStorage<1, 1, bool> mCanceled;
45 ::ll::TypedStorage<8, 32, ::std::string> mTitleText;
46 ::ll::TypedStorage<8, 32, ::std::string> mProgressText;
47 ::ll::TypedStorage<8, 8, ::std::chrono::milliseconds> mEduCloudIsDoneInterval;
48 ::ll::TypedStorage<1, 1, bool> mIsSyncing;
49 ::ll::TypedStorage<8, 32, ::std::string> mPreviousProgressText;
50 ::ll::TypedStorage<4, 4, float> mResumableLoadingProgress;
51 ::ll::TypedStorage<4, 4, float> mLoadingCompletedSpeed;
52 ::ll::TypedStorage<8, 8, uint64> mFileSize;
53 ::ll::TypedStorage<8, 8, uint64> mResumableCurrentUploadedAmount;
54 ::ll::TypedStorage<8, 8, uint64> mResumableCurrentChunkSize;
59 EduCloudUploadProgressHandler();
64 virtual void tick(::MinecraftScreenModel& minecraftScreenModel) ;
66 virtual void onComplete(::MinecraftScreenModel& minecraftScreenModel) ;
68 virtual void onCancel(::MinecraftScreenModel&) ;
70 virtual void onStart(::MinecraftScreenModel& minecraftScreenModel) ;
72 virtual ::LoadingState getLoadingState(::MinecraftScreenModel&)
const ;
74 virtual ::std::string getProgressMessage(::MinecraftScreenModel&)
const ;
76 virtual float getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel)
const ;
78 virtual ::std::string getTitleText() const ;
80 virtual ::std::
string getName() const ;
82 virtual ::ProgressAnimation showLoadingBar() const ;
88 MCAPI EduCloudUploadProgressHandler(
89 ::std::
string levelId,
90 ::std::
string levelName,
91 ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> eduCloudSaveSystem,
92 ::std::optional<::CloudSaveLevelInfo> cloudSaveLevelInfo
95 MCAPI
bool exitingErrorScreen() const;
97 MCAPI ::std::optional<::CloudSaveLevelInfo> getCloudSaveLevelInfo() const;
99 MCAPI ::std::chrono::milliseconds const getIsDoneInterval() const;
101 MCFOLD ::std::
string getLevelId() const;
103 MCAPI ::std::
string const getUploadErrorCode() const;
105 MCFOLD ::MSGraph::GraphResponse getUploadErrorStatus() const;
107 MCAPI
void getUploadErrorStrings(::MSGraph::GraphResponse errorStatus);
109 MCAPI
void startUpload();
111 MCAPI
void updateText(::MinecraftScreenModel& minecraftScreenModel);
118 ::std::
string levelId,
119 ::std::
string levelName,
120 ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> eduCloudSaveSystem,
121 ::std::optional<::CloudSaveLevelInfo> cloudSaveLevelInfo
128 MCAPI
void $tick(::MinecraftScreenModel& minecraftScreenModel);
130 MCFOLD
void $onComplete(::MinecraftScreenModel& minecraftScreenModel);
132 MCAPI
void $onCancel(::MinecraftScreenModel&);
134 MCAPI
void $onStart(::MinecraftScreenModel& minecraftScreenModel);
136 MCFOLD ::LoadingState $getLoadingState(::MinecraftScreenModel&) const;
138 MCAPI ::std::
string $getProgressMessage(::MinecraftScreenModel&) const;
140 MCAPI
float $getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel) const;
142 MCFOLD ::std::
string $getTitleText() const;
144 MCAPI ::std::
string $getName() const;
146 MCFOLD ::ProgressAnimation $showLoadingBar() const;
Definition EduCloudUploadProgressHandler.h:5
static MCAPI void ** $vftable()
Definition EmptyProgressHandler.h:5
Definition MinecraftScreenModel.h:5
Definition IEduCloudSaveSystem.h:7
Definition GraphError.h:7