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*/;
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 virtual void confirmChunkReceived(::FileInfo const&, ::FileChunkInfo const&) /*override*/;
56
57 virtual void uploadChunk(
58 ::FileInfo const& file,
59 ::FileChunkInfo const& chunk,
60 ::std::vector<uchar> data,
61 ::std::function<void(bool)> onCompleteCallback
62 ) /*override*/;
63
64 virtual bool canCancelUpload(::FileInfo const&) const /*override*/;
65
66 virtual void cancelUpload(::FileInfo const&) /*override*/;
67
68 virtual ::UploadError getInitErrorCode() const /*override*/;
69
70 virtual float getUploadProgress(::FileInfo const&) const /*override*/;
71
72 virtual ::FileChunkInfo getChunkInfo(::FileInfo const& file, int chunkID) const /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI ServerFileChunkUploader(::PacketSender& packetSender, ::NetworkIdentifier const& source);
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(::PacketSender& packetSender, ::NetworkIdentifier const& source);
85 // NOLINTEND
86
87public:
88 // destructor thunk
89 // NOLINTBEGIN
90 MCAPI void $dtor();
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCAPI void $initFileUploader(
97 ::std::string const& uploadId,
98 ::FileInfo const& file,
99 int chunkSize,
100 ::Json::Value const& uploadOptions,
101 ::std::function<void(bool)> callback
102 );
103
104 MCAPI void $getServerMissingChunks(
105 ::FileInfo const& file,
106 ::std::function<void(::std::vector<::FileChunkInfo>)> callback
107 ) const;
108
109 MCFOLD void $confirmChunkReceived(::FileInfo const&, ::FileChunkInfo const&);
110
111 MCAPI void $uploadChunk(
112 ::FileInfo const& file,
113 ::FileChunkInfo const& chunk,
114 ::std::vector<uchar> data,
115 ::std::function<void(bool)> onCompleteCallback
116 );
117
118 MCFOLD bool $canCancelUpload(::FileInfo const&) const;
119
120 MCFOLD void $cancelUpload(::FileInfo const&);
121
122 MCFOLD ::UploadError $getInitErrorCode() const;
123
124 MCFOLD float $getUploadProgress(::FileInfo const&) const;
125
126 MCAPI ::FileChunkInfo $getChunkInfo(::FileInfo const& file, int chunkID) const;
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCNAPI static void** $vftable();
135 // NOLINTEND
136};
MCAPI void $dtor()
MCAPI void * $ctor()
MCAPI IFileChunkUploader()
Definition Value.h:16
Definition NetworkIdentifier.h:10
Definition PacketSender.h:17
static MCAPI void ** $vftable()
Definition FileChunkInfo.h:5
Definition FileInfo.h:10