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