LeviLamina
Loading...
Searching...
No Matches
DiskSerializationManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace cg { class ImageBuffer; }
8// clang-format on
9
10namespace dragon::texturestreaming {
11
12struct DiskSerializationManager {
13public:
14 // DiskSerializationManager inner types declare
15 // clang-format off
16 struct ImageTime;
17 struct ImageMetadata;
18 struct ImageResidentEntry;
19 // clang-format on
20
21 // DiskSerializationManager inner types define
22 struct ImageTime {
23 public:
24 // member variables
25 // NOLINTBEGIN
32 // NOLINTEND
33
34 public:
35 // prevent constructor by default
36 ImageTime& operator=(ImageTime const&);
37 ImageTime(ImageTime const&);
38 ImageTime();
39 };
40
41 struct ImageMetadata {
42 public:
43 // member variables
44 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 ImageMetadata& operator=(ImageMetadata const&);
56 ImageMetadata(ImageMetadata const&);
57 ImageMetadata();
58 };
59
60 struct ImageResidentEntry {
61 public:
62 // member variables
63 // NOLINTBEGIN
67 // NOLINTEND
68
69 public:
70 // prevent constructor by default
71 ImageResidentEntry& operator=(ImageResidentEntry const&);
72 ImageResidentEntry(ImageResidentEntry const&);
73 ImageResidentEntry();
74 };
75
76public:
77 // member variables
78 // NOLINTBEGIN
92 // NOLINTEND
93
94public:
95 // prevent constructor by default
96 DiskSerializationManager& operator=(DiskSerializationManager const&);
97 DiskSerializationManager(DiskSerializationManager const&);
98 DiskSerializationManager();
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCNAPI_C ::std::optional<uint> _claimFirstAvailableSpotInResidencyTable();
104
105 MCNAPI_C ::std::optional<uint> _claimFirstFreeBlock();
106
107 MCNAPI_C ::std::optional<::std::vector<uint>> _claimFirstFreeBlocks(uint numberOfBlocks);
108
109 MCNAPI_C ::std::vector<::cg::ImageBuffer> _getMipChainForImageMetadata(
111 );
112
113 MCNAPI_C void _initializeFreeBlockList();
114
115 MCNAPI_C void _initializeResidencyTable();
116
117 MCNAPI_C bool _isHeaderSame();
118
119 MCNAPI_C ::std::optional<::dragon::texturestreaming::DiskSerializationManager::ImageMetadata>
120 _isImageResident(uint64 const& key);
121
122 MCNAPI_C ::std::optional<::std::vector<::cg::ImageBuffer>>
124
125 MCNAPI_C void
126 _writeMipChainToDisk(::std::vector<::cg::ImageBuffer> const& mipChain, ::std::vector<uint> const& addresses);
127
128 MCNAPI_C bool _writeMipChainToResidencyTable(
129 uint64 const& key,
130 ::std::vector<::cg::ImageBuffer> const& mipChain,
131 ::std::vector<uint> const& addresses
132 );
133
134 MCNAPI_C void _writeNewFile();
135
136 MCNAPI_C void flush();
137
138 MCNAPI_C void serialize(uint64 const& imageHash, ::std::vector<::cg::ImageBuffer> const& mipChain);
139 // NOLINTEND
140
141public:
142 // static variables
143 // NOLINTBEGIN
144 MCNAPI_C static ::std::array<uint, 256> const& mCrcTable();
145 // NOLINTEND
146
147public:
148 // constructor thunks
149 // NOLINTBEGIN
150 MCNAPI_C void* $ctor(::std::string fileLocation, uint blockSize, uint numberOfBlocks, bool forceRestartCache);
151 // NOLINTEND
152
153public:
154 // destructor thunk
155 // NOLINTBEGIN
156 MCNAPI_C void $dtor();
157 // NOLINTEND
158};
159
160} // namespace dragon::texturestreaming
Definition ImageBuffer.h:16
Definition Alias.h:14