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#ifdef LL_PLAT_S
45 virtual ~IFileChunkUploader() = default;
46#else // LL_PLAT_C
47 virtual ~IFileChunkUploader();
48#endif
49
50 virtual void initFileUploader(
51 ::std::string const&,
52 ::FileInfo const&,
53 int,
54 ::Json::Value const&,
55 ::std::function<void(bool)>
56 ) = 0;
57
58 virtual void getServerMissingChunks(
59 ::FileInfo const& file,
60 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
61 ) const;
62
63 virtual void confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk);
64
65 virtual void uploadChunk(
66 ::FileInfo const& file,
67 ::FileChunkInfo const& chunk,
68 ::std::vector<uchar> data,
69 ::std::function<void(bool)> onCompleteCallback
70 );
71
72 virtual void uploadStream(
73 ::FileInfo const& file,
74 uint64 streamSize,
75 ::std::string const& boundary,
76 ::std::function<void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback
77 );
78
79 virtual bool canCancelUpload(::FileInfo const&) const = 0;
80
81 virtual void cancelUpload(::FileInfo const&) = 0;
82
83 virtual ::UploadError getInitErrorCode() const = 0;
84
85 virtual float getUploadProgress(::FileInfo const&) const = 0;
86
87 virtual ::FileChunkInfo getChunkInfo(::FileInfo const& file, int chunkID) const;
88 // NOLINTEND
89
90public:
91 // destructor thunk
92 // NOLINTBEGIN
93 MCNAPI void $dtor();
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
100 ::FileInfo const& file,
101 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
102 ) const;
103
104 MCNAPI void $confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk);
105
106 MCNAPI void $uploadChunk(
107 ::FileInfo const& file,
108 ::FileChunkInfo const& chunk,
109 ::std::vector<uchar> data,
110 ::std::function<void(bool)> onCompleteCallback
111 );
112
113 MCNAPI void $uploadStream(
114 ::FileInfo const& file,
115 uint64 streamSize,
116 ::std::string const& boundary,
117 ::std::function<void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback
118 );
119
120 MCNAPI ::FileChunkInfo $getChunkInfo(::FileInfo const& file, int chunkID) const;
121
122
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
128 MCNAPI static void** $vftable();
129 // NOLINTEND
130};
Definition IFileChunkUploader.h:15
MCAPI void $uploadStream(::FileInfo const &file, uint64 streamSize, ::std::string const &boundary, ::std::function< void(::IFileChunkUploader::UploadStreamResult)> onCompleteCallback)
MCAPI void $dtor()
MCAPI void $getServerMissingChunks(::FileInfo const &file, ::std::function< void(::std::vector<::FileChunkInfo >)> callback) const
MCAPI void $uploadChunk(::FileInfo const &file, ::FileChunkInfo const &chunk, ::std::vector< uchar > data, ::std::function< void(bool)> onCompleteCallback)
static MCAPI void ** $vftable()
MCAPI void $confirmChunkReceived(::FileInfo const &file, ::FileChunkInfo const &chunk)
MCAPI::FileChunkInfo $getChunkInfo(::FileInfo const &file, int chunkID) const
Definition Value.h:16
Definition FileChunkInfo.h:5
Definition FileInfo.h:10