LeviLamina
Loading...
Searching...
No Matches
IFileChunkDownloader.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/DownloaderResult.h"
7#include "mc/util/DownloaderState.h"
8
9// auto generated forward declare list
10// clang-format off
11struct FileInfo;
12// clang-format on
13
15public:
16 // IFileChunkDownloader inner types define
17 using DataCallback =
18 ::std::function<void(::std::vector<uchar>, uint64, uint64, int, ::std::function<void(uint64, bool)>)>;
19
20 using EndCallback = ::std::function<void(::DownloaderState)>;
21
22 using WriteCompleteCallback = ::std::function<void(uint64, bool)>;
23
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual ~IFileChunkDownloader() = default;
28
29 virtual void update() = 0;
30
31 virtual void initRealmsFileDownloader(
32 ::std::string const& downloadId,
33 int const slotIndex,
34 ::std::string const& downloadUrl,
35 ::FileInfo const& file,
36 uint64 fromByteOffset,
37 ::std::string const& downloadVersion,
38 ::std::function<void(::DownloaderResult)> callback
39 ) = 0;
40
41 virtual void initFileDownloader(
42 ::std::string const&,
43 ::std::string const&,
44 ::FileInfo const&,
45 uint64,
46 uint64,
47 ::std::string const&,
48 ::std::function<void(::DownloaderResult)>
49 ) = 0;
50
51 virtual void downloadFile(
52 ::std::function<void(::std::vector<uchar>, uint64, uint64, int, ::std::function<void(uint64, bool)>)>
53 dataCallback,
54 ::std::function<void(::DownloaderState)> endCallback
55 ) = 0;
56
57 virtual bool canCancelDownload() const = 0;
58
59 virtual void cancelDownload() = 0;
60
61 virtual uint64 getDownloadTotalSize() const = 0;
62
63 virtual uint64 getDownloadReceivedSize() const = 0;
64
65 virtual float getDownloadProgress() const = 0;
66 // NOLINTEND
67
68public:
69 // static variables
70 // NOLINTBEGIN
71#ifdef LL_PLAT_C
72 MCNAPI static ::std::add_lvalue_reference_t<char const* const[9]> DownloaderResultStrings();
73#endif
74 // NOLINTEND
75};
Definition IFileChunkDownloader.h:14
Definition FileInfo.h:10