LeviLamina
Loading...
Searching...
No Matches
ServerFileChunkUploader.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/FileChunkManager.h"
7#include "mc/util/IFileChunkUploader.h"
8#include "mc/util/UploadError.h"
9
10// auto generated forward declare list
11// clang-format off
13class PacketSender;
14struct FileChunkInfo;
15struct FileInfo;
16namespace Json { class Value; }
17// clang-format on
18
19class ServerFileChunkUploader : public ::IFileChunkUploader,
20 public ::std::enable_shared_from_this<::ServerFileChunkUploader> {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 8, ::PacketSender&> mPacketSender;
25 ::ll::TypedStorage<8, 8, ::NetworkIdentifier const&> mSource;
26 ::ll::TypedStorage<1, 1, bool> mInitialized;
27 ::ll::TypedStorage<8, 32, ::std::string> mName;
28 ::ll::TypedStorage<8, 32, ::std::string> mFileHash;
29 ::ll::TypedStorage<8, 96, ::FileChunkManager> mChunkManager;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 ServerFileChunkUploader& operator=(ServerFileChunkUploader const&);
35 ServerFileChunkUploader(ServerFileChunkUploader const&);
36 ServerFileChunkUploader();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~ServerFileChunkUploader() /*override*/ = default;
42
43 virtual void initFileUploader(
44 ::std::string const& uploadId,
45 ::FileInfo const& file,
46 int chunkSize,
47 ::Json::Value const& uploadOptions,
48 ::std::function<void(bool)> callback
49 ) /*override*/;
50
51 virtual void
52 getServerMissingChunks(::FileInfo const& file, ::std::function<void(::std::vector<::FileChunkInfo>)> callback) const
53 /*override*/;
54
55#ifdef LL_PLAT_S
56 virtual void confirmChunkReceived(::FileInfo const&, ::FileChunkInfo const&) /*override*/;
57#else // LL_PLAT_C
58 virtual void confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk) /*override*/;
59#endif
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 ) /*override*/;
67
68 virtual bool canCancelUpload(::FileInfo const& file) const /*override*/;
69
70 virtual void cancelUpload(::FileInfo const& file) /*override*/;
71
72 virtual ::UploadError getInitErrorCode() const /*override*/;
73
74 virtual float getUploadProgress(::FileInfo const& file) const /*override*/;
75
76 virtual ::FileChunkInfo getChunkInfo(::FileInfo const& file, int chunkID) const /*override*/;
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI void $initFileUploader(
83 ::std::string const& uploadId,
84 ::FileInfo const& file,
85 int chunkSize,
86 ::Json::Value const& uploadOptions,
87 ::std::function<void(bool)> callback
88 );
89
90 MCAPI void $getServerMissingChunks(
91 ::FileInfo const& file,
92 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
93 ) const;
94
95#ifdef LL_PLAT_S
96 MCFOLD void $confirmChunkReceived(::FileInfo const&, ::FileChunkInfo const&);
97#else // LL_PLAT_C
98 MCFOLD void $confirmChunkReceived(::FileInfo const& file, ::FileChunkInfo const& chunk);
99#endif
100
101 MCAPI void $uploadChunk(
102 ::FileInfo const& file,
103 ::FileChunkInfo const& chunk,
104 ::std::vector<uchar> data,
105 ::std::function<void(bool)> onCompleteCallback
106 );
107
108 MCFOLD bool $canCancelUpload(::FileInfo const& file) const;
109
110 MCFOLD void $cancelUpload(::FileInfo const& file);
111
112 MCFOLD ::UploadError $getInitErrorCode() const;
113
114 MCFOLD float $getUploadProgress(::FileInfo const& file) const;
115
116 MCAPI ::FileChunkInfo $getChunkInfo(::FileInfo const& file, int chunkID) const;
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCNAPI static void** $vftable();
125 // NOLINTEND
126};
Definition IFileChunkUploader.h:15
Definition Value.h:16
Definition NetworkIdentifier.h:10
Definition PacketSender.h:17
static MCAPI void ** $vftable()
Definition FileChunkInfo.h:5
Definition FileInfo.h:10