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;
47 ::ll::TypedStorage<8, 72, ::FileInfo> mFile;
48 ::ll::TypedStorage<8, 96, ::FileUploadManager::MultiPartStreamHelper> mMultiPartHelper;
49 ::ll::TypedStorage<4, 4, ::UploadState> mState;
50 ::ll::TypedStorage<4, 4, ::UploadError> mUploadError;
51 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IFilePicker>> mFilePicker;
52 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IFileChunkUploader>> mFileUploader;
53 ::ll::TypedStorage<8, 8, ::TaskGroup&> mIOTaskGroup;
54 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::FileArchiver>> mFileArchiver;
55 ::ll::TypedStorage<1, 1, bool> mUploadAllAtOnce;
56 ::ll::TypedStorage<1, 1, bool> mContinueOnReception;
57 ::ll::TypedStorage<1, 1, bool> mUseStream;
62 FileUploadManager& operator=(FileUploadManager
const&);
63 FileUploadManager(FileUploadManager
const&);
69 virtual ~FileUploadManager();
71 virtual float getUploadProgress()
const;
74 virtual void archiveAndUploadFileToRealmStorage(
75 ::std::string
const& uploadId,
78 ::std::string
const& realmsGuid
81 virtual void archiveAndUploadFileToRealmStorage(
82 ::std::string
const& uploadId,
85 ::std::string
const& realmsGuid
89 virtual void uploadFileToRealmStorage(::std::string
const& uploadId,
::Core::Path const& path,
int const slotIndex);
95 MCAPI FileUploadManager(
::TaskGroup& taskGroup, ::std::shared_ptr<::IFileChunkUploader> fileUploader);
98 MCAPI FileUploadManager(
100 ::std::shared_ptr<::IFileChunkUploader> fileUploader,
101 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver>
const& fileArchiver
107 MCAPI
void addCallbackQueue(::std::function<
void()> callback);
109 MCAPI
void uploadFile(
110 ::std::string
const& uploadId,
112 bool autoStartUpload,
120 MCAPI static ::std::string
const& BOUNDARY();
126 MCAPI
void* $ctor(
::TaskGroup& taskGroup, ::std::shared_ptr<::IFileChunkUploader> fileUploader);
131 ::std::shared_ptr<::IFileChunkUploader> fileUploader,
132 ::Bedrock::NotNullNonOwnerPtr<::FileArchiver>
const& fileArchiver
146 MCAPI
float $getUploadProgress()
const;
148 MCAPI
void $uploadFileToRealmStorage(::std::string
const& uploadId,
::Core::Path const& path,
int const slotIndex);