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 onCancel(::MinecraftScreenModel& minecraftScreenModel) ;
68 virtual void onStart(::MinecraftScreenModel& minecraftScreenModel) ;
70 virtual ::LoadingState getLoadingState(::MinecraftScreenModel& minecraftScreenModel)
const ;
72 virtual ::std::string getProgressMessage(::MinecraftScreenModel& minecraftScreenModel)
const ;
74 virtual float getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel)
const ;
76 virtual ::std::string getTitleText() const ;
78 virtual ::std::
string getName() const ;
80 virtual ::ProgressAnimation showLoadingBar() const ;
82 virtual ~EduCloudUploadProgressHandler() ;
88 MCAPI EduCloudUploadProgressHandler(
89 ::std::
string levelId,
90 ::std::
string levelName,
91 ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> eduCloudSaveSystem,
92 ::std::optional<::CloudSaveLevelInfo> cloudSaveLevelInfo
95 MCAPI ::std::
string const getUploadErrorCode() const;
97 MCAPI
void getUploadErrorStrings(::MSGraph::GraphResponse errorStatus);
99 MCAPI
void startUpload();
101 MCAPI
void updateText(::MinecraftScreenModel& minecraftScreenModel);
108 ::std::
string levelId,
109 ::std::
string levelName,
110 ::Bedrock::NonOwnerPointer<::EduCloud::IEduCloudSaveSystem> eduCloudSaveSystem,
111 ::std::optional<::CloudSaveLevelInfo> cloudSaveLevelInfo
124 MCAPI
void $tick(::MinecraftScreenModel& minecraftScreenModel);
126 MCAPI
void $onCancel(::MinecraftScreenModel& minecraftScreenModel);
128 MCAPI
void $onStart(::MinecraftScreenModel& minecraftScreenModel);
130 MCFOLD ::LoadingState $getLoadingState(::MinecraftScreenModel& minecraftScreenModel) const;
132 MCAPI ::std::
string $getProgressMessage(::MinecraftScreenModel& minecraftScreenModel) const;
134 MCAPI
float $getLoadingProgress(::MinecraftScreenModel& minecraftScreenModel) const;
136 MCAPI ::std::
string $getTitleText() const;
138 MCAPI ::std::
string $getName() const;
140 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