LeviLamina
Loading...
Searching...
No Matches
IFileChunkUploader.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/UploadError.h"
7
8// auto generated forward declare list
9// clang-format off
10struct FileChunkInfo;
11struct FileInfo;
12namespace Json { class Value; }
13// clang-format on
14
16public:
17 // IFileChunkUploader inner types define
18 enum class UploadStatus : int {
19 Initialized = 0,
20 ArchivingStarted = 1,
21 ArchivingFailed = 2,
22 ArchivingSucceeded = 3,
23 UploadFailed = 4,
24 ValidationStarted = 5,
25 ValidationProgress = 6,
26 ValidationFailed = 7,
27 ValidationCancelled = 8,
28 ValidationSucceeded = 9,
29 UnknownError = 10,
30 };
31
32 enum class UploadStreamResult : int {
33 Success = 0,
34 Failure = 1,
35 FailureForbidden = 2,
36 FailureWorldName = 3,
37 InvalidResponseBody = 4,
38 None = 5,
39 };
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~IFileChunkUploader() = default;
45
46 virtual void initFileUploader(
47 ::std::string const& uploadId,
48 ::FileInfo const& file,
49 int chunkSize,
50 ::Json::Value const& uploadOptions,
51 ::std::function<void(bool)> callback
52 ) = 0;
53
54 virtual void getServerMissingChunks(
55 ::FileInfo const& file,
56 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
57 ) const;
58
59 virtual void confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk);
60
61 virtual void uploadChunk(
62 ::FileInfo const& file,
63 ::FileChunkInfo const& chunk,
64 ::std::vector<uchar> data,
65 ::std::function<void(bool)> onCompleteCallback
66 );
67
68 virtual void uploadStream(
69 ::FileInfo const& file,
70 uint64 streamSize,
71 ::std::string const& boundary,
72 ::std::function<void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback
73 );
74
75 virtual bool canCancelUpload(::FileInfo const& file) const = 0;
76
77 virtual void cancelUpload(::FileInfo const& file) = 0;
78
79 virtual ::UploadError getInitErrorCode() const = 0;
80
81 virtual float getUploadProgress(::FileInfo const& file) const = 0;
82
83 virtual ::FileChunkInfo getChunkInfo(::FileInfo const& file, int chunkID) const;
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCNAPI void $uploadStream(
90 ::FileInfo const& file,
91 uint64 streamSize,
92 ::std::string const& boundary,
93 ::std::function<void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback
94 );
95
96#ifdef LL_PLAT_C
97 MCNAPI void $getServerMissingChunks(
98 ::FileInfo const& file,
99 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
100 ) const;
101
102 MCNAPI void $confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk);
103
104 MCNAPI void $uploadChunk(
105 ::FileInfo const& file,
106 ::FileChunkInfo const& chunk,
107 ::std::vector<uchar> data,
108 ::std::function<void(bool)> onCompleteCallback
109 );
110
111 MCNAPI ::FileChunkInfo $getChunkInfo(::FileInfo const& file, int chunkID) const;
112#endif
113
114
115 // NOLINTEND
116};
Definition IFileChunkUploader.h:15
MCAPI void $uploadStream(::FileInfo const &file, uint64 streamSize, ::std::string const &boundary, ::std::function< void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback)
Definition Value.h:16
Definition FileChunkInfo.h:5
Definition FileInfo.h:10