22class FileUploadManager :
public ::std::enable_shared_from_this<::FileUploadManager> {
34 ::ll::TypedStorage<1, 1, bool> needHeader;
35 ::ll::TypedStorage<1, 1, bool> needTrailer;
36 ::ll::TypedStorage<8, 32, ::std::string> header;
37 ::ll::TypedStorage<8, 32, ::std::string> trailer;
38 ::ll::TypedStorage<8, 8, uint64> currentFileByte;
39 ::ll::TypedStorage<8, 8, uint64> totalFileByte;
40 ::ll::TypedStorage<8, 8, uint64> totalStreamSize;
59 ::ll::TypedStorage<8, 72, ::FileInfo> mFile;
60 ::ll::TypedStorage<8, 96, ::FileUploadManager::MultiPartStreamHelper> mMultiPartHelper;
61 ::ll::TypedStorage<4, 4, ::UploadState> mState;
62 ::ll::TypedStorage<4, 4, ::UploadError> mUploadError;
63 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IFilePicker>> mFilePicker;
64 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IFileChunkUploader>> mFileUploader;
65 ::ll::TypedStorage<8, 8, ::TaskGroup&> mIOTaskGroup;
66 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::FileArchiver>> mFileArchiver;
67 ::ll::TypedStorage<1, 1, bool> mUploadAllAtOnce;
68 ::ll::TypedStorage<1, 1, bool> mContinueOnReception;
69 ::ll::TypedStorage<1, 1, bool> mUseStream;
74 FileUploadManager& operator=(FileUploadManager
const&);
75 FileUploadManager(FileUploadManager
const&);
81 virtual ~FileUploadManager();
83 virtual float getUploadProgress()
const;
85 virtual void archiveAndUploadFileToRealmStorage(
86 ::std::string
const& uploadId,
89 ::std::string
const& realmsGuid
92 virtual void uploadFileToRealmStorage(::std::string
const& uploadId,
::Core::Path const& path,
int const slotIndex);
98 MCAPI FileUploadManager(
::TaskGroup& taskGroup, ::std::shared_ptr<::IFileChunkUploader> fileUploader);
101 MCAPI FileUploadManager(
103 ::std::shared_ptr<::IFileChunkUploader> fileUploader,
104 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver>
const& fileArchiver
108 MCAPI
void _generateMultiPartHelper();
110 MCAPI
void _resumeUpload();
114 MCAPI
void _uploadStream();
116 MCAPI
void addCallbackQueue(::std::function<
void()> callback);
119 MCAPI
void setFailed(::UploadError reason);
122 MCAPI
void uploadFile(
123 ::std::string
const& uploadId,
125 bool autoStartUpload,
133 MCAPI static ::std::string
const& BOUNDARY();
139 MCAPI
void* $ctor(
::TaskGroup& taskGroup, ::std::shared_ptr<::IFileChunkUploader> fileUploader);
144 ::std::shared_ptr<::IFileChunkUploader> fileUploader,
145 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver>
const& fileArchiver
159 MCAPI
float $getUploadProgress()
const;
161 MCAPI
void $uploadFileToRealmStorage(::std::string
const& uploadId,
::Core::Path const& path,
int const slotIndex);