commonlibsse_ng\re\s/
SettingCollection.rs1#[repr(C)]
14#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
15pub struct SettingCollection<T> {
16 pub vtable: *const SettingCollectionVtbl<T>, pub subKey: [u8; 0x104], pub handle: *mut core::ffi::c_void, }
20
21const _: () = {
22 assert!(core::mem::offset_of!(SettingCollection::<()>, subKey) == 0x08);
23 assert!(core::mem::offset_of!(SettingCollection::<()>, handle) == 0x110);
24 assert!(core::mem::size_of::<SettingCollection::<()>>() == 0x118);
25};
26
27pub trait SettingCollectionTrait<T> {
31 fn insert_setting(&mut self, setting: &mut T);
36
37 fn remove_setting(&mut self, setting: &mut T);
42
43 fn write_setting(&mut self, setting: &mut T) -> bool;
52
53 fn read_setting(&mut self, setting: &mut T) -> bool;
62
63 fn open_handle(&mut self, create: bool) -> bool;
72
73 fn close_handle(&mut self) -> bool;
78
79 fn unk_07(&mut self);
81
82 fn write_all_settings(&mut self);
84
85 fn read_all_settings(&mut self);
87}
88
89impl<T> SettingCollectionTrait<T> for SettingCollection<T> {
90 #[inline]
91 fn insert_setting(&mut self, _setting: &mut T) {
92 }
94
95 #[inline]
96 fn remove_setting(&mut self, _setting: &mut T) {
97 }
99
100 #[inline]
101 fn write_setting(&mut self, _setting: &mut T) -> bool {
102 false
104 }
105
106 #[inline]
107 fn read_setting(&mut self, _setting: &mut T) -> bool {
108 true
110 }
111
112 #[inline]
113 fn open_handle(&mut self, _create: bool) -> bool {
114 false
116 }
117
118 #[inline]
119 fn close_handle(&mut self) -> bool {
120 true
122 }
123
124 #[inline]
125 fn unk_07(&mut self) {
126 }
128
129 #[inline]
130 fn write_all_settings(&mut self) {
131 }
133
134 #[inline]
135 fn read_all_settings(&mut self) {
136 }
138}
139
140#[repr(C)]
144pub struct SettingCollectionVtbl<T> {
145 pub CxxDrop: fn(this: &mut SettingCollection<T>), pub InsertSetting: fn(this: &mut SettingCollection<T>, setting: &mut T), pub RemoveSetting: fn(this: &mut SettingCollection<T>, setting: &mut T), pub WriteSetting: fn(this: &mut SettingCollection<T>, setting: &mut T) -> bool, pub ReadSetting: fn(this: &mut SettingCollection<T>, setting: &mut T) -> bool, pub OpenHandle: fn(this: &mut SettingCollection<T>, create: bool) -> bool, pub CloseHandle: fn(this: &mut SettingCollection<T>) -> bool, pub Unk_07: fn(this: &mut SettingCollection<T>), pub WriteAllSettings: fn(this: &mut SettingCollection<T>), pub ReadAllSettings: fn(this: &mut SettingCollection<T>), }
158
159impl<T> Default for SettingCollectionVtbl<T> {
160 #[inline]
161 fn default() -> Self {
162 Self::new()
163 }
164}
165
166impl<T> SettingCollectionVtbl<T> {
167 #[inline]
169 pub const fn new() -> Self {
170 const fn CxxDrop<T>(_this: &mut SettingCollection<T>) {}
171
172 const fn InsertSetting<T>(_this: &mut SettingCollection<T>, _setting: &mut T) {}
173
174 const fn RemoveSetting<T>(_this: &mut SettingCollection<T>, _setting: &mut T) {}
175
176 const fn WriteSetting<T>(_this: &mut SettingCollection<T>, _setting: &mut T) -> bool {
177 false
178 }
179
180 const fn ReadSetting<T>(_this: &mut SettingCollection<T>, _setting: &mut T) -> bool {
181 true
182 }
183
184 const fn OpenHandle<T>(_this: &mut SettingCollection<T>, _create: bool) -> bool {
185 false
186 }
187
188 const fn CloseHandle<T>(_this: &mut SettingCollection<T>) -> bool {
189 true
190 }
191
192 const fn Unk_07<T>(_this: &mut SettingCollection<T>) {}
193
194 const fn WriteAllSettings<T>(_this: &mut SettingCollection<T>) {}
195
196 const fn ReadAllSettings<T>(_this: &mut SettingCollection<T>) {}
197
198 Self {
199 CxxDrop,
200 InsertSetting,
201 RemoveSetting,
202 WriteSetting,
203 ReadSetting,
204 OpenHandle,
205 CloseHandle,
206 Unk_07,
207 WriteAllSettings,
208 ReadAllSettings,
209 }
210 }
211}