LeviLamina
Loading...
Searching...
No Matches
Binder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/gameface/cohtml/ValueType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace cohtml { class IEventHandler; }
11namespace cohtml { class Property; }
12namespace cohtml { class TypeDescription; }
13namespace cohtml { class TypeInfo; }
14namespace cohtml { struct PreciseHandle; }
15// clang-format on
16
17namespace cohtml {
18
19class Binder {
20public:
21 // Binder inner types define
22 enum class BindingMode : int {
23 Value = 0,
24 Scoped = 1,
25 GetTypeInfo = 2,
26 };
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::UntypedStorage<8, 8> mUnkec3415;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 Binder& operator=(Binder const&);
37 Binder(Binder const&);
38 Binder();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ~Binder() = 0;
44
45 virtual ::cohtml::TypeDescription RegisterType(char const*, void*);
46
47 virtual ::cohtml::TypeDescription RegisterType(char const*, void const*);
48
49 virtual void AddProperty(void*, ::cohtml::Property const&);
50
51 virtual void AddMethod(char const*, ::cohtml::IEventHandler*);
52
53 virtual void BeginType();
54
55 virtual void ReadType();
56
57 virtual bool ReadType(char const*) = 0;
58
59 virtual ::cohtml::TypeInfo* GetTypeInfo() const;
60
61 virtual void EndType(void*);
62
63 virtual void BeginEvent(char const*, int) = 0;
64
65 virtual void EndEvent() = 0;
66
67 virtual void BeginExposeObject() = 0;
68
69 virtual void SetAsGlobal(char const*, void*) = 0;
70
71 virtual void SetMode(::cohtml::Binder::BindingMode) = 0;
72
73 virtual ::cohtml::Binder::BindingMode GetMode() = 0;
74
75 virtual bool BindObject(::cohtml::TypeInfo*, void*) = 0;
76
77 virtual void TypeName(char const*) = 0;
78
79 virtual void PropertyName(char const*) = 0;
80
81 virtual void BindUndefined() = 0;
82
83 virtual void BindNull() = 0;
84
85 virtual void Bind(bool) = 0;
86
87 virtual void Bind(short) = 0;
88
89 virtual void Bind(ushort) = 0;
90
91 virtual void Bind(int) = 0;
92
93 virtual void Bind(uint) = 0;
94
95 virtual void Bind(int64) = 0;
96
97 virtual void Bind(uint64) = 0;
98
99 virtual void Bind(long) = 0;
100
101 virtual void Bind(ulong) = 0;
102
103 virtual void Bind(schar) = 0;
104
105 virtual void Bind(uchar) = 0;
106
107 virtual void Bind(float) = 0;
108
109 virtual void Bind(double) = 0;
110
111 virtual void Bind(char const*) = 0;
112
113 virtual void Bind(wchar_t const*) = 0;
114
115 virtual void Bind(char16_t const*) = 0;
116
117 virtual void Bind(char32_t const*) = 0;
118
119 virtual void BindArray(int const*, uint64) = 0;
120
121 virtual void BindArray(float const*, uint64) = 0;
122
123 virtual bool TryBindArrayByRef(
124 void*,
125 uint64,
126 void (*)(::cohtml::Binder*, void*, uint64),
127 void (*)(::cohtml::Binder*, void*, uint64)
128 ) = 0;
129
130 virtual bool TryBindArrayByRef(
131 void*,
132 void (*)(::cohtml::Binder*, void*, uint64),
133 void (*)(::cohtml::Binder*, void*, uint64),
134 uint64 (*)(void*)
135 ) = 0;
136
137 virtual void ArrayBegin(uint64) = 0;
138
139 virtual void ArrayEnd() = 0;
140
141 virtual void MapBegin(uint64) = 0;
142
143 virtual void MapEnd() = 0;
144
145 virtual void OnTypeBegin() = 0;
146
147 virtual void OnTypeEnd() = 0;
148
149 virtual void OnReadTypeBegin() = 0;
150
151 virtual void OnReadTypeEnd() = 0;
152
153 virtual void SkipValue() = 0;
154
155 virtual void ReadNull() = 0;
156
157 virtual void Read(bool&) = 0;
158
159 virtual void Read(short&) = 0;
160
161 virtual void Read(ushort&) = 0;
162
163 virtual void Read(int&) = 0;
164
165 virtual void Read(uint&) = 0;
166
167 virtual void Read(int64&) = 0;
168
169 virtual void Read(uint64&) = 0;
170
171 virtual void Read(long&) = 0;
172
173 virtual void Read(ulong&) = 0;
174
175 virtual void Read(char&) = 0;
176
177 virtual void Read(schar&) = 0;
178
179 virtual void Read(uchar&) = 0;
180
181 virtual void Read(float&) = 0;
182
183 virtual void Read(double&) = 0;
184
185 virtual void Read(char const*&, uint64&) = 0;
186
187 virtual void Read(wchar_t const*&, uint64&) = 0;
188
189 virtual void Read(char16_t const*&, uint64&) = 0;
190
191 virtual void Read(char32_t const*&, uint64&) = 0;
192
193 virtual bool ReadProperty(char const*) = 0;
194
195 virtual void ReadAsString(char const*&, uint64&) = 0;
196
197 virtual uint64 ReadArrayBegin() = 0;
198
199 virtual void ReadArrayElement(uint64) = 0;
200
201 virtual void ReadArrayEnd() = 0;
202
203 virtual uint64 ReadMapBegin() = 0;
204
205 virtual void ReadKeyValuePair() = 0;
206
207 virtual void ReadMapEnd() = 0;
208
209 virtual ::cohtml::ValueType PeekValueType() = 0;
210
211 virtual ::cohtml::PreciseHandle CreatePreciseHandle(void*, char const*, ::cohtml::TypeInfo const*) = 0;
212
213 virtual bool UpdatePreciseHandle(void*, ::cohtml::PreciseHandle) = 0;
214
215 virtual void InstanceMoved(void*, void*) = 0;
216
217 virtual bool ElementUpdated(void*, ::cohtml::PreciseHandle, uint64) = 0;
218
219 virtual bool ElementAdded(void*, ::cohtml::PreciseHandle, uint64) = 0;
220
221 virtual bool ElementRemoved(void*, ::cohtml::PreciseHandle, uint64) = 0;
222 // NOLINTEND
223
224public:
225 // virtual function thunks
226 // NOLINTBEGIN
227
228 // NOLINTEND
229};
230
231} // namespace cohtml
Definition Binder.h:7
Definition IEventHandler.h:7
Definition Property.h:7
Definition TypeDescription.h:7
Definition TypeInfo.h:7
Definition PreciseHandle.h:7