LeviLamina
Loading...
Searching...
No Matches
DataStore.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/platform/brstd/copyable_function.h"
8#include "mc/platform/threading/LockGuard.h"
9#include "mc/platform/threading/SharedLock.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Bedrock::JSONObject { class Node; }
14namespace Bedrock::JSONObject { class ValueWrapper; }
15namespace Bedrock::Threading { class SharedRecursiveMutex; }
16namespace Core { class Path; }
17// clang-format on
18
19namespace Bedrock {
20
22public:
23 // DataStore inner types declare
24 // clang-format off
25 template<typename T0, typename T1> class AccessHandle;
26 struct CustomFileHandlers;
27 class Editor;
28 class Impl;
29 class Viewer;
30 // clang-format on
31
32 // DataStore inner types define
33 class Impl {
34 public:
35 // member variables
36 // NOLINTBEGIN
46 // NOLINTEND
47
48 public:
49 // prevent constructor by default
50 Impl& operator=(Impl const&);
51 Impl(Impl const&);
52 Impl();
53
54 public:
55 // member functions
56 // NOLINTBEGIN
57 MCNAPI explicit Impl(::Bedrock::DataStore* owner);
58
59 MCNAPI ::Bedrock::JSONObject::Node* _getValueForKey(char const* key, uint64 keyLength);
60
61 MCNAPI ::Bedrock::JSONObject::Node*
62 _setValueForKey(char const* key, uint64 keyLength, ::Bedrock::JSONObject::ValueWrapper const& value);
63
64 MCNAPI void load();
65
67
68 MCNAPI ~Impl();
69 // NOLINTEND
70
71 public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCNAPI void* $ctor(::Bedrock::DataStore* owner);
75 // NOLINTEND
76
77 public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCNAPI void $dtor();
81 // NOLINTEND
82 };
83
84 class Viewer {
85 public:
86 // virtual functions
87 // NOLINTBEGIN
88 // vIndex: 0
89 virtual ~Viewer() = default;
90
91 // vIndex: 2
92 virtual ::gsl::not_null<::Bedrock::DataStore const*> getOwningDataStore() const = 0;
93
94 // vIndex: 1
95 virtual ::gsl::not_null<::Bedrock::DataStore*> getOwningDataStore() = 0;
96
97 // vIndex: 3
98 virtual ::Bedrock::JSONObject::Node const* getValueForKey(::std::string_view) const = 0;
99 // NOLINTEND
100
101 public:
102 // virtual function thunks
103 // NOLINTBEGIN
104
105 // NOLINTEND
106
107 public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112 };
113
115 public:
116 // virtual functions
117 // NOLINTBEGIN
118 // vIndex: 4
119 virtual ::Bedrock::JSONObject::Node* getValueForKey(::std::string_view) = 0;
120
121 // vIndex: 5
122 virtual ::Bedrock::JSONObject::Node*
123 setValueForKey(::std::string_view, ::Bedrock::JSONObject::ValueWrapper const&) = 0;
124
125 // vIndex: 0
126 virtual ~Editor() /*override*/ = default;
127 // NOLINTEND
128
129 public:
130 // virtual function thunks
131 // NOLINTBEGIN
132
133 // NOLINTEND
134 };
135
137 public:
138 // member variables
139 // NOLINTBEGIN
143 // NOLINTEND
144
145 public:
146 // prevent constructor by default
147 CustomFileHandlers& operator=(CustomFileHandlers const&);
150
151 public:
152 // member functions
153 // NOLINTBEGIN
155 // NOLINTEND
156
157 public:
158 // destructor thunk
159 // NOLINTBEGIN
160 MCNAPI void $dtor();
161 // NOLINTEND
162 };
163
164 template <typename T0, typename T1>
165 class AccessHandle {};
166
167public:
168 // member variables
169 // NOLINTBEGIN
171 // NOLINTEND
172
173public:
174 // prevent constructor by default
175 DataStore& operator=(DataStore const&);
176 DataStore(DataStore const&);
177
178public:
179 // virtual functions
180 // NOLINTBEGIN
181 // vIndex: 0
182 virtual ~DataStore() /*override*/;
183 // NOLINTEND
184
185public:
186 // member functions
187 // NOLINTBEGIN
188 MCNAPI DataStore();
189
191 // NOLINTEND
192
193public:
194 // constructor thunks
195 // NOLINTBEGIN
196 MCNAPI void* $ctor();
197 // NOLINTEND
198
199public:
200 // destructor thunk
201 // NOLINTBEGIN
202 MCNAPI void $dtor();
203 // NOLINTEND
204
205public:
206 // vftables
207 // NOLINTBEGIN
208 MCNAPI static void** $vftable();
209 // NOLINTEND
210};
211
212} // namespace Bedrock
Definition DataStore.h:165
Definition DataStore.h:114
Definition DataStore.h:33
MCAPI void setCustomFileHandlers(::Bedrock::DataStore::CustomFileHandlers handlers)
MCAPI Impl(::Bedrock::DataStore *owner)
MCAPI::Bedrock::JSONObject::Node * _getValueForKey(char const *key, uint64 keyLength)
MCAPI::Bedrock::JSONObject::Node * _setValueForKey(char const *key, uint64 keyLength, ::Bedrock::JSONObject::ValueWrapper const &value)
MCAPI void * $ctor(::Bedrock::DataStore *owner)
Definition DataStore.h:84
static MCAPI void ** $vftable()
Definition DataStore.h:21
static MCAPI void ** $vftable()
MCAPI void setCustomFileHandlers(::Bedrock::DataStore::CustomFileHandlers handlers)
MCAPI void * $ctor()
MCAPI void $dtor()
Definition EnableNonOwnerReferences.h:7
Definition ValueWrapper.h:7
Definition Path.h:16
Definition DataStore.h:136
Definition Alias.h:14