Skip to main content

geokernel_sys/
generated.rs

1// Generated by tools/generate_bindings.py. Do not edit.
2use crate::{types::*, LoadError};
3use std::{ffi::c_void, mem::ManuallyDrop, path::Path};
4/// Raw C ABI for `GeoKernel.Core`. Loaded modules remain resident until process exit.
5pub struct CoreApi {
6    _library: ManuallyDrop<libloading::Library>,
7    GeoKernelAgentProvenance_AppendJson:
8        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
9    GeoKernelAgentProvenance_Create: unsafe extern "C" fn() -> *mut c_void,
10    GeoKernelAgentProvenance_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
11    GeoKernelAgentProvenance_ExportJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
12    GeoKernelAgentProvenance_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
13    GeoKernelFeatureBatch_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
14    GeoKernelFeatureBatch_FromJson: unsafe extern "C" fn(*const WChar) -> *mut c_void,
15    GeoKernelFeatureBatch_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
16    GeoKernelFeatureBatch_RowCount: unsafe extern "C" fn(*mut c_void) -> i64,
17    GeoKernelFeatureBatch_ToJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
18    GeoKernelGisOperation_CatalogJson: unsafe extern "C" fn(*mut WChar, i32) -> i32,
19    GeoKernelGisOperation_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
20    GeoKernelGisOperation_NormalizeJson: unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
21    GeoKernelGisOperation_ValidateJson: unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
22    GeoKernelGisOperation_ValidationLastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
23    GeoKernelNaturalLanguagePlan_EvaluateProposalJson:
24        unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
25    GeoKernelNaturalLanguagePlan_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
26    GeoKernelNaturalLanguagePlan_SystemContract: unsafe extern "C" fn(*mut WChar, i32) -> i32,
27    GeoKernelOperation_ContextSize: unsafe extern "C" fn() -> u32,
28    GeoKernelOperation_ContextVersion: unsafe extern "C" fn() -> u32,
29    GeoKernelOperation_ValidateContextV1:
30        unsafe extern "C" fn(*const GeoKernelOperationContextV1) -> i32,
31    GeoKernelSpatialEmbeddingIndex_AddJson: unsafe extern "C" fn(*mut c_void, *const WChar) -> i32,
32    GeoKernelSpatialEmbeddingIndex_Create: unsafe extern "C" fn(i32, i32) -> *mut c_void,
33    GeoKernelSpatialEmbeddingIndex_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
34    GeoKernelSpatialEmbeddingIndex_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
35    GeoKernelSpatialEmbeddingIndex_QueryJson:
36        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
37    GeoKernelTemporalIndex_CapabilitiesJson:
38        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
39    GeoKernelTemporalIndex_Create: unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
40    GeoKernelTemporalIndex_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
41    GeoKernelTemporalIndex_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
42    GeoKernelTemporalIndex_QueryJson:
43        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
44    GeoKernelTemporalPlayback_CommandJson:
45        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
46    GeoKernelTemporalPlayback_Create: unsafe extern "C" fn(*const WChar) -> *mut c_void,
47    GeoKernelTemporalPlayback_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
48    GeoKernelTemporalPlayback_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
49}
50impl CoreApi {
51    pub const SYMBOLS: &'static [&'static str] = &[
52        "GeoKernelAgentProvenance_AppendJson",
53        "GeoKernelAgentProvenance_Create",
54        "GeoKernelAgentProvenance_Destroy",
55        "GeoKernelAgentProvenance_ExportJson",
56        "GeoKernelAgentProvenance_LastError",
57        "GeoKernelFeatureBatch_Destroy",
58        "GeoKernelFeatureBatch_FromJson",
59        "GeoKernelFeatureBatch_LastError",
60        "GeoKernelFeatureBatch_RowCount",
61        "GeoKernelFeatureBatch_ToJson",
62        "GeoKernelGisOperation_CatalogJson",
63        "GeoKernelGisOperation_LastError",
64        "GeoKernelGisOperation_NormalizeJson",
65        "GeoKernelGisOperation_ValidateJson",
66        "GeoKernelGisOperation_ValidationLastError",
67        "GeoKernelNaturalLanguagePlan_EvaluateProposalJson",
68        "GeoKernelNaturalLanguagePlan_LastError",
69        "GeoKernelNaturalLanguagePlan_SystemContract",
70        "GeoKernelOperation_ContextSize",
71        "GeoKernelOperation_ContextVersion",
72        "GeoKernelOperation_ValidateContextV1",
73        "GeoKernelSpatialEmbeddingIndex_AddJson",
74        "GeoKernelSpatialEmbeddingIndex_Create",
75        "GeoKernelSpatialEmbeddingIndex_Destroy",
76        "GeoKernelSpatialEmbeddingIndex_LastError",
77        "GeoKernelSpatialEmbeddingIndex_QueryJson",
78        "GeoKernelTemporalIndex_CapabilitiesJson",
79        "GeoKernelTemporalIndex_Create",
80        "GeoKernelTemporalIndex_Destroy",
81        "GeoKernelTemporalIndex_LastError",
82        "GeoKernelTemporalIndex_QueryJson",
83        "GeoKernelTemporalPlayback_CommandJson",
84        "GeoKernelTemporalPlayback_Create",
85        "GeoKernelTemporalPlayback_Destroy",
86        "GeoKernelTemporalPlayback_LastError",
87    ];
88    /// Load a trusted, ABI-compatible GeoKernel runtime module.
89    /// # Safety
90    /// Library initializers must be safe and every symbol must match this SDK ABI.
91    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
92        let library = crate::open(path)?;
93        Ok(Self {
94            GeoKernelAgentProvenance_AppendJson: *library
95                .get(b"GeoKernelAgentProvenance_AppendJson\0")?,
96            GeoKernelAgentProvenance_Create: *library.get(b"GeoKernelAgentProvenance_Create\0")?,
97            GeoKernelAgentProvenance_Destroy: *library
98                .get(b"GeoKernelAgentProvenance_Destroy\0")?,
99            GeoKernelAgentProvenance_ExportJson: *library
100                .get(b"GeoKernelAgentProvenance_ExportJson\0")?,
101            GeoKernelAgentProvenance_LastError: *library
102                .get(b"GeoKernelAgentProvenance_LastError\0")?,
103            GeoKernelFeatureBatch_Destroy: *library.get(b"GeoKernelFeatureBatch_Destroy\0")?,
104            GeoKernelFeatureBatch_FromJson: *library.get(b"GeoKernelFeatureBatch_FromJson\0")?,
105            GeoKernelFeatureBatch_LastError: *library.get(b"GeoKernelFeatureBatch_LastError\0")?,
106            GeoKernelFeatureBatch_RowCount: *library.get(b"GeoKernelFeatureBatch_RowCount\0")?,
107            GeoKernelFeatureBatch_ToJson: *library.get(b"GeoKernelFeatureBatch_ToJson\0")?,
108            GeoKernelGisOperation_CatalogJson: *library
109                .get(b"GeoKernelGisOperation_CatalogJson\0")?,
110            GeoKernelGisOperation_LastError: *library.get(b"GeoKernelGisOperation_LastError\0")?,
111            GeoKernelGisOperation_NormalizeJson: *library
112                .get(b"GeoKernelGisOperation_NormalizeJson\0")?,
113            GeoKernelGisOperation_ValidateJson: *library
114                .get(b"GeoKernelGisOperation_ValidateJson\0")?,
115            GeoKernelGisOperation_ValidationLastError: *library
116                .get(b"GeoKernelGisOperation_ValidationLastError\0")?,
117            GeoKernelNaturalLanguagePlan_EvaluateProposalJson: *library
118                .get(b"GeoKernelNaturalLanguagePlan_EvaluateProposalJson\0")?,
119            GeoKernelNaturalLanguagePlan_LastError: *library
120                .get(b"GeoKernelNaturalLanguagePlan_LastError\0")?,
121            GeoKernelNaturalLanguagePlan_SystemContract: *library
122                .get(b"GeoKernelNaturalLanguagePlan_SystemContract\0")?,
123            GeoKernelOperation_ContextSize: *library.get(b"GeoKernelOperation_ContextSize\0")?,
124            GeoKernelOperation_ContextVersion: *library
125                .get(b"GeoKernelOperation_ContextVersion\0")?,
126            GeoKernelOperation_ValidateContextV1: *library
127                .get(b"GeoKernelOperation_ValidateContextV1\0")?,
128            GeoKernelSpatialEmbeddingIndex_AddJson: *library
129                .get(b"GeoKernelSpatialEmbeddingIndex_AddJson\0")?,
130            GeoKernelSpatialEmbeddingIndex_Create: *library
131                .get(b"GeoKernelSpatialEmbeddingIndex_Create\0")?,
132            GeoKernelSpatialEmbeddingIndex_Destroy: *library
133                .get(b"GeoKernelSpatialEmbeddingIndex_Destroy\0")?,
134            GeoKernelSpatialEmbeddingIndex_LastError: *library
135                .get(b"GeoKernelSpatialEmbeddingIndex_LastError\0")?,
136            GeoKernelSpatialEmbeddingIndex_QueryJson: *library
137                .get(b"GeoKernelSpatialEmbeddingIndex_QueryJson\0")?,
138            GeoKernelTemporalIndex_CapabilitiesJson: *library
139                .get(b"GeoKernelTemporalIndex_CapabilitiesJson\0")?,
140            GeoKernelTemporalIndex_Create: *library.get(b"GeoKernelTemporalIndex_Create\0")?,
141            GeoKernelTemporalIndex_Destroy: *library.get(b"GeoKernelTemporalIndex_Destroy\0")?,
142            GeoKernelTemporalIndex_LastError: *library
143                .get(b"GeoKernelTemporalIndex_LastError\0")?,
144            GeoKernelTemporalIndex_QueryJson: *library
145                .get(b"GeoKernelTemporalIndex_QueryJson\0")?,
146            GeoKernelTemporalPlayback_CommandJson: *library
147                .get(b"GeoKernelTemporalPlayback_CommandJson\0")?,
148            GeoKernelTemporalPlayback_Create: *library
149                .get(b"GeoKernelTemporalPlayback_Create\0")?,
150            GeoKernelTemporalPlayback_Destroy: *library
151                .get(b"GeoKernelTemporalPlayback_Destroy\0")?,
152            GeoKernelTemporalPlayback_LastError: *library
153                .get(b"GeoKernelTemporalPlayback_LastError\0")?,
154            _library: library,
155        })
156    }
157    /// Native declaration: `int GeoKernelAgentProvenance_AppendJson(void* store,const wchar_t* json,wchar_t* buffer,int bufferLength)`.
158    /// # Safety
159    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
160    pub unsafe fn GeoKernelAgentProvenance_AppendJson(
161        &self,
162        a0: *mut c_void,
163        a1: *const WChar,
164        a2: *mut WChar,
165        a3: i32,
166    ) -> i32 {
167        (self.GeoKernelAgentProvenance_AppendJson)(a0, a1, a2, a3)
168    }
169    /// Native declaration: `void* GeoKernelAgentProvenance_Create()`.
170    /// # Safety
171    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
172    pub unsafe fn GeoKernelAgentProvenance_Create(&self) -> *mut c_void {
173        (self.GeoKernelAgentProvenance_Create)()
174    }
175    /// Native declaration: `void GeoKernelAgentProvenance_Destroy(void* store)`.
176    /// # Safety
177    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
178    pub unsafe fn GeoKernelAgentProvenance_Destroy(&self, a0: *mut c_void) {
179        (self.GeoKernelAgentProvenance_Destroy)(a0)
180    }
181    /// Native declaration: `int GeoKernelAgentProvenance_ExportJson(void* store,wchar_t* buffer,int bufferLength)`.
182    /// # Safety
183    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
184    pub unsafe fn GeoKernelAgentProvenance_ExportJson(
185        &self,
186        a0: *mut c_void,
187        a1: *mut WChar,
188        a2: i32,
189    ) -> i32 {
190        (self.GeoKernelAgentProvenance_ExportJson)(a0, a1, a2)
191    }
192    /// Native declaration: `int GeoKernelAgentProvenance_LastError(wchar_t* buffer,int bufferLength)`.
193    /// # Safety
194    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
195    pub unsafe fn GeoKernelAgentProvenance_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
196        (self.GeoKernelAgentProvenance_LastError)(a0, a1)
197    }
198    /// Native declaration: `void GeoKernelFeatureBatch_Destroy(void* batch)`.
199    /// # Safety
200    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
201    pub unsafe fn GeoKernelFeatureBatch_Destroy(&self, a0: *mut c_void) {
202        (self.GeoKernelFeatureBatch_Destroy)(a0)
203    }
204    /// Native declaration: `void* GeoKernelFeatureBatch_FromJson(const wchar_t* json)`.
205    /// # Safety
206    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
207    pub unsafe fn GeoKernelFeatureBatch_FromJson(&self, a0: *const WChar) -> *mut c_void {
208        (self.GeoKernelFeatureBatch_FromJson)(a0)
209    }
210    /// Native declaration: `int GeoKernelFeatureBatch_LastError(wchar_t* buffer,int bufferLength)`.
211    /// # Safety
212    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
213    pub unsafe fn GeoKernelFeatureBatch_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
214        (self.GeoKernelFeatureBatch_LastError)(a0, a1)
215    }
216    /// Native declaration: `long long GeoKernelFeatureBatch_RowCount(void* batch)`.
217    /// # Safety
218    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
219    pub unsafe fn GeoKernelFeatureBatch_RowCount(&self, a0: *mut c_void) -> i64 {
220        (self.GeoKernelFeatureBatch_RowCount)(a0)
221    }
222    /// Native declaration: `int GeoKernelFeatureBatch_ToJson(void* batch,wchar_t* buffer,int bufferLength)`.
223    /// # Safety
224    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
225    pub unsafe fn GeoKernelFeatureBatch_ToJson(
226        &self,
227        a0: *mut c_void,
228        a1: *mut WChar,
229        a2: i32,
230    ) -> i32 {
231        (self.GeoKernelFeatureBatch_ToJson)(a0, a1, a2)
232    }
233    /// Native declaration: `int GeoKernelGisOperation_CatalogJson(wchar_t* buffer,int bufferLength)`.
234    /// # Safety
235    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
236    pub unsafe fn GeoKernelGisOperation_CatalogJson(&self, a0: *mut WChar, a1: i32) -> i32 {
237        (self.GeoKernelGisOperation_CatalogJson)(a0, a1)
238    }
239    /// Native declaration: `int GeoKernelGisOperation_LastError(wchar_t* buffer,int bufferLength)`.
240    /// # Safety
241    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
242    pub unsafe fn GeoKernelGisOperation_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
243        (self.GeoKernelGisOperation_LastError)(a0, a1)
244    }
245    /// Native declaration: `int GeoKernelGisOperation_NormalizeJson(const wchar_t* json,wchar_t* buffer,int bufferLength)`.
246    /// # Safety
247    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
248    pub unsafe fn GeoKernelGisOperation_NormalizeJson(
249        &self,
250        a0: *const WChar,
251        a1: *mut WChar,
252        a2: i32,
253    ) -> i32 {
254        (self.GeoKernelGisOperation_NormalizeJson)(a0, a1, a2)
255    }
256    /// Native declaration: `int GeoKernelGisOperation_ValidateJson(const wchar_t* json,wchar_t* buffer,int bufferLength)`.
257    /// # Safety
258    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
259    pub unsafe fn GeoKernelGisOperation_ValidateJson(
260        &self,
261        a0: *const WChar,
262        a1: *mut WChar,
263        a2: i32,
264    ) -> i32 {
265        (self.GeoKernelGisOperation_ValidateJson)(a0, a1, a2)
266    }
267    /// Native declaration: `int GeoKernelGisOperation_ValidationLastError(wchar_t* buffer,int bufferLength)`.
268    /// # Safety
269    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
270    pub unsafe fn GeoKernelGisOperation_ValidationLastError(&self, a0: *mut WChar, a1: i32) -> i32 {
271        (self.GeoKernelGisOperation_ValidationLastError)(a0, a1)
272    }
273    /// Native declaration: `int GeoKernelNaturalLanguagePlan_EvaluateProposalJson(const wchar_t* json,wchar_t* buffer,int bufferLength)`.
274    /// # Safety
275    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
276    pub unsafe fn GeoKernelNaturalLanguagePlan_EvaluateProposalJson(
277        &self,
278        a0: *const WChar,
279        a1: *mut WChar,
280        a2: i32,
281    ) -> i32 {
282        (self.GeoKernelNaturalLanguagePlan_EvaluateProposalJson)(a0, a1, a2)
283    }
284    /// Native declaration: `int GeoKernelNaturalLanguagePlan_LastError(wchar_t* buffer,int bufferLength)`.
285    /// # Safety
286    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
287    pub unsafe fn GeoKernelNaturalLanguagePlan_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
288        (self.GeoKernelNaturalLanguagePlan_LastError)(a0, a1)
289    }
290    /// Native declaration: `int GeoKernelNaturalLanguagePlan_SystemContract(wchar_t* buffer,int bufferLength)`.
291    /// # Safety
292    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
293    pub unsafe fn GeoKernelNaturalLanguagePlan_SystemContract(
294        &self,
295        a0: *mut WChar,
296        a1: i32,
297    ) -> i32 {
298        (self.GeoKernelNaturalLanguagePlan_SystemContract)(a0, a1)
299    }
300    /// Native declaration: `uint32_t GeoKernelOperation_ContextSize(void)`.
301    /// # Safety
302    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
303    pub unsafe fn GeoKernelOperation_ContextSize(&self) -> u32 {
304        (self.GeoKernelOperation_ContextSize)()
305    }
306    /// Native declaration: `uint32_t GeoKernelOperation_ContextVersion(void)`.
307    /// # Safety
308    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
309    pub unsafe fn GeoKernelOperation_ContextVersion(&self) -> u32 {
310        (self.GeoKernelOperation_ContextVersion)()
311    }
312    /// Native declaration: `int GeoKernelOperation_ValidateContextV1(const GeoKernelOperationContextV1* context)`.
313    /// # Safety
314    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
315    pub unsafe fn GeoKernelOperation_ValidateContextV1(
316        &self,
317        a0: *const GeoKernelOperationContextV1,
318    ) -> i32 {
319        (self.GeoKernelOperation_ValidateContextV1)(a0)
320    }
321    /// Native declaration: `int GeoKernelSpatialEmbeddingIndex_AddJson(void* index,const wchar_t* recordJson)`.
322    /// # Safety
323    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
324    pub unsafe fn GeoKernelSpatialEmbeddingIndex_AddJson(
325        &self,
326        a0: *mut c_void,
327        a1: *const WChar,
328    ) -> i32 {
329        (self.GeoKernelSpatialEmbeddingIndex_AddJson)(a0, a1)
330    }
331    /// Native declaration: `void* GeoKernelSpatialEmbeddingIndex_Create(int dimensions,int signatureBits)`.
332    /// # Safety
333    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
334    pub unsafe fn GeoKernelSpatialEmbeddingIndex_Create(&self, a0: i32, a1: i32) -> *mut c_void {
335        (self.GeoKernelSpatialEmbeddingIndex_Create)(a0, a1)
336    }
337    /// Native declaration: `void GeoKernelSpatialEmbeddingIndex_Destroy(void* index)`.
338    /// # Safety
339    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
340    pub unsafe fn GeoKernelSpatialEmbeddingIndex_Destroy(&self, a0: *mut c_void) {
341        (self.GeoKernelSpatialEmbeddingIndex_Destroy)(a0)
342    }
343    /// Native declaration: `int GeoKernelSpatialEmbeddingIndex_LastError(wchar_t* buffer,int bufferLength)`.
344    /// # Safety
345    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
346    pub unsafe fn GeoKernelSpatialEmbeddingIndex_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
347        (self.GeoKernelSpatialEmbeddingIndex_LastError)(a0, a1)
348    }
349    /// Native declaration: `int GeoKernelSpatialEmbeddingIndex_QueryJson(void* index,const wchar_t* queryJson,wchar_t* buffer,int bufferLength)`.
350    /// # Safety
351    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
352    pub unsafe fn GeoKernelSpatialEmbeddingIndex_QueryJson(
353        &self,
354        a0: *mut c_void,
355        a1: *const WChar,
356        a2: *mut WChar,
357        a3: i32,
358    ) -> i32 {
359        (self.GeoKernelSpatialEmbeddingIndex_QueryJson)(a0, a1, a2, a3)
360    }
361    /// Native declaration: `int GeoKernelTemporalIndex_CapabilitiesJson(void* index, wchar_t* buffer, int bufferLength)`.
362    /// # Safety
363    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
364    pub unsafe fn GeoKernelTemporalIndex_CapabilitiesJson(
365        &self,
366        a0: *mut c_void,
367        a1: *mut WChar,
368        a2: i32,
369    ) -> i32 {
370        (self.GeoKernelTemporalIndex_CapabilitiesJson)(a0, a1, a2)
371    }
372    /// Native declaration: `void* GeoKernelTemporalIndex_Create(void* featureBatch, const wchar_t* optionsJson)`.
373    /// # Safety
374    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
375    pub unsafe fn GeoKernelTemporalIndex_Create(
376        &self,
377        a0: *mut c_void,
378        a1: *const WChar,
379    ) -> *mut c_void {
380        (self.GeoKernelTemporalIndex_Create)(a0, a1)
381    }
382    /// Native declaration: `void GeoKernelTemporalIndex_Destroy(void* index)`.
383    /// # Safety
384    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
385    pub unsafe fn GeoKernelTemporalIndex_Destroy(&self, a0: *mut c_void) {
386        (self.GeoKernelTemporalIndex_Destroy)(a0)
387    }
388    /// Native declaration: `int GeoKernelTemporalIndex_LastError(wchar_t* buffer, int bufferLength)`.
389    /// # Safety
390    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
391    pub unsafe fn GeoKernelTemporalIndex_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
392        (self.GeoKernelTemporalIndex_LastError)(a0, a1)
393    }
394    /// Native declaration: `int GeoKernelTemporalIndex_QueryJson(void* index, const wchar_t* rangeJson, wchar_t* buffer, int bufferLength)`.
395    /// # Safety
396    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
397    pub unsafe fn GeoKernelTemporalIndex_QueryJson(
398        &self,
399        a0: *mut c_void,
400        a1: *const WChar,
401        a2: *mut WChar,
402        a3: i32,
403    ) -> i32 {
404        (self.GeoKernelTemporalIndex_QueryJson)(a0, a1, a2, a3)
405    }
406    /// Native declaration: `int GeoKernelTemporalPlayback_CommandJson(void* controller, const wchar_t* commandJson, wchar_t* buffer, int bufferLength)`.
407    /// # Safety
408    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
409    pub unsafe fn GeoKernelTemporalPlayback_CommandJson(
410        &self,
411        a0: *mut c_void,
412        a1: *const WChar,
413        a2: *mut WChar,
414        a3: i32,
415    ) -> i32 {
416        (self.GeoKernelTemporalPlayback_CommandJson)(a0, a1, a2, a3)
417    }
418    /// Native declaration: `void* GeoKernelTemporalPlayback_Create(const wchar_t* optionsJson)`.
419    /// # Safety
420    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
421    pub unsafe fn GeoKernelTemporalPlayback_Create(&self, a0: *const WChar) -> *mut c_void {
422        (self.GeoKernelTemporalPlayback_Create)(a0)
423    }
424    /// Native declaration: `void GeoKernelTemporalPlayback_Destroy(void* controller)`.
425    /// # Safety
426    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
427    pub unsafe fn GeoKernelTemporalPlayback_Destroy(&self, a0: *mut c_void) {
428        (self.GeoKernelTemporalPlayback_Destroy)(a0)
429    }
430    /// Native declaration: `int GeoKernelTemporalPlayback_LastError(wchar_t* buffer, int bufferLength)`.
431    /// # Safety
432    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
433    pub unsafe fn GeoKernelTemporalPlayback_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
434        (self.GeoKernelTemporalPlayback_LastError)(a0, a1)
435    }
436}
437/// Raw C ABI for `GeoKernel.Viewer`. Loaded modules remain resident until process exit.
438pub struct ViewerApi {
439    _library: ManuallyDrop<libloading::Library>,
440    GeoKernelViewer_AddArcMakeConnectedLayer: unsafe extern "C" fn(
441        *mut c_void,
442        *const WChar,
443        *const f64,
444        i32,
445        *const f64,
446        *const i32,
447        i32,
448        *const WChar,
449    ) -> i32,
450    GeoKernelViewer_AddArcSplitOnCrossLayer: unsafe extern "C" fn(
451        *mut c_void,
452        *const WChar,
453        *const f64,
454        i32,
455        *const f64,
456        *const i32,
457        i32,
458        *const WChar,
459    ) -> i32,
460    GeoKernelViewer_AddAttributedPointLayer: unsafe extern "C" fn(
461        *mut c_void,
462        *const WChar,
463        *const f64,
464        i32,
465        *const WChar,
466        *const WChar,
467        i32,
468    ) -> i32,
469    GeoKernelViewer_AddEmptyVectorLayer:
470        unsafe extern "C" fn(*mut c_void, *const WChar, i32, *const WChar) -> i32,
471    GeoKernelViewer_AddExternalLayer: unsafe extern "C" fn(*mut c_void, *mut c_void) -> bool,
472    GeoKernelViewer_AddFixedPolylineLayer: unsafe extern "C" fn(
473        *mut c_void,
474        *const WChar,
475        *const f64,
476        *const i32,
477        i32,
478        i32,
479        *const WChar,
480    ) -> i32,
481    GeoKernelViewer_AddLayerAttributeDefinition:
482        unsafe extern "C" fn(*mut c_void, i32, *const WChar, i32, i32, i32) -> bool,
483    GeoKernelViewer_AddLayerFile: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
484    GeoKernelViewer_AddLayerFileWithCallbacks: unsafe extern "C" fn(
485        *mut c_void,
486        *const WChar,
487        *const WChar,
488        GeoKernelViewerLayerLoadProgressCallback,
489        GeoKernelViewerLayerLoadCancellationCallback,
490        GeoKernelViewerSpatialIndexStateCallback,
491        *mut c_void,
492    ) -> bool,
493    GeoKernelViewer_AddLayerFileWithOptionsJson:
494        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar) -> bool,
495    GeoKernelViewer_AddOpenStreetMapLayer: unsafe extern "C" fn(*mut c_void, bool) -> i32,
496    GeoKernelViewer_AddPointBufferLayer:
497        unsafe extern "C" fn(*mut c_void, *const WChar, f64, f64, f64, i32, *const WChar) -> i32,
498    GeoKernelViewer_AddPointBufferShape:
499        unsafe extern "C" fn(*mut c_void, f64, f64, f64, i32, *const WChar) -> bool,
500    GeoKernelViewer_AddPointLayer:
501        unsafe extern "C" fn(*mut c_void, *const WChar, *const f64, i32, *const WChar) -> i32,
502    GeoKernelViewer_AddPointShape:
503        unsafe extern "C" fn(*mut c_void, f64, f64, *const WChar) -> bool,
504    GeoKernelViewer_AddPointToEditLayer: unsafe extern "C" fn(*mut c_void, i32, f64, f64) -> bool,
505    GeoKernelViewer_AddPointToEditLayerWithAttributes:
506        unsafe extern "C" fn(*mut c_void, i32, f64, f64, *const WChar) -> bool,
507    GeoKernelViewer_AddPolygonBufferLayer: unsafe extern "C" fn(
508        *mut c_void,
509        *const WChar,
510        *const f64,
511        i32,
512        f64,
513        i32,
514        *const WChar,
515    ) -> i32,
516    GeoKernelViewer_AddPolygonBufferShape:
517        unsafe extern "C" fn(*mut c_void, *const f64, i32, f64, i32, *const WChar) -> bool,
518    GeoKernelViewer_AddPolygonConvexHullLayer:
519        unsafe extern "C" fn(*mut c_void, *const WChar, *const f64, i32, *const WChar) -> i32,
520    GeoKernelViewer_AddPolygonConvexHullTwoLayer: unsafe extern "C" fn(
521        *mut c_void,
522        *const WChar,
523        *const f64,
524        i32,
525        *const f64,
526        i32,
527        *const WChar,
528    ) -> i32,
529    GeoKernelViewer_AddPolygonDifferenceLayer: unsafe extern "C" fn(
530        *mut c_void,
531        *const WChar,
532        *const f64,
533        i32,
534        *const f64,
535        i32,
536        *const WChar,
537    ) -> i32,
538    GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer: unsafe extern "C" fn(
539        *mut c_void,
540        *const WChar,
541        *const f64,
542        *const i32,
543        i32,
544        *const WChar,
545    ) -> i32,
546    GeoKernelViewer_AddPolygonIntersectionLayer: unsafe extern "C" fn(
547        *mut c_void,
548        *const WChar,
549        *const f64,
550        i32,
551        *const f64,
552        i32,
553        *const WChar,
554    ) -> i32,
555    GeoKernelViewer_AddPolygonLayer: unsafe extern "C" fn(
556        *mut c_void,
557        *const WChar,
558        *const f64,
559        *const i32,
560        i32,
561        *const WChar,
562    ) -> i32,
563    GeoKernelViewer_AddPolygonPartsShape:
564        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *const WChar) -> bool,
565    GeoKernelViewer_AddPolygonPartsShapeWithAttributes: unsafe extern "C" fn(
566        *mut c_void,
567        *const f64,
568        *const i32,
569        i32,
570        *const WChar,
571        *const WChar,
572    ) -> bool,
573    GeoKernelViewer_AddPolygonShape:
574        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const WChar) -> bool,
575    GeoKernelViewer_AddPolygonShapeWithAttributes:
576        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const WChar, *const WChar) -> bool,
577    GeoKernelViewer_AddPolygonSplitByArcLayer: unsafe extern "C" fn(
578        *mut c_void,
579        *const WChar,
580        *const f64,
581        i32,
582        *const f64,
583        i32,
584        *const WChar,
585    ) -> i32,
586    GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer: unsafe extern "C" fn(
587        *mut c_void,
588        *const WChar,
589        *const f64,
590        i32,
591        *const f64,
592        i32,
593        *const WChar,
594    ) -> i32,
595    GeoKernelViewer_AddPolygonToEditLayer:
596        unsafe extern "C" fn(*mut c_void, i32, *const f64, i32) -> bool,
597    GeoKernelViewer_AddPolygonToEditLayerWithAttributes:
598        unsafe extern "C" fn(*mut c_void, i32, *const f64, i32, *const WChar) -> bool,
599    GeoKernelViewer_AddPolygonUnionLayer: unsafe extern "C" fn(
600        *mut c_void,
601        *const WChar,
602        *const f64,
603        i32,
604        *const f64,
605        i32,
606        *const WChar,
607    ) -> i32,
608    GeoKernelViewer_AddPolygonUnionOnListLayer: unsafe extern "C" fn(
609        *mut c_void,
610        *const WChar,
611        *const f64,
612        *const i32,
613        i32,
614        *const WChar,
615    ) -> i32,
616    GeoKernelViewer_AddPolylineBufferLayer: unsafe extern "C" fn(
617        *mut c_void,
618        *const WChar,
619        *const f64,
620        i32,
621        f64,
622        i32,
623        *const WChar,
624    ) -> i32,
625    GeoKernelViewer_AddPolylineBufferShape:
626        unsafe extern "C" fn(*mut c_void, *const f64, i32, f64, i32, *const WChar) -> bool,
627    GeoKernelViewer_AddPolylineLayer: unsafe extern "C" fn(
628        *mut c_void,
629        *const WChar,
630        *const f64,
631        *const i32,
632        i32,
633        *const WChar,
634    ) -> i32,
635    GeoKernelViewer_AddPolylineShape:
636        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const WChar) -> bool,
637    GeoKernelViewer_AddPolylineToEditLayer:
638        unsafe extern "C" fn(*mut c_void, i32, *const f64, i32) -> bool,
639    GeoKernelViewer_AddPolylineToEditLayerWithAttributes:
640        unsafe extern "C" fn(*mut c_void, i32, *const f64, i32, *const WChar) -> bool,
641    GeoKernelViewer_AddShortestRouteLayerBetweenPoints: unsafe extern "C" fn(
642        *mut c_void,
643        f64,
644        f64,
645        f64,
646        f64,
647        i32,
648        f64,
649        f64,
650        *const WChar,
651        bool,
652        *mut GeoKernelViewerRouteSummary,
653    ) -> bool,
654    GeoKernelViewer_AddTextShape:
655        unsafe extern "C" fn(*mut c_void, f64, f64, *const WChar, *const WChar) -> bool,
656    GeoKernelViewer_AddTopFeatureToSelectionAt:
657        unsafe extern "C" fn(*mut c_void, f64, f64, i32) -> bool,
658    GeoKernelViewer_AddWfsLayer: unsafe extern "C" fn(
659        *mut c_void,
660        *const WChar,
661        *const WChar,
662        *const WChar,
663        *const WChar,
664        *const WChar,
665        *const WChar,
666        i32,
667    ) -> i32,
668    GeoKernelViewer_AddWktShape: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
669    GeoKernelViewer_AddWmsLayer: unsafe extern "C" fn(
670        *mut c_void,
671        *const WChar,
672        *const WChar,
673        *const WChar,
674        *const WChar,
675        *const WChar,
676        *const WChar,
677        *const WChar,
678        bool,
679        i32,
680        i32,
681        i32,
682        *const WChar,
683        bool,
684        *const WChar,
685    ) -> i32,
686    GeoKernelViewer_AddWmtsLayer: unsafe extern "C" fn(
687        *mut c_void,
688        *const WChar,
689        *const WChar,
690        *const WChar,
691        *const WChar,
692        *const WChar,
693        *const WChar,
694        *const WChar,
695        i32,
696        i32,
697        i32,
698        *const WChar,
699        bool,
700        *const WChar,
701    ) -> i32,
702    GeoKernelViewer_AddXyzLayer: unsafe extern "C" fn(
703        *mut c_void,
704        *const WChar,
705        *const WChar,
706        i32,
707        i32,
708        i32,
709        *const WChar,
710        bool,
711        *const WChar,
712    ) -> i32,
713    GeoKernelViewer_ApplyLayerCategorizedRenderer: unsafe extern "C" fn(
714        *mut c_void,
715        i32,
716        *const WChar,
717        *const WChar,
718        i32,
719        bool,
720        i32,
721        i32,
722        f64,
723        f64,
724    ) -> bool,
725    GeoKernelViewer_ApplyLayerGraduatedRenderer: unsafe extern "C" fn(
726        *mut c_void,
727        i32,
728        *const WChar,
729        i32,
730        i32,
731        *const WChar,
732        f64,
733        *const f64,
734        i32,
735        i32,
736        bool,
737        i32,
738        i32,
739        f64,
740        f64,
741    ) -> bool,
742    GeoKernelViewer_ArcMakeConnectedJson: unsafe extern "C" fn(
743        *mut c_void,
744        *const f64,
745        i32,
746        *const f64,
747        *const i32,
748        i32,
749        *mut WChar,
750        i32,
751    ) -> i32,
752    GeoKernelViewer_ArcSplitOnCrossJson: unsafe extern "C" fn(
753        *mut c_void,
754        *const f64,
755        i32,
756        *const f64,
757        *const i32,
758        i32,
759        *mut WChar,
760        i32,
761    ) -> i32,
762    GeoKernelViewer_BeginEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
763    GeoKernelViewer_BuildRoutingGraphForLayer: unsafe extern "C" fn(
764        *mut c_void,
765        i32,
766        f64,
767        bool,
768        *const WChar,
769        *const WChar,
770        *const WChar,
771        f64,
772    ) -> bool,
773    GeoKernelViewer_CanEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
774    GeoKernelViewer_CanEditSelectedFeatures: unsafe extern "C" fn(*mut c_void) -> bool,
775    GeoKernelViewer_CanEditSelectedVertices: unsafe extern "C" fn(*mut c_void) -> bool,
776    GeoKernelViewer_CanMoveSelectedFeatures: unsafe extern "C" fn(*mut c_void) -> bool,
777    GeoKernelViewer_CanRedoEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
778    GeoKernelViewer_CanUndoEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
779    GeoKernelViewer_CancelEditSketch: unsafe extern "C" fn(*mut c_void) -> (),
780    GeoKernelViewer_CheckPolygonRing: unsafe extern "C" fn(*mut c_void, *const f64, i32) -> bool,
781    GeoKernelViewer_ClearAll: unsafe extern "C" fn(*mut c_void) -> (),
782    GeoKernelViewer_ClearLayerSymbolRenderer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
783    GeoKernelViewer_ClearLayerVisibleScaleRange: unsafe extern "C" fn(*mut c_void, i32) -> bool,
784    GeoKernelViewer_ClearLayers: unsafe extern "C" fn(*mut c_void) -> (),
785    GeoKernelViewer_ClearMeasure: unsafe extern "C" fn(*mut c_void) -> (),
786    GeoKernelViewer_ClearNewFeatureAttributes: unsafe extern "C" fn(*mut c_void) -> (),
787    GeoKernelViewer_ClearOverlayShapes: unsafe extern "C" fn(*mut c_void) -> (),
788    GeoKernelViewer_ClearRoutingGraph: unsafe extern "C" fn(*mut c_void) -> (),
789    GeoKernelViewer_ClearSelectedFeatures: unsafe extern "C" fn(*mut c_void) -> (),
790    GeoKernelViewer_ClearShapes: unsafe extern "C" fn(*mut c_void) -> (),
791    GeoKernelViewer_CloseProject: unsafe extern "C" fn(*mut c_void) -> (),
792    GeoKernelViewer_CommitEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
793    GeoKernelViewer_ContainsColorRamp: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
794    GeoKernelViewer_ConvexHullPolygonJson:
795        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut WChar, i32) -> i32,
796    GeoKernelViewer_ConvexHullTwoPolygonsJson:
797        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
798    GeoKernelViewer_CoordinateSystemFromAuthorityJson:
799        unsafe extern "C" fn(*const WChar, i32, *mut WChar, i32) -> i32,
800    GeoKernelViewer_CoordinateSystemFromEpsgJson: unsafe extern "C" fn(i32, *mut WChar, i32) -> i32,
801    GeoKernelViewer_Create: unsafe extern "C" fn(i32, i32) -> *mut c_void,
802    GeoKernelViewer_CreateWindow: unsafe extern "C" fn(i32, i32, *const WChar, bool) -> *mut c_void,
803    GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer:
804        unsafe extern "C" fn(*mut c_void, i32, i32) -> bool,
805    GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer: unsafe extern "C" fn(*mut c_void) -> bool,
806    GeoKernelViewer_DeleteSelectedVertexFromEditLayer: unsafe extern "C" fn(*mut c_void) -> bool,
807    GeoKernelViewer_DeleteShapeFromEditLayer: unsafe extern "C" fn(*mut c_void, i32, i32) -> bool,
808    GeoKernelViewer_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
809    GeoKernelViewer_DifferencePolygonsJson:
810        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
811    GeoKernelViewer_EvaluateSpatialRelationJson:
812        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
813    GeoKernelViewer_FindAndDeleteLoopsJson:
814        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *mut WChar, i32) -> i32,
815    GeoKernelViewer_FindMatchingArcIndex:
816        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, *const i32, i32) -> i32,
817    GeoKernelViewer_FinishMeasure: unsafe extern "C" fn(*mut c_void) -> (),
818    GeoKernelViewer_FixPolygonJson:
819        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut WChar, i32) -> i32,
820    GeoKernelViewer_FixPolylineJson:
821        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, i32, *mut WChar, i32) -> i32,
822    GeoKernelViewer_FullExtent: unsafe extern "C" fn(*mut c_void) -> (),
823    GeoKernelViewer_GetActiveEditLayerIndex: unsafe extern "C" fn(*mut c_void) -> i32,
824    GeoKernelViewer_GetColorRampNamesJson:
825        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
826    GeoKernelViewer_GetCoordinateSystemInfoJson:
827        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
828    GeoKernelViewer_GetCurrentRenderBackendName:
829        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
830    GeoKernelViewer_GetDefaultAttributesForLayerJson:
831        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
832    GeoKernelViewer_GetEditSnappingEnabled: unsafe extern "C" fn(*mut c_void) -> bool,
833    GeoKernelViewer_GetEditSnappingTolerancePixels: unsafe extern "C" fn(*mut c_void) -> f64,
834    GeoKernelViewer_GetExtentOperationsJson:
835        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
836    GeoKernelViewer_GetExtraInfoText: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
837    GeoKernelViewer_GetFPS: unsafe extern "C" fn(*mut c_void) -> f64,
838    GeoKernelViewer_GetLayerAttributeDefinitionsJson:
839        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
840    GeoKernelViewer_GetLayerCount: unsafe extern "C" fn(*mut c_void) -> i32,
841    GeoKernelViewer_GetLayerDisplayText:
842        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
843    GeoKernelViewer_GetLayerFeatureAttributesJson:
844        unsafe extern "C" fn(*mut c_void, i32, i32, *mut WChar, i32) -> i32,
845    GeoKernelViewer_GetLayerFeatureCount: unsafe extern "C" fn(*mut c_void, i32) -> i32,
846    GeoKernelViewer_GetLayerInfoByNameJson:
847        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
848    GeoKernelViewer_GetLayerInfoJson:
849        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
850    GeoKernelViewer_GetLayerProjectedExtent:
851        unsafe extern "C" fn(*mut c_void, i32, *mut GeoKernelViewerExtent) -> bool,
852    GeoKernelViewer_GetLayerShapeType: unsafe extern "C" fn(*mut c_void, i32) -> i32,
853    GeoKernelViewer_GetLayerStyleJson:
854        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
855    GeoKernelViewer_GetLayerSymbolRendererJson:
856        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
857    GeoKernelViewer_GetLayersInfoJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
858    GeoKernelViewer_GetLinePointToleranceInfoJson:
859        unsafe extern "C" fn(*mut c_void, *const f64, i32, f64, f64, f64, *mut WChar, i32) -> i32,
860    GeoKernelViewer_GetLoggingModeName: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
861    GeoKernelViewer_GetMapBackgroundColor: unsafe extern "C" fn(*mut c_void) -> i32,
862    GeoKernelViewer_GetMapScale: unsafe extern "C" fn(*mut c_void) -> f64,
863    GeoKernelViewer_GetMeasureArea: unsafe extern "C" fn(*mut c_void) -> f64,
864    GeoKernelViewer_GetMeasureMode: unsafe extern "C" fn(*mut c_void) -> i32,
865    GeoKernelViewer_GetMeasureResultText: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
866    GeoKernelViewer_GetMeasureToolActive: unsafe extern "C" fn(*mut c_void) -> bool,
867    GeoKernelViewer_GetMeasureTotalDistance: unsafe extern "C" fn(*mut c_void) -> f64,
868    GeoKernelViewer_GetMiniMapVisible: unsafe extern "C" fn(*mut c_void) -> bool,
869    GeoKernelViewer_GetNativeHandle: unsafe extern "C" fn(*mut c_void) -> usize,
870    GeoKernelViewer_GetNewFeatureAttributesJson:
871        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
872    GeoKernelViewer_GetPmTilesSourceLayersJson:
873        unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
874    GeoKernelViewer_GetPolygonCentroidInfoJson:
875        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut WChar, i32) -> i32,
876    GeoKernelViewer_GetPolylineCrossingsJson:
877        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
878    GeoKernelViewer_GetRasterOverviewDiagnosticsJson:
879        unsafe extern "C" fn(*mut c_void, i32, bool, *mut WChar, i32) -> i32,
880    GeoKernelViewer_GetRasterTileCacheDiagnosticsJson:
881        unsafe extern "C" fn(*mut c_void, i32, bool, bool, *mut WChar, i32) -> i32,
882    GeoKernelViewer_GetRasterWorldTransformJson:
883        unsafe extern "C" fn(*mut c_void, i32, f64, f64, *mut WChar, i32) -> i32,
884    GeoKernelViewer_GetRenderBackendDiagnostics:
885        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
886    GeoKernelViewer_GetRenderBackendPreference: unsafe extern "C" fn(*mut c_void) -> i32,
887    GeoKernelViewer_GetRenderBackendPreferenceName:
888        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
889    GeoKernelViewer_GetRenderDebugFile: unsafe extern "C" fn(*mut c_void) -> bool,
890    GeoKernelViewer_GetRenderDebugWindow: unsafe extern "C" fn(*mut c_void) -> bool,
891    GeoKernelViewer_GetRenderMetricsLogPath:
892        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
893    GeoKernelViewer_GetRenderMetricsVisible: unsafe extern "C" fn(*mut c_void) -> bool,
894    GeoKernelViewer_GetRenderStepLog: unsafe extern "C" fn(*mut c_void) -> bool,
895    GeoKernelViewer_GetRenderStepLogPath: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
896    GeoKernelViewer_GetRoutingGraphEdgeCount: unsafe extern "C" fn(*mut c_void) -> i32,
897    GeoKernelViewer_GetRoutingGraphJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
898    GeoKernelViewer_GetRoutingGraphLayerIndex: unsafe extern "C" fn(*mut c_void) -> i32,
899    GeoKernelViewer_GetRoutingGraphNodeCount: unsafe extern "C" fn(*mut c_void) -> i32,
900    GeoKernelViewer_GetScaleBarVisible: unsafe extern "C" fn(*mut c_void) -> bool,
901    GeoKernelViewer_GetSelectedFeatureCount: unsafe extern "C" fn(*mut c_void) -> i32,
902    GeoKernelViewer_GetSelectedFeaturesJson:
903        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
904    GeoKernelViewer_GetShowExtraInfo: unsafe extern "C" fn(*mut c_void) -> bool,
905    GeoKernelViewer_GetShowFPS: unsafe extern "C" fn(*mut c_void) -> bool,
906    GeoKernelViewer_GetSpatialIndexType: unsafe extern "C" fn(*mut c_void) -> i32,
907    GeoKernelViewer_GetTool: unsafe extern "C" fn(*mut c_void) -> i32,
908    GeoKernelViewer_GetUseHardwareAcceleration: unsafe extern "C" fn(*mut c_void) -> bool,
909    GeoKernelViewer_GetVerboseMode: unsafe extern "C" fn(*mut c_void) -> bool,
910    GeoKernelViewer_GetViewExtent:
911        unsafe extern "C" fn(*mut c_void, *mut GeoKernelViewerExtent) -> bool,
912    GeoKernelViewer_GetXyzLayerDiagnosticsJson:
913        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
914    GeoKernelViewer_HasActiveEditSketch: unsafe extern "C" fn(*mut c_void) -> bool,
915    GeoKernelViewer_HasRoutingGraph: unsafe extern "C" fn(*mut c_void) -> bool,
916    GeoKernelViewer_HitTestFeatureCountInExtent:
917        unsafe extern "C" fn(*mut c_void, f64, f64, f64, f64) -> i32,
918    GeoKernelViewer_HitTestFeaturesAtJson:
919        unsafe extern "C" fn(*mut c_void, f64, f64, i32, *mut WChar, i32) -> i32,
920    GeoKernelViewer_HitTestFeaturesInExtentJson:
921        unsafe extern "C" fn(*mut c_void, f64, f64, f64, f64, *mut WChar, i32) -> i32,
922    GeoKernelViewer_HitTestFeaturesInScreenRectJson:
923        unsafe extern "C" fn(*mut c_void, i32, i32, i32, i32, *mut WChar, i32) -> i32,
924    GeoKernelViewer_HitTestFeaturesJson:
925        unsafe extern "C" fn(*mut c_void, f64, f64, f64, *mut WChar, i32) -> i32,
926    GeoKernelViewer_HitTestTopFeatureAtJson:
927        unsafe extern "C" fn(*mut c_void, f64, f64, i32, *mut WChar, i32) -> i32,
928    GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer:
929        unsafe extern "C" fn(*mut c_void, i32, i32, f64, f64) -> bool,
930    GeoKernelViewer_IntersectionPolygonsJson:
931        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
932    GeoKernelViewer_InvalidateRenderCache: unsafe extern "C" fn(*mut c_void, bool, bool) -> (),
933    GeoKernelViewer_IsLayerDirty: unsafe extern "C" fn(*mut c_void, i32) -> bool,
934    GeoKernelViewer_IsLayerEditing: unsafe extern "C" fn(*mut c_void, i32) -> bool,
935    GeoKernelViewer_MoveLayer: unsafe extern "C" fn(*mut c_void, i32, i32) -> bool,
936    GeoKernelViewer_MoveSelectedFeaturesInEditLayer:
937        unsafe extern "C" fn(*mut c_void, f64, f64) -> bool,
938    GeoKernelViewer_OpenProject: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
939    GeoKernelViewer_OpenProjectWithProgress: unsafe extern "C" fn(
940        *mut c_void,
941        *const WChar,
942        GeoKernelViewerLayerLoadProgressCallback,
943        *mut c_void,
944    ) -> bool,
945    GeoKernelViewer_ProcessEvents: unsafe extern "C" fn() -> (),
946    GeoKernelViewer_ReadGeoJsonGeometryJson:
947        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
948    GeoKernelViewer_ReadGeoJsonLineStringJson:
949        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
950    GeoKernelViewer_ReadGeoJsonPoint:
951        unsafe extern "C" fn(*mut c_void, *const WChar, *mut f64, *mut f64) -> bool,
952    GeoKernelViewer_ReadGeoJsonPolygonJson:
953        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
954    GeoKernelViewer_ReadWkbGeometryJson:
955        unsafe extern "C" fn(*mut c_void, *const u8, i32, *mut WChar, i32) -> i32,
956    GeoKernelViewer_ReadWkbLineStringJson:
957        unsafe extern "C" fn(*mut c_void, *const u8, i32, *mut WChar, i32) -> i32,
958    GeoKernelViewer_ReadWkbPoint:
959        unsafe extern "C" fn(*mut c_void, *const u8, i32, *mut f64, *mut f64) -> bool,
960    GeoKernelViewer_ReadWkbPolygonJson:
961        unsafe extern "C" fn(*mut c_void, *const u8, i32, bool, *mut WChar, i32) -> i32,
962    GeoKernelViewer_ReadWktLineStringJson:
963        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
964    GeoKernelViewer_ReadWktPoint:
965        unsafe extern "C" fn(*mut c_void, *const WChar, *mut f64, *mut f64) -> bool,
966    GeoKernelViewer_ReadWktPolygonJson:
967        unsafe extern "C" fn(*mut c_void, *const WChar, bool, *mut WChar, i32) -> i32,
968    GeoKernelViewer_RedoEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
969    GeoKernelViewer_RefreshLayers: unsafe extern "C" fn(*mut c_void) -> (),
970    GeoKernelViewer_RelatePolygonRings:
971        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
972    GeoKernelViewer_RelatePolygonRingsPattern:
973        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *const WChar) -> bool,
974    GeoKernelViewer_RelatePolylines:
975        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
976    GeoKernelViewer_RelatePolylinesPattern:
977        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *const WChar) -> bool,
978    GeoKernelViewer_RemoveExternalLayer: unsafe extern "C" fn(*mut c_void, *mut c_void) -> bool,
979    GeoKernelViewer_RemoveLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
980    GeoKernelViewer_RemoveLayerByName: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
981    GeoKernelViewer_RemoveOverlayShape: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
982    GeoKernelViewer_Resize: unsafe extern "C" fn(*mut c_void, i32, i32) -> (),
983    GeoKernelViewer_RollbackEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
984    GeoKernelViewer_SaveLayerAsShapefile:
985        unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
986    GeoKernelViewer_SaveProject: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
987    GeoKernelViewer_ScreenToWorld:
988        unsafe extern "C" fn(*mut c_void, f64, f64, *mut f64, *mut f64) -> bool,
989    GeoKernelViewer_SelectFeatureHit:
990        unsafe extern "C" fn(*mut c_void, f64, f64, f64, i32, i32, i32) -> bool,
991    GeoKernelViewer_SelectFeaturesInScreenRect:
992        unsafe extern "C" fn(*mut c_void, i32, i32, i32, i32, i32) -> i32,
993    GeoKernelViewer_SelectTopFeatureAt: unsafe extern "C" fn(*mut c_void, f64, f64, i32) -> bool,
994    GeoKernelViewer_SetActivationTypeName: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
995    GeoKernelViewer_SetActiveEditLayerIndex: unsafe extern "C" fn(*mut c_void, i32) -> bool,
996    GeoKernelViewer_SetCoordinateSystemPreset:
997        unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
998    GeoKernelViewer_SetEditSnappingEnabled: unsafe extern "C" fn(*mut c_void, bool) -> (),
999    GeoKernelViewer_SetEditSnappingTolerancePixels: unsafe extern "C" fn(*mut c_void, f64) -> (),
1000    GeoKernelViewer_SetEventCallback:
1001        unsafe extern "C" fn(*mut c_void, GeoKernelViewerEventCallback, *mut c_void) -> (),
1002    GeoKernelViewer_SetExtraInfoText: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1003    GeoKernelViewer_SetFeatureAttributesInEditLayerJson:
1004        unsafe extern "C" fn(*mut c_void, i32, i32, i32, *const WChar) -> bool,
1005    GeoKernelViewer_SetLayerCoordinateSystemPreset:
1006        unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
1007    GeoKernelViewer_SetLayerName: unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
1008    GeoKernelViewer_SetLayerOpacity: unsafe extern "C" fn(*mut c_void, i32, f64) -> bool,
1009    GeoKernelViewer_SetLayerStyleJson: unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
1010    GeoKernelViewer_SetLayerSymbolRendererJson:
1011        unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
1012    GeoKernelViewer_SetLayerVisible: unsafe extern "C" fn(*mut c_void, i32, bool) -> bool,
1013    GeoKernelViewer_SetLayerVisibleScaleRange:
1014        unsafe extern "C" fn(*mut c_void, i32, f64, f64) -> bool,
1015    GeoKernelViewer_SetLicenseKey: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1016    GeoKernelViewer_SetLicenseManagerUrl: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1017    GeoKernelViewer_SetLoggingModeName: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1018    GeoKernelViewer_SetMapBackgroundColor: unsafe extern "C" fn(*mut c_void, i32) -> (),
1019    GeoKernelViewer_SetMapStyleName: unsafe extern "C" fn(*mut c_void, *const WChar, bool) -> bool,
1020    GeoKernelViewer_SetMeasureColors: unsafe extern "C" fn(*mut c_void, i32, i32, i32, i32) -> (),
1021    GeoKernelViewer_SetMeasureMode: unsafe extern "C" fn(*mut c_void, i32) -> (),
1022    GeoKernelViewer_SetMeasureToolActive: unsafe extern "C" fn(*mut c_void, bool) -> (),
1023    GeoKernelViewer_SetMiniMapAnchor: unsafe extern "C" fn(*mut c_void, i32) -> (),
1024    GeoKernelViewer_SetMiniMapBackgroundColor: unsafe extern "C" fn(*mut c_void, i32) -> (),
1025    GeoKernelViewer_SetMiniMapVisible: unsafe extern "C" fn(*mut c_void, bool) -> (),
1026    GeoKernelViewer_SetNewFeatureAttributesJson:
1027        unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1028    GeoKernelViewer_SetOverlayPoint:
1029        unsafe extern "C" fn(*mut c_void, *const WChar, f64, f64, *const WChar) -> bool,
1030    GeoKernelViewer_SetRenderBackendPreference: unsafe extern "C" fn(*mut c_void, i32) -> (),
1031    GeoKernelViewer_SetRenderBackendPreferenceName:
1032        unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1033    GeoKernelViewer_SetRenderDebugFile: unsafe extern "C" fn(*mut c_void, bool) -> (),
1034    GeoKernelViewer_SetRenderDebugWindow: unsafe extern "C" fn(*mut c_void, bool) -> (),
1035    GeoKernelViewer_SetRenderMetricsLogPath: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1036    GeoKernelViewer_SetRenderMetricsVisible: unsafe extern "C" fn(*mut c_void, bool) -> (),
1037    GeoKernelViewer_SetRenderStepLog: unsafe extern "C" fn(*mut c_void, bool) -> (),
1038    GeoKernelViewer_SetRenderStepLogPath: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1039    GeoKernelViewer_SetScaleBarAnchor: unsafe extern "C" fn(*mut c_void, i32) -> (),
1040    GeoKernelViewer_SetScaleBarColors: unsafe extern "C" fn(*mut c_void, i32, i32, i32) -> (),
1041    GeoKernelViewer_SetScaleBarVisible: unsafe extern "C" fn(*mut c_void, bool) -> (),
1042    GeoKernelViewer_SetShapeAttributesInEditLayerJson:
1043        unsafe extern "C" fn(*mut c_void, i32, i32, *const WChar) -> bool,
1044    GeoKernelViewer_SetShowExtraInfo: unsafe extern "C" fn(*mut c_void, bool) -> (),
1045    GeoKernelViewer_SetShowFPS: unsafe extern "C" fn(*mut c_void, bool) -> (),
1046    GeoKernelViewer_SetSpatialIndexType: unsafe extern "C" fn(*mut c_void, i32) -> (),
1047    GeoKernelViewer_SetTool: unsafe extern "C" fn(*mut c_void, i32) -> (),
1048    GeoKernelViewer_SetUseHardwareAcceleration: unsafe extern "C" fn(*mut c_void, bool) -> (),
1049    GeoKernelViewer_SetVerboseMode: unsafe extern "C" fn(*mut c_void, bool) -> (),
1050    GeoKernelViewer_SetViewExtent: unsafe extern "C" fn(*mut c_void, GeoKernelViewerExtent) -> (),
1051    GeoKernelViewer_Show: unsafe extern "C" fn(*mut c_void) -> (),
1052    GeoKernelViewer_ShutdownApplication: unsafe extern "C" fn() -> bool,
1053    GeoKernelViewer_SimplifyPolygonRingJson:
1054        unsafe extern "C" fn(*mut c_void, *const f64, i32, f64, *mut WChar, i32) -> i32,
1055    GeoKernelViewer_SplitPolygonByArcJson:
1056        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
1057    GeoKernelViewer_StartMeasureArea: unsafe extern "C" fn(*mut c_void) -> (),
1058    GeoKernelViewer_StartMeasureDistance: unsafe extern "C" fn(*mut c_void) -> (),
1059    GeoKernelViewer_SymmetricalDifferencePolygonsJson:
1060        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
1061    GeoKernelViewer_ToggleTopFeatureSelectionAt:
1062        unsafe extern "C" fn(*mut c_void, f64, f64, i32) -> bool,
1063    GeoKernelViewer_TransformPoint:
1064        unsafe extern "C" fn(i32, i32, f64, f64, *mut f64, *mut f64) -> bool,
1065    GeoKernelViewer_UndoEditLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
1066    GeoKernelViewer_UnionPolygonsJson:
1067        unsafe extern "C" fn(*mut c_void, *const f64, i32, *const f64, i32, *mut WChar, i32) -> i32,
1068    GeoKernelViewer_UnionPolygonsOnListJson:
1069        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *mut WChar, i32) -> i32,
1070    GeoKernelViewer_WorldToScreen:
1071        unsafe extern "C" fn(*mut c_void, f64, f64, *mut f64, *mut f64) -> bool,
1072    GeoKernelViewer_WriteGeoJsonLineString:
1073        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut WChar, i32) -> i32,
1074    GeoKernelViewer_WriteGeoJsonPoint:
1075        unsafe extern "C" fn(*mut c_void, f64, f64, *mut WChar, i32) -> i32,
1076    GeoKernelViewer_WriteGeoJsonPolygon:
1077        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *mut WChar, i32) -> i32,
1078    GeoKernelViewer_WriteLayerLastShapeGeoJson:
1079        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
1080    GeoKernelViewer_WriteLayerLastShapeWkb:
1081        unsafe extern "C" fn(*mut c_void, i32, *mut u8, i32) -> i32,
1082    GeoKernelViewer_WriteLayerLastShapeWkt:
1083        unsafe extern "C" fn(*mut c_void, i32, *mut WChar, i32) -> i32,
1084    GeoKernelViewer_WriteWkbLineString:
1085        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut u8, i32) -> i32,
1086    GeoKernelViewer_WriteWkbPoint: unsafe extern "C" fn(*mut c_void, f64, f64, *mut u8, i32) -> i32,
1087    GeoKernelViewer_WriteWkbPolygon:
1088        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *mut u8, i32) -> i32,
1089    GeoKernelViewer_WriteWktLineString:
1090        unsafe extern "C" fn(*mut c_void, *const f64, i32, *mut WChar, i32) -> i32,
1091    GeoKernelViewer_WriteWktPoint:
1092        unsafe extern "C" fn(*mut c_void, f64, f64, *mut WChar, i32) -> i32,
1093    GeoKernelViewer_WriteWktPolygon:
1094        unsafe extern "C" fn(*mut c_void, *const f64, *const i32, i32, *mut WChar, i32) -> i32,
1095    GeoKernelViewer_ZoomAtPoint: unsafe extern "C" fn(*mut c_void, i32, i32, f64) -> (),
1096    GeoKernelViewer_ZoomIn: unsafe extern "C" fn(*mut c_void, f64) -> (),
1097    GeoKernelViewer_ZoomOut: unsafe extern "C" fn(*mut c_void, f64) -> (),
1098    GeoKernelViewer_ZoomToLayer: unsafe extern "C" fn(*mut c_void, i32) -> bool,
1099    GeoKernelViewer_ZoomToScreenRect: unsafe extern "C" fn(*mut c_void, i32, i32, i32, i32) -> (),
1100    GeoKernelViewer_ZoomToSelectedFeatures: unsafe extern "C" fn(*mut c_void) -> bool,
1101    GeoKernelWindow_AddCancellableLayerLoadToolbar:
1102        unsafe extern "C" fn(*mut c_void, *mut c_void, *const WChar) -> bool,
1103    GeoKernelWindow_AddCommandToolbar: unsafe extern "C" fn(
1104        *mut c_void,
1105        *const WChar,
1106        GeoKernelWindowCommandCallback,
1107        *mut c_void,
1108    ) -> bool,
1109    GeoKernelWindow_AddControlPanel: unsafe extern "C" fn(
1110        *mut c_void,
1111        *const WChar,
1112        GeoKernelWindowControlCallback,
1113        *mut c_void,
1114    ) -> bool,
1115    GeoKernelWindow_AddLayerManagementToolbar:
1116        unsafe extern "C" fn(*mut c_void, *mut c_void, *const WChar) -> bool,
1117    GeoKernelWindow_AddLayerPanel: unsafe extern "C" fn(*mut c_void, *mut c_void, i32) -> bool,
1118    GeoKernelWindow_AddLayerSelector: unsafe extern "C" fn(*mut c_void, *mut c_void, i32) -> bool,
1119    GeoKernelWindow_AddLayerStyleToolbar:
1120        unsafe extern "C" fn(*mut c_void, *mut c_void, *const WChar) -> bool,
1121    GeoKernelWindow_AddLegendPanel: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1122    GeoKernelWindow_AddLogPanel: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1123    GeoKernelWindow_AddMeasureToolbar: unsafe extern "C" fn(*mut c_void, *mut c_void) -> (),
1124    GeoKernelWindow_AddNavigationToolbar: unsafe extern "C" fn(*mut c_void, *mut c_void) -> (),
1125    GeoKernelWindow_AddSpatialIndexBenchmarkToolbar:
1126        unsafe extern "C" fn(*mut c_void, *mut c_void, *const WChar) -> bool,
1127    GeoKernelWindow_AddViewerPane: unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
1128    GeoKernelWindow_AppendLog: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1129    GeoKernelWindow_ClearLog: unsafe extern "C" fn(*mut c_void) -> (),
1130    GeoKernelWindow_Create: unsafe extern "C" fn(i32, i32, *const WChar) -> *mut c_void,
1131    GeoKernelWindow_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
1132    GeoKernelWindow_GetSelectedLayerIndex: unsafe extern "C" fn(*mut c_void) -> i32,
1133    GeoKernelWindow_IsVisible: unsafe extern "C" fn(*mut c_void) -> bool,
1134    GeoKernelWindow_SetAttributionText: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1135    GeoKernelWindow_SetCentralText: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1136    GeoKernelWindow_SetCentralTextPanel: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1137    GeoKernelWindow_SetCentralViewer: unsafe extern "C" fn(*mut c_void) -> *mut c_void,
1138    GeoKernelWindow_SetCommandEnabled: unsafe extern "C" fn(*mut c_void, i32, bool) -> bool,
1139    GeoKernelWindow_SetControlEnabled: unsafe extern "C" fn(*mut c_void, i32, bool) -> bool,
1140    GeoKernelWindow_SetControlOptionsJson:
1141        unsafe extern "C" fn(*mut c_void, i32, *const WChar) -> bool,
1142    GeoKernelWindow_SetControlValue:
1143        unsafe extern "C" fn(*mut c_void, i32, f64, *const WChar) -> bool,
1144    GeoKernelWindow_SetLegendItemsJson: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1145    GeoKernelWindow_SetLegendTitle: unsafe extern "C" fn(*mut c_void, *const WChar) -> bool,
1146    GeoKernelWindow_SetLegendWidth: unsafe extern "C" fn(*mut c_void, i32) -> bool,
1147    GeoKernelWindow_SetStatusText: unsafe extern "C" fn(*mut c_void, *const WChar) -> (),
1148    GeoKernelWindow_Show: unsafe extern "C" fn(*mut c_void) -> (),
1149}
1150impl ViewerApi {
1151    pub const SYMBOLS: &'static [&'static str] = &[
1152        "GeoKernelViewer_AddArcMakeConnectedLayer",
1153        "GeoKernelViewer_AddArcSplitOnCrossLayer",
1154        "GeoKernelViewer_AddAttributedPointLayer",
1155        "GeoKernelViewer_AddEmptyVectorLayer",
1156        "GeoKernelViewer_AddExternalLayer",
1157        "GeoKernelViewer_AddFixedPolylineLayer",
1158        "GeoKernelViewer_AddLayerAttributeDefinition",
1159        "GeoKernelViewer_AddLayerFile",
1160        "GeoKernelViewer_AddLayerFileWithCallbacks",
1161        "GeoKernelViewer_AddLayerFileWithOptionsJson",
1162        "GeoKernelViewer_AddOpenStreetMapLayer",
1163        "GeoKernelViewer_AddPointBufferLayer",
1164        "GeoKernelViewer_AddPointBufferShape",
1165        "GeoKernelViewer_AddPointLayer",
1166        "GeoKernelViewer_AddPointShape",
1167        "GeoKernelViewer_AddPointToEditLayer",
1168        "GeoKernelViewer_AddPointToEditLayerWithAttributes",
1169        "GeoKernelViewer_AddPolygonBufferLayer",
1170        "GeoKernelViewer_AddPolygonBufferShape",
1171        "GeoKernelViewer_AddPolygonConvexHullLayer",
1172        "GeoKernelViewer_AddPolygonConvexHullTwoLayer",
1173        "GeoKernelViewer_AddPolygonDifferenceLayer",
1174        "GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer",
1175        "GeoKernelViewer_AddPolygonIntersectionLayer",
1176        "GeoKernelViewer_AddPolygonLayer",
1177        "GeoKernelViewer_AddPolygonPartsShape",
1178        "GeoKernelViewer_AddPolygonPartsShapeWithAttributes",
1179        "GeoKernelViewer_AddPolygonShape",
1180        "GeoKernelViewer_AddPolygonShapeWithAttributes",
1181        "GeoKernelViewer_AddPolygonSplitByArcLayer",
1182        "GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer",
1183        "GeoKernelViewer_AddPolygonToEditLayer",
1184        "GeoKernelViewer_AddPolygonToEditLayerWithAttributes",
1185        "GeoKernelViewer_AddPolygonUnionLayer",
1186        "GeoKernelViewer_AddPolygonUnionOnListLayer",
1187        "GeoKernelViewer_AddPolylineBufferLayer",
1188        "GeoKernelViewer_AddPolylineBufferShape",
1189        "GeoKernelViewer_AddPolylineLayer",
1190        "GeoKernelViewer_AddPolylineShape",
1191        "GeoKernelViewer_AddPolylineToEditLayer",
1192        "GeoKernelViewer_AddPolylineToEditLayerWithAttributes",
1193        "GeoKernelViewer_AddShortestRouteLayerBetweenPoints",
1194        "GeoKernelViewer_AddTextShape",
1195        "GeoKernelViewer_AddTopFeatureToSelectionAt",
1196        "GeoKernelViewer_AddWfsLayer",
1197        "GeoKernelViewer_AddWktShape",
1198        "GeoKernelViewer_AddWmsLayer",
1199        "GeoKernelViewer_AddWmtsLayer",
1200        "GeoKernelViewer_AddXyzLayer",
1201        "GeoKernelViewer_ApplyLayerCategorizedRenderer",
1202        "GeoKernelViewer_ApplyLayerGraduatedRenderer",
1203        "GeoKernelViewer_ArcMakeConnectedJson",
1204        "GeoKernelViewer_ArcSplitOnCrossJson",
1205        "GeoKernelViewer_BeginEditLayer",
1206        "GeoKernelViewer_BuildRoutingGraphForLayer",
1207        "GeoKernelViewer_CanEditLayer",
1208        "GeoKernelViewer_CanEditSelectedFeatures",
1209        "GeoKernelViewer_CanEditSelectedVertices",
1210        "GeoKernelViewer_CanMoveSelectedFeatures",
1211        "GeoKernelViewer_CanRedoEditLayer",
1212        "GeoKernelViewer_CanUndoEditLayer",
1213        "GeoKernelViewer_CancelEditSketch",
1214        "GeoKernelViewer_CheckPolygonRing",
1215        "GeoKernelViewer_ClearAll",
1216        "GeoKernelViewer_ClearLayerSymbolRenderer",
1217        "GeoKernelViewer_ClearLayerVisibleScaleRange",
1218        "GeoKernelViewer_ClearLayers",
1219        "GeoKernelViewer_ClearMeasure",
1220        "GeoKernelViewer_ClearNewFeatureAttributes",
1221        "GeoKernelViewer_ClearOverlayShapes",
1222        "GeoKernelViewer_ClearRoutingGraph",
1223        "GeoKernelViewer_ClearSelectedFeatures",
1224        "GeoKernelViewer_ClearShapes",
1225        "GeoKernelViewer_CloseProject",
1226        "GeoKernelViewer_CommitEditLayer",
1227        "GeoKernelViewer_ContainsColorRamp",
1228        "GeoKernelViewer_ConvexHullPolygonJson",
1229        "GeoKernelViewer_ConvexHullTwoPolygonsJson",
1230        "GeoKernelViewer_CoordinateSystemFromAuthorityJson",
1231        "GeoKernelViewer_CoordinateSystemFromEpsgJson",
1232        "GeoKernelViewer_Create",
1233        "GeoKernelViewer_CreateWindow",
1234        "GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer",
1235        "GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer",
1236        "GeoKernelViewer_DeleteSelectedVertexFromEditLayer",
1237        "GeoKernelViewer_DeleteShapeFromEditLayer",
1238        "GeoKernelViewer_Destroy",
1239        "GeoKernelViewer_DifferencePolygonsJson",
1240        "GeoKernelViewer_EvaluateSpatialRelationJson",
1241        "GeoKernelViewer_FindAndDeleteLoopsJson",
1242        "GeoKernelViewer_FindMatchingArcIndex",
1243        "GeoKernelViewer_FinishMeasure",
1244        "GeoKernelViewer_FixPolygonJson",
1245        "GeoKernelViewer_FixPolylineJson",
1246        "GeoKernelViewer_FullExtent",
1247        "GeoKernelViewer_GetActiveEditLayerIndex",
1248        "GeoKernelViewer_GetColorRampNamesJson",
1249        "GeoKernelViewer_GetCoordinateSystemInfoJson",
1250        "GeoKernelViewer_GetCurrentRenderBackendName",
1251        "GeoKernelViewer_GetDefaultAttributesForLayerJson",
1252        "GeoKernelViewer_GetEditSnappingEnabled",
1253        "GeoKernelViewer_GetEditSnappingTolerancePixels",
1254        "GeoKernelViewer_GetExtentOperationsJson",
1255        "GeoKernelViewer_GetExtraInfoText",
1256        "GeoKernelViewer_GetFPS",
1257        "GeoKernelViewer_GetLayerAttributeDefinitionsJson",
1258        "GeoKernelViewer_GetLayerCount",
1259        "GeoKernelViewer_GetLayerDisplayText",
1260        "GeoKernelViewer_GetLayerFeatureAttributesJson",
1261        "GeoKernelViewer_GetLayerFeatureCount",
1262        "GeoKernelViewer_GetLayerInfoByNameJson",
1263        "GeoKernelViewer_GetLayerInfoJson",
1264        "GeoKernelViewer_GetLayerProjectedExtent",
1265        "GeoKernelViewer_GetLayerShapeType",
1266        "GeoKernelViewer_GetLayerStyleJson",
1267        "GeoKernelViewer_GetLayerSymbolRendererJson",
1268        "GeoKernelViewer_GetLayersInfoJson",
1269        "GeoKernelViewer_GetLinePointToleranceInfoJson",
1270        "GeoKernelViewer_GetLoggingModeName",
1271        "GeoKernelViewer_GetMapBackgroundColor",
1272        "GeoKernelViewer_GetMapScale",
1273        "GeoKernelViewer_GetMeasureArea",
1274        "GeoKernelViewer_GetMeasureMode",
1275        "GeoKernelViewer_GetMeasureResultText",
1276        "GeoKernelViewer_GetMeasureToolActive",
1277        "GeoKernelViewer_GetMeasureTotalDistance",
1278        "GeoKernelViewer_GetMiniMapVisible",
1279        "GeoKernelViewer_GetNativeHandle",
1280        "GeoKernelViewer_GetNewFeatureAttributesJson",
1281        "GeoKernelViewer_GetPmTilesSourceLayersJson",
1282        "GeoKernelViewer_GetPolygonCentroidInfoJson",
1283        "GeoKernelViewer_GetPolylineCrossingsJson",
1284        "GeoKernelViewer_GetRasterOverviewDiagnosticsJson",
1285        "GeoKernelViewer_GetRasterTileCacheDiagnosticsJson",
1286        "GeoKernelViewer_GetRasterWorldTransformJson",
1287        "GeoKernelViewer_GetRenderBackendDiagnostics",
1288        "GeoKernelViewer_GetRenderBackendPreference",
1289        "GeoKernelViewer_GetRenderBackendPreferenceName",
1290        "GeoKernelViewer_GetRenderDebugFile",
1291        "GeoKernelViewer_GetRenderDebugWindow",
1292        "GeoKernelViewer_GetRenderMetricsLogPath",
1293        "GeoKernelViewer_GetRenderMetricsVisible",
1294        "GeoKernelViewer_GetRenderStepLog",
1295        "GeoKernelViewer_GetRenderStepLogPath",
1296        "GeoKernelViewer_GetRoutingGraphEdgeCount",
1297        "GeoKernelViewer_GetRoutingGraphJson",
1298        "GeoKernelViewer_GetRoutingGraphLayerIndex",
1299        "GeoKernelViewer_GetRoutingGraphNodeCount",
1300        "GeoKernelViewer_GetScaleBarVisible",
1301        "GeoKernelViewer_GetSelectedFeatureCount",
1302        "GeoKernelViewer_GetSelectedFeaturesJson",
1303        "GeoKernelViewer_GetShowExtraInfo",
1304        "GeoKernelViewer_GetShowFPS",
1305        "GeoKernelViewer_GetSpatialIndexType",
1306        "GeoKernelViewer_GetTool",
1307        "GeoKernelViewer_GetUseHardwareAcceleration",
1308        "GeoKernelViewer_GetVerboseMode",
1309        "GeoKernelViewer_GetViewExtent",
1310        "GeoKernelViewer_GetXyzLayerDiagnosticsJson",
1311        "GeoKernelViewer_HasActiveEditSketch",
1312        "GeoKernelViewer_HasRoutingGraph",
1313        "GeoKernelViewer_HitTestFeatureCountInExtent",
1314        "GeoKernelViewer_HitTestFeaturesAtJson",
1315        "GeoKernelViewer_HitTestFeaturesInExtentJson",
1316        "GeoKernelViewer_HitTestFeaturesInScreenRectJson",
1317        "GeoKernelViewer_HitTestFeaturesJson",
1318        "GeoKernelViewer_HitTestTopFeatureAtJson",
1319        "GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer",
1320        "GeoKernelViewer_IntersectionPolygonsJson",
1321        "GeoKernelViewer_InvalidateRenderCache",
1322        "GeoKernelViewer_IsLayerDirty",
1323        "GeoKernelViewer_IsLayerEditing",
1324        "GeoKernelViewer_MoveLayer",
1325        "GeoKernelViewer_MoveSelectedFeaturesInEditLayer",
1326        "GeoKernelViewer_OpenProject",
1327        "GeoKernelViewer_OpenProjectWithProgress",
1328        "GeoKernelViewer_ProcessEvents",
1329        "GeoKernelViewer_ReadGeoJsonGeometryJson",
1330        "GeoKernelViewer_ReadGeoJsonLineStringJson",
1331        "GeoKernelViewer_ReadGeoJsonPoint",
1332        "GeoKernelViewer_ReadGeoJsonPolygonJson",
1333        "GeoKernelViewer_ReadWkbGeometryJson",
1334        "GeoKernelViewer_ReadWkbLineStringJson",
1335        "GeoKernelViewer_ReadWkbPoint",
1336        "GeoKernelViewer_ReadWkbPolygonJson",
1337        "GeoKernelViewer_ReadWktLineStringJson",
1338        "GeoKernelViewer_ReadWktPoint",
1339        "GeoKernelViewer_ReadWktPolygonJson",
1340        "GeoKernelViewer_RedoEditLayer",
1341        "GeoKernelViewer_RefreshLayers",
1342        "GeoKernelViewer_RelatePolygonRings",
1343        "GeoKernelViewer_RelatePolygonRingsPattern",
1344        "GeoKernelViewer_RelatePolylines",
1345        "GeoKernelViewer_RelatePolylinesPattern",
1346        "GeoKernelViewer_RemoveExternalLayer",
1347        "GeoKernelViewer_RemoveLayer",
1348        "GeoKernelViewer_RemoveLayerByName",
1349        "GeoKernelViewer_RemoveOverlayShape",
1350        "GeoKernelViewer_Resize",
1351        "GeoKernelViewer_RollbackEditLayer",
1352        "GeoKernelViewer_SaveLayerAsShapefile",
1353        "GeoKernelViewer_SaveProject",
1354        "GeoKernelViewer_ScreenToWorld",
1355        "GeoKernelViewer_SelectFeatureHit",
1356        "GeoKernelViewer_SelectFeaturesInScreenRect",
1357        "GeoKernelViewer_SelectTopFeatureAt",
1358        "GeoKernelViewer_SetActivationTypeName",
1359        "GeoKernelViewer_SetActiveEditLayerIndex",
1360        "GeoKernelViewer_SetCoordinateSystemPreset",
1361        "GeoKernelViewer_SetEditSnappingEnabled",
1362        "GeoKernelViewer_SetEditSnappingTolerancePixels",
1363        "GeoKernelViewer_SetEventCallback",
1364        "GeoKernelViewer_SetExtraInfoText",
1365        "GeoKernelViewer_SetFeatureAttributesInEditLayerJson",
1366        "GeoKernelViewer_SetLayerCoordinateSystemPreset",
1367        "GeoKernelViewer_SetLayerName",
1368        "GeoKernelViewer_SetLayerOpacity",
1369        "GeoKernelViewer_SetLayerStyleJson",
1370        "GeoKernelViewer_SetLayerSymbolRendererJson",
1371        "GeoKernelViewer_SetLayerVisible",
1372        "GeoKernelViewer_SetLayerVisibleScaleRange",
1373        "GeoKernelViewer_SetLicenseKey",
1374        "GeoKernelViewer_SetLicenseManagerUrl",
1375        "GeoKernelViewer_SetLoggingModeName",
1376        "GeoKernelViewer_SetMapBackgroundColor",
1377        "GeoKernelViewer_SetMapStyleName",
1378        "GeoKernelViewer_SetMeasureColors",
1379        "GeoKernelViewer_SetMeasureMode",
1380        "GeoKernelViewer_SetMeasureToolActive",
1381        "GeoKernelViewer_SetMiniMapAnchor",
1382        "GeoKernelViewer_SetMiniMapBackgroundColor",
1383        "GeoKernelViewer_SetMiniMapVisible",
1384        "GeoKernelViewer_SetNewFeatureAttributesJson",
1385        "GeoKernelViewer_SetOverlayPoint",
1386        "GeoKernelViewer_SetRenderBackendPreference",
1387        "GeoKernelViewer_SetRenderBackendPreferenceName",
1388        "GeoKernelViewer_SetRenderDebugFile",
1389        "GeoKernelViewer_SetRenderDebugWindow",
1390        "GeoKernelViewer_SetRenderMetricsLogPath",
1391        "GeoKernelViewer_SetRenderMetricsVisible",
1392        "GeoKernelViewer_SetRenderStepLog",
1393        "GeoKernelViewer_SetRenderStepLogPath",
1394        "GeoKernelViewer_SetScaleBarAnchor",
1395        "GeoKernelViewer_SetScaleBarColors",
1396        "GeoKernelViewer_SetScaleBarVisible",
1397        "GeoKernelViewer_SetShapeAttributesInEditLayerJson",
1398        "GeoKernelViewer_SetShowExtraInfo",
1399        "GeoKernelViewer_SetShowFPS",
1400        "GeoKernelViewer_SetSpatialIndexType",
1401        "GeoKernelViewer_SetTool",
1402        "GeoKernelViewer_SetUseHardwareAcceleration",
1403        "GeoKernelViewer_SetVerboseMode",
1404        "GeoKernelViewer_SetViewExtent",
1405        "GeoKernelViewer_Show",
1406        "GeoKernelViewer_ShutdownApplication",
1407        "GeoKernelViewer_SimplifyPolygonRingJson",
1408        "GeoKernelViewer_SplitPolygonByArcJson",
1409        "GeoKernelViewer_StartMeasureArea",
1410        "GeoKernelViewer_StartMeasureDistance",
1411        "GeoKernelViewer_SymmetricalDifferencePolygonsJson",
1412        "GeoKernelViewer_ToggleTopFeatureSelectionAt",
1413        "GeoKernelViewer_TransformPoint",
1414        "GeoKernelViewer_UndoEditLayer",
1415        "GeoKernelViewer_UnionPolygonsJson",
1416        "GeoKernelViewer_UnionPolygonsOnListJson",
1417        "GeoKernelViewer_WorldToScreen",
1418        "GeoKernelViewer_WriteGeoJsonLineString",
1419        "GeoKernelViewer_WriteGeoJsonPoint",
1420        "GeoKernelViewer_WriteGeoJsonPolygon",
1421        "GeoKernelViewer_WriteLayerLastShapeGeoJson",
1422        "GeoKernelViewer_WriteLayerLastShapeWkb",
1423        "GeoKernelViewer_WriteLayerLastShapeWkt",
1424        "GeoKernelViewer_WriteWkbLineString",
1425        "GeoKernelViewer_WriteWkbPoint",
1426        "GeoKernelViewer_WriteWkbPolygon",
1427        "GeoKernelViewer_WriteWktLineString",
1428        "GeoKernelViewer_WriteWktPoint",
1429        "GeoKernelViewer_WriteWktPolygon",
1430        "GeoKernelViewer_ZoomAtPoint",
1431        "GeoKernelViewer_ZoomIn",
1432        "GeoKernelViewer_ZoomOut",
1433        "GeoKernelViewer_ZoomToLayer",
1434        "GeoKernelViewer_ZoomToScreenRect",
1435        "GeoKernelViewer_ZoomToSelectedFeatures",
1436        "GeoKernelWindow_AddCancellableLayerLoadToolbar",
1437        "GeoKernelWindow_AddCommandToolbar",
1438        "GeoKernelWindow_AddControlPanel",
1439        "GeoKernelWindow_AddLayerManagementToolbar",
1440        "GeoKernelWindow_AddLayerPanel",
1441        "GeoKernelWindow_AddLayerSelector",
1442        "GeoKernelWindow_AddLayerStyleToolbar",
1443        "GeoKernelWindow_AddLegendPanel",
1444        "GeoKernelWindow_AddLogPanel",
1445        "GeoKernelWindow_AddMeasureToolbar",
1446        "GeoKernelWindow_AddNavigationToolbar",
1447        "GeoKernelWindow_AddSpatialIndexBenchmarkToolbar",
1448        "GeoKernelWindow_AddViewerPane",
1449        "GeoKernelWindow_AppendLog",
1450        "GeoKernelWindow_ClearLog",
1451        "GeoKernelWindow_Create",
1452        "GeoKernelWindow_Destroy",
1453        "GeoKernelWindow_GetSelectedLayerIndex",
1454        "GeoKernelWindow_IsVisible",
1455        "GeoKernelWindow_SetAttributionText",
1456        "GeoKernelWindow_SetCentralText",
1457        "GeoKernelWindow_SetCentralTextPanel",
1458        "GeoKernelWindow_SetCentralViewer",
1459        "GeoKernelWindow_SetCommandEnabled",
1460        "GeoKernelWindow_SetControlEnabled",
1461        "GeoKernelWindow_SetControlOptionsJson",
1462        "GeoKernelWindow_SetControlValue",
1463        "GeoKernelWindow_SetLegendItemsJson",
1464        "GeoKernelWindow_SetLegendTitle",
1465        "GeoKernelWindow_SetLegendWidth",
1466        "GeoKernelWindow_SetStatusText",
1467        "GeoKernelWindow_Show",
1468    ];
1469    /// Load a trusted, ABI-compatible GeoKernel runtime module.
1470    /// # Safety
1471    /// Library initializers must be safe and every symbol must match this SDK ABI.
1472    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
1473        let library = crate::open(path)?;
1474        Ok(Self {
1475            GeoKernelViewer_AddArcMakeConnectedLayer: *library
1476                .get(b"GeoKernelViewer_AddArcMakeConnectedLayer\0")?,
1477            GeoKernelViewer_AddArcSplitOnCrossLayer: *library
1478                .get(b"GeoKernelViewer_AddArcSplitOnCrossLayer\0")?,
1479            GeoKernelViewer_AddAttributedPointLayer: *library
1480                .get(b"GeoKernelViewer_AddAttributedPointLayer\0")?,
1481            GeoKernelViewer_AddEmptyVectorLayer: *library
1482                .get(b"GeoKernelViewer_AddEmptyVectorLayer\0")?,
1483            GeoKernelViewer_AddExternalLayer: *library
1484                .get(b"GeoKernelViewer_AddExternalLayer\0")?,
1485            GeoKernelViewer_AddFixedPolylineLayer: *library
1486                .get(b"GeoKernelViewer_AddFixedPolylineLayer\0")?,
1487            GeoKernelViewer_AddLayerAttributeDefinition: *library
1488                .get(b"GeoKernelViewer_AddLayerAttributeDefinition\0")?,
1489            GeoKernelViewer_AddLayerFile: *library.get(b"GeoKernelViewer_AddLayerFile\0")?,
1490            GeoKernelViewer_AddLayerFileWithCallbacks: *library
1491                .get(b"GeoKernelViewer_AddLayerFileWithCallbacks\0")?,
1492            GeoKernelViewer_AddLayerFileWithOptionsJson: *library
1493                .get(b"GeoKernelViewer_AddLayerFileWithOptionsJson\0")?,
1494            GeoKernelViewer_AddOpenStreetMapLayer: *library
1495                .get(b"GeoKernelViewer_AddOpenStreetMapLayer\0")?,
1496            GeoKernelViewer_AddPointBufferLayer: *library
1497                .get(b"GeoKernelViewer_AddPointBufferLayer\0")?,
1498            GeoKernelViewer_AddPointBufferShape: *library
1499                .get(b"GeoKernelViewer_AddPointBufferShape\0")?,
1500            GeoKernelViewer_AddPointLayer: *library.get(b"GeoKernelViewer_AddPointLayer\0")?,
1501            GeoKernelViewer_AddPointShape: *library.get(b"GeoKernelViewer_AddPointShape\0")?,
1502            GeoKernelViewer_AddPointToEditLayer: *library
1503                .get(b"GeoKernelViewer_AddPointToEditLayer\0")?,
1504            GeoKernelViewer_AddPointToEditLayerWithAttributes: *library
1505                .get(b"GeoKernelViewer_AddPointToEditLayerWithAttributes\0")?,
1506            GeoKernelViewer_AddPolygonBufferLayer: *library
1507                .get(b"GeoKernelViewer_AddPolygonBufferLayer\0")?,
1508            GeoKernelViewer_AddPolygonBufferShape: *library
1509                .get(b"GeoKernelViewer_AddPolygonBufferShape\0")?,
1510            GeoKernelViewer_AddPolygonConvexHullLayer: *library
1511                .get(b"GeoKernelViewer_AddPolygonConvexHullLayer\0")?,
1512            GeoKernelViewer_AddPolygonConvexHullTwoLayer: *library
1513                .get(b"GeoKernelViewer_AddPolygonConvexHullTwoLayer\0")?,
1514            GeoKernelViewer_AddPolygonDifferenceLayer: *library
1515                .get(b"GeoKernelViewer_AddPolygonDifferenceLayer\0")?,
1516            GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer: *library
1517                .get(b"GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer\0")?,
1518            GeoKernelViewer_AddPolygonIntersectionLayer: *library
1519                .get(b"GeoKernelViewer_AddPolygonIntersectionLayer\0")?,
1520            GeoKernelViewer_AddPolygonLayer: *library.get(b"GeoKernelViewer_AddPolygonLayer\0")?,
1521            GeoKernelViewer_AddPolygonPartsShape: *library
1522                .get(b"GeoKernelViewer_AddPolygonPartsShape\0")?,
1523            GeoKernelViewer_AddPolygonPartsShapeWithAttributes: *library
1524                .get(b"GeoKernelViewer_AddPolygonPartsShapeWithAttributes\0")?,
1525            GeoKernelViewer_AddPolygonShape: *library.get(b"GeoKernelViewer_AddPolygonShape\0")?,
1526            GeoKernelViewer_AddPolygonShapeWithAttributes: *library
1527                .get(b"GeoKernelViewer_AddPolygonShapeWithAttributes\0")?,
1528            GeoKernelViewer_AddPolygonSplitByArcLayer: *library
1529                .get(b"GeoKernelViewer_AddPolygonSplitByArcLayer\0")?,
1530            GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer: *library
1531                .get(b"GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer\0")?,
1532            GeoKernelViewer_AddPolygonToEditLayer: *library
1533                .get(b"GeoKernelViewer_AddPolygonToEditLayer\0")?,
1534            GeoKernelViewer_AddPolygonToEditLayerWithAttributes: *library
1535                .get(b"GeoKernelViewer_AddPolygonToEditLayerWithAttributes\0")?,
1536            GeoKernelViewer_AddPolygonUnionLayer: *library
1537                .get(b"GeoKernelViewer_AddPolygonUnionLayer\0")?,
1538            GeoKernelViewer_AddPolygonUnionOnListLayer: *library
1539                .get(b"GeoKernelViewer_AddPolygonUnionOnListLayer\0")?,
1540            GeoKernelViewer_AddPolylineBufferLayer: *library
1541                .get(b"GeoKernelViewer_AddPolylineBufferLayer\0")?,
1542            GeoKernelViewer_AddPolylineBufferShape: *library
1543                .get(b"GeoKernelViewer_AddPolylineBufferShape\0")?,
1544            GeoKernelViewer_AddPolylineLayer: *library
1545                .get(b"GeoKernelViewer_AddPolylineLayer\0")?,
1546            GeoKernelViewer_AddPolylineShape: *library
1547                .get(b"GeoKernelViewer_AddPolylineShape\0")?,
1548            GeoKernelViewer_AddPolylineToEditLayer: *library
1549                .get(b"GeoKernelViewer_AddPolylineToEditLayer\0")?,
1550            GeoKernelViewer_AddPolylineToEditLayerWithAttributes: *library
1551                .get(b"GeoKernelViewer_AddPolylineToEditLayerWithAttributes\0")?,
1552            GeoKernelViewer_AddShortestRouteLayerBetweenPoints: *library
1553                .get(b"GeoKernelViewer_AddShortestRouteLayerBetweenPoints\0")?,
1554            GeoKernelViewer_AddTextShape: *library.get(b"GeoKernelViewer_AddTextShape\0")?,
1555            GeoKernelViewer_AddTopFeatureToSelectionAt: *library
1556                .get(b"GeoKernelViewer_AddTopFeatureToSelectionAt\0")?,
1557            GeoKernelViewer_AddWfsLayer: *library.get(b"GeoKernelViewer_AddWfsLayer\0")?,
1558            GeoKernelViewer_AddWktShape: *library.get(b"GeoKernelViewer_AddWktShape\0")?,
1559            GeoKernelViewer_AddWmsLayer: *library.get(b"GeoKernelViewer_AddWmsLayer\0")?,
1560            GeoKernelViewer_AddWmtsLayer: *library.get(b"GeoKernelViewer_AddWmtsLayer\0")?,
1561            GeoKernelViewer_AddXyzLayer: *library.get(b"GeoKernelViewer_AddXyzLayer\0")?,
1562            GeoKernelViewer_ApplyLayerCategorizedRenderer: *library
1563                .get(b"GeoKernelViewer_ApplyLayerCategorizedRenderer\0")?,
1564            GeoKernelViewer_ApplyLayerGraduatedRenderer: *library
1565                .get(b"GeoKernelViewer_ApplyLayerGraduatedRenderer\0")?,
1566            GeoKernelViewer_ArcMakeConnectedJson: *library
1567                .get(b"GeoKernelViewer_ArcMakeConnectedJson\0")?,
1568            GeoKernelViewer_ArcSplitOnCrossJson: *library
1569                .get(b"GeoKernelViewer_ArcSplitOnCrossJson\0")?,
1570            GeoKernelViewer_BeginEditLayer: *library.get(b"GeoKernelViewer_BeginEditLayer\0")?,
1571            GeoKernelViewer_BuildRoutingGraphForLayer: *library
1572                .get(b"GeoKernelViewer_BuildRoutingGraphForLayer\0")?,
1573            GeoKernelViewer_CanEditLayer: *library.get(b"GeoKernelViewer_CanEditLayer\0")?,
1574            GeoKernelViewer_CanEditSelectedFeatures: *library
1575                .get(b"GeoKernelViewer_CanEditSelectedFeatures\0")?,
1576            GeoKernelViewer_CanEditSelectedVertices: *library
1577                .get(b"GeoKernelViewer_CanEditSelectedVertices\0")?,
1578            GeoKernelViewer_CanMoveSelectedFeatures: *library
1579                .get(b"GeoKernelViewer_CanMoveSelectedFeatures\0")?,
1580            GeoKernelViewer_CanRedoEditLayer: *library
1581                .get(b"GeoKernelViewer_CanRedoEditLayer\0")?,
1582            GeoKernelViewer_CanUndoEditLayer: *library
1583                .get(b"GeoKernelViewer_CanUndoEditLayer\0")?,
1584            GeoKernelViewer_CancelEditSketch: *library
1585                .get(b"GeoKernelViewer_CancelEditSketch\0")?,
1586            GeoKernelViewer_CheckPolygonRing: *library
1587                .get(b"GeoKernelViewer_CheckPolygonRing\0")?,
1588            GeoKernelViewer_ClearAll: *library.get(b"GeoKernelViewer_ClearAll\0")?,
1589            GeoKernelViewer_ClearLayerSymbolRenderer: *library
1590                .get(b"GeoKernelViewer_ClearLayerSymbolRenderer\0")?,
1591            GeoKernelViewer_ClearLayerVisibleScaleRange: *library
1592                .get(b"GeoKernelViewer_ClearLayerVisibleScaleRange\0")?,
1593            GeoKernelViewer_ClearLayers: *library.get(b"GeoKernelViewer_ClearLayers\0")?,
1594            GeoKernelViewer_ClearMeasure: *library.get(b"GeoKernelViewer_ClearMeasure\0")?,
1595            GeoKernelViewer_ClearNewFeatureAttributes: *library
1596                .get(b"GeoKernelViewer_ClearNewFeatureAttributes\0")?,
1597            GeoKernelViewer_ClearOverlayShapes: *library
1598                .get(b"GeoKernelViewer_ClearOverlayShapes\0")?,
1599            GeoKernelViewer_ClearRoutingGraph: *library
1600                .get(b"GeoKernelViewer_ClearRoutingGraph\0")?,
1601            GeoKernelViewer_ClearSelectedFeatures: *library
1602                .get(b"GeoKernelViewer_ClearSelectedFeatures\0")?,
1603            GeoKernelViewer_ClearShapes: *library.get(b"GeoKernelViewer_ClearShapes\0")?,
1604            GeoKernelViewer_CloseProject: *library.get(b"GeoKernelViewer_CloseProject\0")?,
1605            GeoKernelViewer_CommitEditLayer: *library.get(b"GeoKernelViewer_CommitEditLayer\0")?,
1606            GeoKernelViewer_ContainsColorRamp: *library
1607                .get(b"GeoKernelViewer_ContainsColorRamp\0")?,
1608            GeoKernelViewer_ConvexHullPolygonJson: *library
1609                .get(b"GeoKernelViewer_ConvexHullPolygonJson\0")?,
1610            GeoKernelViewer_ConvexHullTwoPolygonsJson: *library
1611                .get(b"GeoKernelViewer_ConvexHullTwoPolygonsJson\0")?,
1612            GeoKernelViewer_CoordinateSystemFromAuthorityJson: *library
1613                .get(b"GeoKernelViewer_CoordinateSystemFromAuthorityJson\0")?,
1614            GeoKernelViewer_CoordinateSystemFromEpsgJson: *library
1615                .get(b"GeoKernelViewer_CoordinateSystemFromEpsgJson\0")?,
1616            GeoKernelViewer_Create: *library.get(b"GeoKernelViewer_Create\0")?,
1617            GeoKernelViewer_CreateWindow: *library.get(b"GeoKernelViewer_CreateWindow\0")?,
1618            GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer: *library
1619                .get(b"GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer\0")?,
1620            GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer: *library
1621                .get(b"GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer\0")?,
1622            GeoKernelViewer_DeleteSelectedVertexFromEditLayer: *library
1623                .get(b"GeoKernelViewer_DeleteSelectedVertexFromEditLayer\0")?,
1624            GeoKernelViewer_DeleteShapeFromEditLayer: *library
1625                .get(b"GeoKernelViewer_DeleteShapeFromEditLayer\0")?,
1626            GeoKernelViewer_Destroy: *library.get(b"GeoKernelViewer_Destroy\0")?,
1627            GeoKernelViewer_DifferencePolygonsJson: *library
1628                .get(b"GeoKernelViewer_DifferencePolygonsJson\0")?,
1629            GeoKernelViewer_EvaluateSpatialRelationJson: *library
1630                .get(b"GeoKernelViewer_EvaluateSpatialRelationJson\0")?,
1631            GeoKernelViewer_FindAndDeleteLoopsJson: *library
1632                .get(b"GeoKernelViewer_FindAndDeleteLoopsJson\0")?,
1633            GeoKernelViewer_FindMatchingArcIndex: *library
1634                .get(b"GeoKernelViewer_FindMatchingArcIndex\0")?,
1635            GeoKernelViewer_FinishMeasure: *library.get(b"GeoKernelViewer_FinishMeasure\0")?,
1636            GeoKernelViewer_FixPolygonJson: *library.get(b"GeoKernelViewer_FixPolygonJson\0")?,
1637            GeoKernelViewer_FixPolylineJson: *library.get(b"GeoKernelViewer_FixPolylineJson\0")?,
1638            GeoKernelViewer_FullExtent: *library.get(b"GeoKernelViewer_FullExtent\0")?,
1639            GeoKernelViewer_GetActiveEditLayerIndex: *library
1640                .get(b"GeoKernelViewer_GetActiveEditLayerIndex\0")?,
1641            GeoKernelViewer_GetColorRampNamesJson: *library
1642                .get(b"GeoKernelViewer_GetColorRampNamesJson\0")?,
1643            GeoKernelViewer_GetCoordinateSystemInfoJson: *library
1644                .get(b"GeoKernelViewer_GetCoordinateSystemInfoJson\0")?,
1645            GeoKernelViewer_GetCurrentRenderBackendName: *library
1646                .get(b"GeoKernelViewer_GetCurrentRenderBackendName\0")?,
1647            GeoKernelViewer_GetDefaultAttributesForLayerJson: *library
1648                .get(b"GeoKernelViewer_GetDefaultAttributesForLayerJson\0")?,
1649            GeoKernelViewer_GetEditSnappingEnabled: *library
1650                .get(b"GeoKernelViewer_GetEditSnappingEnabled\0")?,
1651            GeoKernelViewer_GetEditSnappingTolerancePixels: *library
1652                .get(b"GeoKernelViewer_GetEditSnappingTolerancePixels\0")?,
1653            GeoKernelViewer_GetExtentOperationsJson: *library
1654                .get(b"GeoKernelViewer_GetExtentOperationsJson\0")?,
1655            GeoKernelViewer_GetExtraInfoText: *library
1656                .get(b"GeoKernelViewer_GetExtraInfoText\0")?,
1657            GeoKernelViewer_GetFPS: *library.get(b"GeoKernelViewer_GetFPS\0")?,
1658            GeoKernelViewer_GetLayerAttributeDefinitionsJson: *library
1659                .get(b"GeoKernelViewer_GetLayerAttributeDefinitionsJson\0")?,
1660            GeoKernelViewer_GetLayerCount: *library.get(b"GeoKernelViewer_GetLayerCount\0")?,
1661            GeoKernelViewer_GetLayerDisplayText: *library
1662                .get(b"GeoKernelViewer_GetLayerDisplayText\0")?,
1663            GeoKernelViewer_GetLayerFeatureAttributesJson: *library
1664                .get(b"GeoKernelViewer_GetLayerFeatureAttributesJson\0")?,
1665            GeoKernelViewer_GetLayerFeatureCount: *library
1666                .get(b"GeoKernelViewer_GetLayerFeatureCount\0")?,
1667            GeoKernelViewer_GetLayerInfoByNameJson: *library
1668                .get(b"GeoKernelViewer_GetLayerInfoByNameJson\0")?,
1669            GeoKernelViewer_GetLayerInfoJson: *library
1670                .get(b"GeoKernelViewer_GetLayerInfoJson\0")?,
1671            GeoKernelViewer_GetLayerProjectedExtent: *library
1672                .get(b"GeoKernelViewer_GetLayerProjectedExtent\0")?,
1673            GeoKernelViewer_GetLayerShapeType: *library
1674                .get(b"GeoKernelViewer_GetLayerShapeType\0")?,
1675            GeoKernelViewer_GetLayerStyleJson: *library
1676                .get(b"GeoKernelViewer_GetLayerStyleJson\0")?,
1677            GeoKernelViewer_GetLayerSymbolRendererJson: *library
1678                .get(b"GeoKernelViewer_GetLayerSymbolRendererJson\0")?,
1679            GeoKernelViewer_GetLayersInfoJson: *library
1680                .get(b"GeoKernelViewer_GetLayersInfoJson\0")?,
1681            GeoKernelViewer_GetLinePointToleranceInfoJson: *library
1682                .get(b"GeoKernelViewer_GetLinePointToleranceInfoJson\0")?,
1683            GeoKernelViewer_GetLoggingModeName: *library
1684                .get(b"GeoKernelViewer_GetLoggingModeName\0")?,
1685            GeoKernelViewer_GetMapBackgroundColor: *library
1686                .get(b"GeoKernelViewer_GetMapBackgroundColor\0")?,
1687            GeoKernelViewer_GetMapScale: *library.get(b"GeoKernelViewer_GetMapScale\0")?,
1688            GeoKernelViewer_GetMeasureArea: *library.get(b"GeoKernelViewer_GetMeasureArea\0")?,
1689            GeoKernelViewer_GetMeasureMode: *library.get(b"GeoKernelViewer_GetMeasureMode\0")?,
1690            GeoKernelViewer_GetMeasureResultText: *library
1691                .get(b"GeoKernelViewer_GetMeasureResultText\0")?,
1692            GeoKernelViewer_GetMeasureToolActive: *library
1693                .get(b"GeoKernelViewer_GetMeasureToolActive\0")?,
1694            GeoKernelViewer_GetMeasureTotalDistance: *library
1695                .get(b"GeoKernelViewer_GetMeasureTotalDistance\0")?,
1696            GeoKernelViewer_GetMiniMapVisible: *library
1697                .get(b"GeoKernelViewer_GetMiniMapVisible\0")?,
1698            GeoKernelViewer_GetNativeHandle: *library.get(b"GeoKernelViewer_GetNativeHandle\0")?,
1699            GeoKernelViewer_GetNewFeatureAttributesJson: *library
1700                .get(b"GeoKernelViewer_GetNewFeatureAttributesJson\0")?,
1701            GeoKernelViewer_GetPmTilesSourceLayersJson: *library
1702                .get(b"GeoKernelViewer_GetPmTilesSourceLayersJson\0")?,
1703            GeoKernelViewer_GetPolygonCentroidInfoJson: *library
1704                .get(b"GeoKernelViewer_GetPolygonCentroidInfoJson\0")?,
1705            GeoKernelViewer_GetPolylineCrossingsJson: *library
1706                .get(b"GeoKernelViewer_GetPolylineCrossingsJson\0")?,
1707            GeoKernelViewer_GetRasterOverviewDiagnosticsJson: *library
1708                .get(b"GeoKernelViewer_GetRasterOverviewDiagnosticsJson\0")?,
1709            GeoKernelViewer_GetRasterTileCacheDiagnosticsJson: *library
1710                .get(b"GeoKernelViewer_GetRasterTileCacheDiagnosticsJson\0")?,
1711            GeoKernelViewer_GetRasterWorldTransformJson: *library
1712                .get(b"GeoKernelViewer_GetRasterWorldTransformJson\0")?,
1713            GeoKernelViewer_GetRenderBackendDiagnostics: *library
1714                .get(b"GeoKernelViewer_GetRenderBackendDiagnostics\0")?,
1715            GeoKernelViewer_GetRenderBackendPreference: *library
1716                .get(b"GeoKernelViewer_GetRenderBackendPreference\0")?,
1717            GeoKernelViewer_GetRenderBackendPreferenceName: *library
1718                .get(b"GeoKernelViewer_GetRenderBackendPreferenceName\0")?,
1719            GeoKernelViewer_GetRenderDebugFile: *library
1720                .get(b"GeoKernelViewer_GetRenderDebugFile\0")?,
1721            GeoKernelViewer_GetRenderDebugWindow: *library
1722                .get(b"GeoKernelViewer_GetRenderDebugWindow\0")?,
1723            GeoKernelViewer_GetRenderMetricsLogPath: *library
1724                .get(b"GeoKernelViewer_GetRenderMetricsLogPath\0")?,
1725            GeoKernelViewer_GetRenderMetricsVisible: *library
1726                .get(b"GeoKernelViewer_GetRenderMetricsVisible\0")?,
1727            GeoKernelViewer_GetRenderStepLog: *library
1728                .get(b"GeoKernelViewer_GetRenderStepLog\0")?,
1729            GeoKernelViewer_GetRenderStepLogPath: *library
1730                .get(b"GeoKernelViewer_GetRenderStepLogPath\0")?,
1731            GeoKernelViewer_GetRoutingGraphEdgeCount: *library
1732                .get(b"GeoKernelViewer_GetRoutingGraphEdgeCount\0")?,
1733            GeoKernelViewer_GetRoutingGraphJson: *library
1734                .get(b"GeoKernelViewer_GetRoutingGraphJson\0")?,
1735            GeoKernelViewer_GetRoutingGraphLayerIndex: *library
1736                .get(b"GeoKernelViewer_GetRoutingGraphLayerIndex\0")?,
1737            GeoKernelViewer_GetRoutingGraphNodeCount: *library
1738                .get(b"GeoKernelViewer_GetRoutingGraphNodeCount\0")?,
1739            GeoKernelViewer_GetScaleBarVisible: *library
1740                .get(b"GeoKernelViewer_GetScaleBarVisible\0")?,
1741            GeoKernelViewer_GetSelectedFeatureCount: *library
1742                .get(b"GeoKernelViewer_GetSelectedFeatureCount\0")?,
1743            GeoKernelViewer_GetSelectedFeaturesJson: *library
1744                .get(b"GeoKernelViewer_GetSelectedFeaturesJson\0")?,
1745            GeoKernelViewer_GetShowExtraInfo: *library
1746                .get(b"GeoKernelViewer_GetShowExtraInfo\0")?,
1747            GeoKernelViewer_GetShowFPS: *library.get(b"GeoKernelViewer_GetShowFPS\0")?,
1748            GeoKernelViewer_GetSpatialIndexType: *library
1749                .get(b"GeoKernelViewer_GetSpatialIndexType\0")?,
1750            GeoKernelViewer_GetTool: *library.get(b"GeoKernelViewer_GetTool\0")?,
1751            GeoKernelViewer_GetUseHardwareAcceleration: *library
1752                .get(b"GeoKernelViewer_GetUseHardwareAcceleration\0")?,
1753            GeoKernelViewer_GetVerboseMode: *library.get(b"GeoKernelViewer_GetVerboseMode\0")?,
1754            GeoKernelViewer_GetViewExtent: *library.get(b"GeoKernelViewer_GetViewExtent\0")?,
1755            GeoKernelViewer_GetXyzLayerDiagnosticsJson: *library
1756                .get(b"GeoKernelViewer_GetXyzLayerDiagnosticsJson\0")?,
1757            GeoKernelViewer_HasActiveEditSketch: *library
1758                .get(b"GeoKernelViewer_HasActiveEditSketch\0")?,
1759            GeoKernelViewer_HasRoutingGraph: *library.get(b"GeoKernelViewer_HasRoutingGraph\0")?,
1760            GeoKernelViewer_HitTestFeatureCountInExtent: *library
1761                .get(b"GeoKernelViewer_HitTestFeatureCountInExtent\0")?,
1762            GeoKernelViewer_HitTestFeaturesAtJson: *library
1763                .get(b"GeoKernelViewer_HitTestFeaturesAtJson\0")?,
1764            GeoKernelViewer_HitTestFeaturesInExtentJson: *library
1765                .get(b"GeoKernelViewer_HitTestFeaturesInExtentJson\0")?,
1766            GeoKernelViewer_HitTestFeaturesInScreenRectJson: *library
1767                .get(b"GeoKernelViewer_HitTestFeaturesInScreenRectJson\0")?,
1768            GeoKernelViewer_HitTestFeaturesJson: *library
1769                .get(b"GeoKernelViewer_HitTestFeaturesJson\0")?,
1770            GeoKernelViewer_HitTestTopFeatureAtJson: *library
1771                .get(b"GeoKernelViewer_HitTestTopFeatureAtJson\0")?,
1772            GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer: *library
1773                .get(b"GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer\0")?,
1774            GeoKernelViewer_IntersectionPolygonsJson: *library
1775                .get(b"GeoKernelViewer_IntersectionPolygonsJson\0")?,
1776            GeoKernelViewer_InvalidateRenderCache: *library
1777                .get(b"GeoKernelViewer_InvalidateRenderCache\0")?,
1778            GeoKernelViewer_IsLayerDirty: *library.get(b"GeoKernelViewer_IsLayerDirty\0")?,
1779            GeoKernelViewer_IsLayerEditing: *library.get(b"GeoKernelViewer_IsLayerEditing\0")?,
1780            GeoKernelViewer_MoveLayer: *library.get(b"GeoKernelViewer_MoveLayer\0")?,
1781            GeoKernelViewer_MoveSelectedFeaturesInEditLayer: *library
1782                .get(b"GeoKernelViewer_MoveSelectedFeaturesInEditLayer\0")?,
1783            GeoKernelViewer_OpenProject: *library.get(b"GeoKernelViewer_OpenProject\0")?,
1784            GeoKernelViewer_OpenProjectWithProgress: *library
1785                .get(b"GeoKernelViewer_OpenProjectWithProgress\0")?,
1786            GeoKernelViewer_ProcessEvents: *library.get(b"GeoKernelViewer_ProcessEvents\0")?,
1787            GeoKernelViewer_ReadGeoJsonGeometryJson: *library
1788                .get(b"GeoKernelViewer_ReadGeoJsonGeometryJson\0")?,
1789            GeoKernelViewer_ReadGeoJsonLineStringJson: *library
1790                .get(b"GeoKernelViewer_ReadGeoJsonLineStringJson\0")?,
1791            GeoKernelViewer_ReadGeoJsonPoint: *library
1792                .get(b"GeoKernelViewer_ReadGeoJsonPoint\0")?,
1793            GeoKernelViewer_ReadGeoJsonPolygonJson: *library
1794                .get(b"GeoKernelViewer_ReadGeoJsonPolygonJson\0")?,
1795            GeoKernelViewer_ReadWkbGeometryJson: *library
1796                .get(b"GeoKernelViewer_ReadWkbGeometryJson\0")?,
1797            GeoKernelViewer_ReadWkbLineStringJson: *library
1798                .get(b"GeoKernelViewer_ReadWkbLineStringJson\0")?,
1799            GeoKernelViewer_ReadWkbPoint: *library.get(b"GeoKernelViewer_ReadWkbPoint\0")?,
1800            GeoKernelViewer_ReadWkbPolygonJson: *library
1801                .get(b"GeoKernelViewer_ReadWkbPolygonJson\0")?,
1802            GeoKernelViewer_ReadWktLineStringJson: *library
1803                .get(b"GeoKernelViewer_ReadWktLineStringJson\0")?,
1804            GeoKernelViewer_ReadWktPoint: *library.get(b"GeoKernelViewer_ReadWktPoint\0")?,
1805            GeoKernelViewer_ReadWktPolygonJson: *library
1806                .get(b"GeoKernelViewer_ReadWktPolygonJson\0")?,
1807            GeoKernelViewer_RedoEditLayer: *library.get(b"GeoKernelViewer_RedoEditLayer\0")?,
1808            GeoKernelViewer_RefreshLayers: *library.get(b"GeoKernelViewer_RefreshLayers\0")?,
1809            GeoKernelViewer_RelatePolygonRings: *library
1810                .get(b"GeoKernelViewer_RelatePolygonRings\0")?,
1811            GeoKernelViewer_RelatePolygonRingsPattern: *library
1812                .get(b"GeoKernelViewer_RelatePolygonRingsPattern\0")?,
1813            GeoKernelViewer_RelatePolylines: *library.get(b"GeoKernelViewer_RelatePolylines\0")?,
1814            GeoKernelViewer_RelatePolylinesPattern: *library
1815                .get(b"GeoKernelViewer_RelatePolylinesPattern\0")?,
1816            GeoKernelViewer_RemoveExternalLayer: *library
1817                .get(b"GeoKernelViewer_RemoveExternalLayer\0")?,
1818            GeoKernelViewer_RemoveLayer: *library.get(b"GeoKernelViewer_RemoveLayer\0")?,
1819            GeoKernelViewer_RemoveLayerByName: *library
1820                .get(b"GeoKernelViewer_RemoveLayerByName\0")?,
1821            GeoKernelViewer_RemoveOverlayShape: *library
1822                .get(b"GeoKernelViewer_RemoveOverlayShape\0")?,
1823            GeoKernelViewer_Resize: *library.get(b"GeoKernelViewer_Resize\0")?,
1824            GeoKernelViewer_RollbackEditLayer: *library
1825                .get(b"GeoKernelViewer_RollbackEditLayer\0")?,
1826            GeoKernelViewer_SaveLayerAsShapefile: *library
1827                .get(b"GeoKernelViewer_SaveLayerAsShapefile\0")?,
1828            GeoKernelViewer_SaveProject: *library.get(b"GeoKernelViewer_SaveProject\0")?,
1829            GeoKernelViewer_ScreenToWorld: *library.get(b"GeoKernelViewer_ScreenToWorld\0")?,
1830            GeoKernelViewer_SelectFeatureHit: *library
1831                .get(b"GeoKernelViewer_SelectFeatureHit\0")?,
1832            GeoKernelViewer_SelectFeaturesInScreenRect: *library
1833                .get(b"GeoKernelViewer_SelectFeaturesInScreenRect\0")?,
1834            GeoKernelViewer_SelectTopFeatureAt: *library
1835                .get(b"GeoKernelViewer_SelectTopFeatureAt\0")?,
1836            GeoKernelViewer_SetActivationTypeName: *library
1837                .get(b"GeoKernelViewer_SetActivationTypeName\0")?,
1838            GeoKernelViewer_SetActiveEditLayerIndex: *library
1839                .get(b"GeoKernelViewer_SetActiveEditLayerIndex\0")?,
1840            GeoKernelViewer_SetCoordinateSystemPreset: *library
1841                .get(b"GeoKernelViewer_SetCoordinateSystemPreset\0")?,
1842            GeoKernelViewer_SetEditSnappingEnabled: *library
1843                .get(b"GeoKernelViewer_SetEditSnappingEnabled\0")?,
1844            GeoKernelViewer_SetEditSnappingTolerancePixels: *library
1845                .get(b"GeoKernelViewer_SetEditSnappingTolerancePixels\0")?,
1846            GeoKernelViewer_SetEventCallback: *library
1847                .get(b"GeoKernelViewer_SetEventCallback\0")?,
1848            GeoKernelViewer_SetExtraInfoText: *library
1849                .get(b"GeoKernelViewer_SetExtraInfoText\0")?,
1850            GeoKernelViewer_SetFeatureAttributesInEditLayerJson: *library
1851                .get(b"GeoKernelViewer_SetFeatureAttributesInEditLayerJson\0")?,
1852            GeoKernelViewer_SetLayerCoordinateSystemPreset: *library
1853                .get(b"GeoKernelViewer_SetLayerCoordinateSystemPreset\0")?,
1854            GeoKernelViewer_SetLayerName: *library.get(b"GeoKernelViewer_SetLayerName\0")?,
1855            GeoKernelViewer_SetLayerOpacity: *library.get(b"GeoKernelViewer_SetLayerOpacity\0")?,
1856            GeoKernelViewer_SetLayerStyleJson: *library
1857                .get(b"GeoKernelViewer_SetLayerStyleJson\0")?,
1858            GeoKernelViewer_SetLayerSymbolRendererJson: *library
1859                .get(b"GeoKernelViewer_SetLayerSymbolRendererJson\0")?,
1860            GeoKernelViewer_SetLayerVisible: *library.get(b"GeoKernelViewer_SetLayerVisible\0")?,
1861            GeoKernelViewer_SetLayerVisibleScaleRange: *library
1862                .get(b"GeoKernelViewer_SetLayerVisibleScaleRange\0")?,
1863            GeoKernelViewer_SetLicenseKey: *library.get(b"GeoKernelViewer_SetLicenseKey\0")?,
1864            GeoKernelViewer_SetLicenseManagerUrl: *library
1865                .get(b"GeoKernelViewer_SetLicenseManagerUrl\0")?,
1866            GeoKernelViewer_SetLoggingModeName: *library
1867                .get(b"GeoKernelViewer_SetLoggingModeName\0")?,
1868            GeoKernelViewer_SetMapBackgroundColor: *library
1869                .get(b"GeoKernelViewer_SetMapBackgroundColor\0")?,
1870            GeoKernelViewer_SetMapStyleName: *library.get(b"GeoKernelViewer_SetMapStyleName\0")?,
1871            GeoKernelViewer_SetMeasureColors: *library
1872                .get(b"GeoKernelViewer_SetMeasureColors\0")?,
1873            GeoKernelViewer_SetMeasureMode: *library.get(b"GeoKernelViewer_SetMeasureMode\0")?,
1874            GeoKernelViewer_SetMeasureToolActive: *library
1875                .get(b"GeoKernelViewer_SetMeasureToolActive\0")?,
1876            GeoKernelViewer_SetMiniMapAnchor: *library
1877                .get(b"GeoKernelViewer_SetMiniMapAnchor\0")?,
1878            GeoKernelViewer_SetMiniMapBackgroundColor: *library
1879                .get(b"GeoKernelViewer_SetMiniMapBackgroundColor\0")?,
1880            GeoKernelViewer_SetMiniMapVisible: *library
1881                .get(b"GeoKernelViewer_SetMiniMapVisible\0")?,
1882            GeoKernelViewer_SetNewFeatureAttributesJson: *library
1883                .get(b"GeoKernelViewer_SetNewFeatureAttributesJson\0")?,
1884            GeoKernelViewer_SetOverlayPoint: *library.get(b"GeoKernelViewer_SetOverlayPoint\0")?,
1885            GeoKernelViewer_SetRenderBackendPreference: *library
1886                .get(b"GeoKernelViewer_SetRenderBackendPreference\0")?,
1887            GeoKernelViewer_SetRenderBackendPreferenceName: *library
1888                .get(b"GeoKernelViewer_SetRenderBackendPreferenceName\0")?,
1889            GeoKernelViewer_SetRenderDebugFile: *library
1890                .get(b"GeoKernelViewer_SetRenderDebugFile\0")?,
1891            GeoKernelViewer_SetRenderDebugWindow: *library
1892                .get(b"GeoKernelViewer_SetRenderDebugWindow\0")?,
1893            GeoKernelViewer_SetRenderMetricsLogPath: *library
1894                .get(b"GeoKernelViewer_SetRenderMetricsLogPath\0")?,
1895            GeoKernelViewer_SetRenderMetricsVisible: *library
1896                .get(b"GeoKernelViewer_SetRenderMetricsVisible\0")?,
1897            GeoKernelViewer_SetRenderStepLog: *library
1898                .get(b"GeoKernelViewer_SetRenderStepLog\0")?,
1899            GeoKernelViewer_SetRenderStepLogPath: *library
1900                .get(b"GeoKernelViewer_SetRenderStepLogPath\0")?,
1901            GeoKernelViewer_SetScaleBarAnchor: *library
1902                .get(b"GeoKernelViewer_SetScaleBarAnchor\0")?,
1903            GeoKernelViewer_SetScaleBarColors: *library
1904                .get(b"GeoKernelViewer_SetScaleBarColors\0")?,
1905            GeoKernelViewer_SetScaleBarVisible: *library
1906                .get(b"GeoKernelViewer_SetScaleBarVisible\0")?,
1907            GeoKernelViewer_SetShapeAttributesInEditLayerJson: *library
1908                .get(b"GeoKernelViewer_SetShapeAttributesInEditLayerJson\0")?,
1909            GeoKernelViewer_SetShowExtraInfo: *library
1910                .get(b"GeoKernelViewer_SetShowExtraInfo\0")?,
1911            GeoKernelViewer_SetShowFPS: *library.get(b"GeoKernelViewer_SetShowFPS\0")?,
1912            GeoKernelViewer_SetSpatialIndexType: *library
1913                .get(b"GeoKernelViewer_SetSpatialIndexType\0")?,
1914            GeoKernelViewer_SetTool: *library.get(b"GeoKernelViewer_SetTool\0")?,
1915            GeoKernelViewer_SetUseHardwareAcceleration: *library
1916                .get(b"GeoKernelViewer_SetUseHardwareAcceleration\0")?,
1917            GeoKernelViewer_SetVerboseMode: *library.get(b"GeoKernelViewer_SetVerboseMode\0")?,
1918            GeoKernelViewer_SetViewExtent: *library.get(b"GeoKernelViewer_SetViewExtent\0")?,
1919            GeoKernelViewer_Show: *library.get(b"GeoKernelViewer_Show\0")?,
1920            GeoKernelViewer_ShutdownApplication: *library
1921                .get(b"GeoKernelViewer_ShutdownApplication\0")?,
1922            GeoKernelViewer_SimplifyPolygonRingJson: *library
1923                .get(b"GeoKernelViewer_SimplifyPolygonRingJson\0")?,
1924            GeoKernelViewer_SplitPolygonByArcJson: *library
1925                .get(b"GeoKernelViewer_SplitPolygonByArcJson\0")?,
1926            GeoKernelViewer_StartMeasureArea: *library
1927                .get(b"GeoKernelViewer_StartMeasureArea\0")?,
1928            GeoKernelViewer_StartMeasureDistance: *library
1929                .get(b"GeoKernelViewer_StartMeasureDistance\0")?,
1930            GeoKernelViewer_SymmetricalDifferencePolygonsJson: *library
1931                .get(b"GeoKernelViewer_SymmetricalDifferencePolygonsJson\0")?,
1932            GeoKernelViewer_ToggleTopFeatureSelectionAt: *library
1933                .get(b"GeoKernelViewer_ToggleTopFeatureSelectionAt\0")?,
1934            GeoKernelViewer_TransformPoint: *library.get(b"GeoKernelViewer_TransformPoint\0")?,
1935            GeoKernelViewer_UndoEditLayer: *library.get(b"GeoKernelViewer_UndoEditLayer\0")?,
1936            GeoKernelViewer_UnionPolygonsJson: *library
1937                .get(b"GeoKernelViewer_UnionPolygonsJson\0")?,
1938            GeoKernelViewer_UnionPolygonsOnListJson: *library
1939                .get(b"GeoKernelViewer_UnionPolygonsOnListJson\0")?,
1940            GeoKernelViewer_WorldToScreen: *library.get(b"GeoKernelViewer_WorldToScreen\0")?,
1941            GeoKernelViewer_WriteGeoJsonLineString: *library
1942                .get(b"GeoKernelViewer_WriteGeoJsonLineString\0")?,
1943            GeoKernelViewer_WriteGeoJsonPoint: *library
1944                .get(b"GeoKernelViewer_WriteGeoJsonPoint\0")?,
1945            GeoKernelViewer_WriteGeoJsonPolygon: *library
1946                .get(b"GeoKernelViewer_WriteGeoJsonPolygon\0")?,
1947            GeoKernelViewer_WriteLayerLastShapeGeoJson: *library
1948                .get(b"GeoKernelViewer_WriteLayerLastShapeGeoJson\0")?,
1949            GeoKernelViewer_WriteLayerLastShapeWkb: *library
1950                .get(b"GeoKernelViewer_WriteLayerLastShapeWkb\0")?,
1951            GeoKernelViewer_WriteLayerLastShapeWkt: *library
1952                .get(b"GeoKernelViewer_WriteLayerLastShapeWkt\0")?,
1953            GeoKernelViewer_WriteWkbLineString: *library
1954                .get(b"GeoKernelViewer_WriteWkbLineString\0")?,
1955            GeoKernelViewer_WriteWkbPoint: *library.get(b"GeoKernelViewer_WriteWkbPoint\0")?,
1956            GeoKernelViewer_WriteWkbPolygon: *library.get(b"GeoKernelViewer_WriteWkbPolygon\0")?,
1957            GeoKernelViewer_WriteWktLineString: *library
1958                .get(b"GeoKernelViewer_WriteWktLineString\0")?,
1959            GeoKernelViewer_WriteWktPoint: *library.get(b"GeoKernelViewer_WriteWktPoint\0")?,
1960            GeoKernelViewer_WriteWktPolygon: *library.get(b"GeoKernelViewer_WriteWktPolygon\0")?,
1961            GeoKernelViewer_ZoomAtPoint: *library.get(b"GeoKernelViewer_ZoomAtPoint\0")?,
1962            GeoKernelViewer_ZoomIn: *library.get(b"GeoKernelViewer_ZoomIn\0")?,
1963            GeoKernelViewer_ZoomOut: *library.get(b"GeoKernelViewer_ZoomOut\0")?,
1964            GeoKernelViewer_ZoomToLayer: *library.get(b"GeoKernelViewer_ZoomToLayer\0")?,
1965            GeoKernelViewer_ZoomToScreenRect: *library
1966                .get(b"GeoKernelViewer_ZoomToScreenRect\0")?,
1967            GeoKernelViewer_ZoomToSelectedFeatures: *library
1968                .get(b"GeoKernelViewer_ZoomToSelectedFeatures\0")?,
1969            GeoKernelWindow_AddCancellableLayerLoadToolbar: *library
1970                .get(b"GeoKernelWindow_AddCancellableLayerLoadToolbar\0")?,
1971            GeoKernelWindow_AddCommandToolbar: *library
1972                .get(b"GeoKernelWindow_AddCommandToolbar\0")?,
1973            GeoKernelWindow_AddControlPanel: *library.get(b"GeoKernelWindow_AddControlPanel\0")?,
1974            GeoKernelWindow_AddLayerManagementToolbar: *library
1975                .get(b"GeoKernelWindow_AddLayerManagementToolbar\0")?,
1976            GeoKernelWindow_AddLayerPanel: *library.get(b"GeoKernelWindow_AddLayerPanel\0")?,
1977            GeoKernelWindow_AddLayerSelector: *library
1978                .get(b"GeoKernelWindow_AddLayerSelector\0")?,
1979            GeoKernelWindow_AddLayerStyleToolbar: *library
1980                .get(b"GeoKernelWindow_AddLayerStyleToolbar\0")?,
1981            GeoKernelWindow_AddLegendPanel: *library.get(b"GeoKernelWindow_AddLegendPanel\0")?,
1982            GeoKernelWindow_AddLogPanel: *library.get(b"GeoKernelWindow_AddLogPanel\0")?,
1983            GeoKernelWindow_AddMeasureToolbar: *library
1984                .get(b"GeoKernelWindow_AddMeasureToolbar\0")?,
1985            GeoKernelWindow_AddNavigationToolbar: *library
1986                .get(b"GeoKernelWindow_AddNavigationToolbar\0")?,
1987            GeoKernelWindow_AddSpatialIndexBenchmarkToolbar: *library
1988                .get(b"GeoKernelWindow_AddSpatialIndexBenchmarkToolbar\0")?,
1989            GeoKernelWindow_AddViewerPane: *library.get(b"GeoKernelWindow_AddViewerPane\0")?,
1990            GeoKernelWindow_AppendLog: *library.get(b"GeoKernelWindow_AppendLog\0")?,
1991            GeoKernelWindow_ClearLog: *library.get(b"GeoKernelWindow_ClearLog\0")?,
1992            GeoKernelWindow_Create: *library.get(b"GeoKernelWindow_Create\0")?,
1993            GeoKernelWindow_Destroy: *library.get(b"GeoKernelWindow_Destroy\0")?,
1994            GeoKernelWindow_GetSelectedLayerIndex: *library
1995                .get(b"GeoKernelWindow_GetSelectedLayerIndex\0")?,
1996            GeoKernelWindow_IsVisible: *library.get(b"GeoKernelWindow_IsVisible\0")?,
1997            GeoKernelWindow_SetAttributionText: *library
1998                .get(b"GeoKernelWindow_SetAttributionText\0")?,
1999            GeoKernelWindow_SetCentralText: *library.get(b"GeoKernelWindow_SetCentralText\0")?,
2000            GeoKernelWindow_SetCentralTextPanel: *library
2001                .get(b"GeoKernelWindow_SetCentralTextPanel\0")?,
2002            GeoKernelWindow_SetCentralViewer: *library
2003                .get(b"GeoKernelWindow_SetCentralViewer\0")?,
2004            GeoKernelWindow_SetCommandEnabled: *library
2005                .get(b"GeoKernelWindow_SetCommandEnabled\0")?,
2006            GeoKernelWindow_SetControlEnabled: *library
2007                .get(b"GeoKernelWindow_SetControlEnabled\0")?,
2008            GeoKernelWindow_SetControlOptionsJson: *library
2009                .get(b"GeoKernelWindow_SetControlOptionsJson\0")?,
2010            GeoKernelWindow_SetControlValue: *library.get(b"GeoKernelWindow_SetControlValue\0")?,
2011            GeoKernelWindow_SetLegendItemsJson: *library
2012                .get(b"GeoKernelWindow_SetLegendItemsJson\0")?,
2013            GeoKernelWindow_SetLegendTitle: *library.get(b"GeoKernelWindow_SetLegendTitle\0")?,
2014            GeoKernelWindow_SetLegendWidth: *library.get(b"GeoKernelWindow_SetLegendWidth\0")?,
2015            GeoKernelWindow_SetStatusText: *library.get(b"GeoKernelWindow_SetStatusText\0")?,
2016            GeoKernelWindow_Show: *library.get(b"GeoKernelWindow_Show\0")?,
2017            _library: library,
2018        })
2019    }
2020    /// Native declaration: `int GeoKernelViewer_AddArcMakeConnectedLayer( void* viewer, const wchar_t* name, const double* baseXyPairs, int basePointCount, const double* continuationXyPairs, const int* continuationPointCounts, int continuationCount, const wchar_t* styleJson)`.
2021    /// # Safety
2022    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2023    pub unsafe fn GeoKernelViewer_AddArcMakeConnectedLayer(
2024        &self,
2025        a0: *mut c_void,
2026        a1: *const WChar,
2027        a2: *const f64,
2028        a3: i32,
2029        a4: *const f64,
2030        a5: *const i32,
2031        a6: i32,
2032        a7: *const WChar,
2033    ) -> i32 {
2034        (self.GeoKernelViewer_AddArcMakeConnectedLayer)(a0, a1, a2, a3, a4, a5, a6, a7)
2035    }
2036    /// Native declaration: `int GeoKernelViewer_AddArcSplitOnCrossLayer( void* viewer, const wchar_t* name, const double* arcXyPairs, int arcPointCount, const double* cutterXyPairs, const int* cutterPointCounts, int cutterCount, const wchar_t* styleJson)`.
2037    /// # Safety
2038    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2039    pub unsafe fn GeoKernelViewer_AddArcSplitOnCrossLayer(
2040        &self,
2041        a0: *mut c_void,
2042        a1: *const WChar,
2043        a2: *const f64,
2044        a3: i32,
2045        a4: *const f64,
2046        a5: *const i32,
2047        a6: i32,
2048        a7: *const WChar,
2049    ) -> i32 {
2050        (self.GeoKernelViewer_AddArcSplitOnCrossLayer)(a0, a1, a2, a3, a4, a5, a6, a7)
2051    }
2052    /// Native declaration: `int GeoKernelViewer_AddAttributedPointLayer( void* viewer, const wchar_t* name, const double* xyPairs, int pointCount, const wchar_t* attributesJson, const wchar_t* styleJson, int sourceEpsg)`.
2053    /// # Safety
2054    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2055    pub unsafe fn GeoKernelViewer_AddAttributedPointLayer(
2056        &self,
2057        a0: *mut c_void,
2058        a1: *const WChar,
2059        a2: *const f64,
2060        a3: i32,
2061        a4: *const WChar,
2062        a5: *const WChar,
2063        a6: i32,
2064    ) -> i32 {
2065        (self.GeoKernelViewer_AddAttributedPointLayer)(a0, a1, a2, a3, a4, a5, a6)
2066    }
2067    /// Native declaration: `int GeoKernelViewer_AddEmptyVectorLayer( void* viewer, const wchar_t* name, int shapeType, const wchar_t* styleJson)`.
2068    /// # Safety
2069    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2070    pub unsafe fn GeoKernelViewer_AddEmptyVectorLayer(
2071        &self,
2072        a0: *mut c_void,
2073        a1: *const WChar,
2074        a2: i32,
2075        a3: *const WChar,
2076    ) -> i32 {
2077        (self.GeoKernelViewer_AddEmptyVectorLayer)(a0, a1, a2, a3)
2078    }
2079    /// Native declaration: `bool GeoKernelViewer_AddExternalLayer(void* viewer, void* layer)`.
2080    /// # Safety
2081    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2082    pub unsafe fn GeoKernelViewer_AddExternalLayer(
2083        &self,
2084        a0: *mut c_void,
2085        a1: *mut c_void,
2086    ) -> bool {
2087        (self.GeoKernelViewer_AddExternalLayer)(a0, a1)
2088    }
2089    /// Native declaration: `int GeoKernelViewer_AddFixedPolylineLayer( void* viewer, const wchar_t* name, const double* xyPairs, const int* partPointCounts, int partCount, int operation, const wchar_t* styleJson)`.
2090    /// # Safety
2091    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2092    pub unsafe fn GeoKernelViewer_AddFixedPolylineLayer(
2093        &self,
2094        a0: *mut c_void,
2095        a1: *const WChar,
2096        a2: *const f64,
2097        a3: *const i32,
2098        a4: i32,
2099        a5: i32,
2100        a6: *const WChar,
2101    ) -> i32 {
2102        (self.GeoKernelViewer_AddFixedPolylineLayer)(a0, a1, a2, a3, a4, a5, a6)
2103    }
2104    /// Native declaration: `bool GeoKernelViewer_AddLayerAttributeDefinition(void* viewer, int index, const wchar_t* name, int type, int length, int decimalCount)`.
2105    /// # Safety
2106    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2107    pub unsafe fn GeoKernelViewer_AddLayerAttributeDefinition(
2108        &self,
2109        a0: *mut c_void,
2110        a1: i32,
2111        a2: *const WChar,
2112        a3: i32,
2113        a4: i32,
2114        a5: i32,
2115    ) -> bool {
2116        (self.GeoKernelViewer_AddLayerAttributeDefinition)(a0, a1, a2, a3, a4, a5)
2117    }
2118    /// Native declaration: `bool GeoKernelViewer_AddLayerFile(void* viewer, const wchar_t* path)`.
2119    /// # Safety
2120    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2121    pub unsafe fn GeoKernelViewer_AddLayerFile(&self, a0: *mut c_void, a1: *const WChar) -> bool {
2122        (self.GeoKernelViewer_AddLayerFile)(a0, a1)
2123    }
2124    /// Native declaration: `bool GeoKernelViewer_AddLayerFileWithCallbacks( void* viewer, const wchar_t* path, const wchar_t* optionsJson, GeoKernelViewerLayerLoadProgressCallback progressCallback, GeoKernelViewerLayerLoadCancellationCallback cancellationCallback, GeoKernelViewerSpatialIndexStateCallback indexStateCallback, void* context)`.
2125    /// # Safety
2126    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2127    pub unsafe fn GeoKernelViewer_AddLayerFileWithCallbacks(
2128        &self,
2129        a0: *mut c_void,
2130        a1: *const WChar,
2131        a2: *const WChar,
2132        a3: GeoKernelViewerLayerLoadProgressCallback,
2133        a4: GeoKernelViewerLayerLoadCancellationCallback,
2134        a5: GeoKernelViewerSpatialIndexStateCallback,
2135        a6: *mut c_void,
2136    ) -> bool {
2137        (self.GeoKernelViewer_AddLayerFileWithCallbacks)(a0, a1, a2, a3, a4, a5, a6)
2138    }
2139    /// Native declaration: `bool GeoKernelViewer_AddLayerFileWithOptionsJson(void* viewer, const wchar_t* path, const wchar_t* optionsJson)`.
2140    /// # Safety
2141    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2142    pub unsafe fn GeoKernelViewer_AddLayerFileWithOptionsJson(
2143        &self,
2144        a0: *mut c_void,
2145        a1: *const WChar,
2146        a2: *const WChar,
2147    ) -> bool {
2148        (self.GeoKernelViewer_AddLayerFileWithOptionsJson)(a0, a1, a2)
2149    }
2150    /// Native declaration: `int GeoKernelViewer_AddOpenStreetMapLayer(void* viewer, bool localCacheEnabled)`.
2151    /// # Safety
2152    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2153    pub unsafe fn GeoKernelViewer_AddOpenStreetMapLayer(&self, a0: *mut c_void, a1: bool) -> i32 {
2154        (self.GeoKernelViewer_AddOpenStreetMapLayer)(a0, a1)
2155    }
2156    /// Native declaration: `int GeoKernelViewer_AddPointBufferLayer( void* viewer, const wchar_t* name, double x, double y, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2157    /// # Safety
2158    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2159    pub unsafe fn GeoKernelViewer_AddPointBufferLayer(
2160        &self,
2161        a0: *mut c_void,
2162        a1: *const WChar,
2163        a2: f64,
2164        a3: f64,
2165        a4: f64,
2166        a5: i32,
2167        a6: *const WChar,
2168    ) -> i32 {
2169        (self.GeoKernelViewer_AddPointBufferLayer)(a0, a1, a2, a3, a4, a5, a6)
2170    }
2171    /// Native declaration: `bool GeoKernelViewer_AddPointBufferShape(void* viewer, double x, double y, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2172    /// # Safety
2173    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2174    pub unsafe fn GeoKernelViewer_AddPointBufferShape(
2175        &self,
2176        a0: *mut c_void,
2177        a1: f64,
2178        a2: f64,
2179        a3: f64,
2180        a4: i32,
2181        a5: *const WChar,
2182    ) -> bool {
2183        (self.GeoKernelViewer_AddPointBufferShape)(a0, a1, a2, a3, a4, a5)
2184    }
2185    /// Native declaration: `int GeoKernelViewer_AddPointLayer( void* viewer, const wchar_t* name, const double* xyPairs, int pointCount, const wchar_t* styleJson)`.
2186    /// # Safety
2187    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2188    pub unsafe fn GeoKernelViewer_AddPointLayer(
2189        &self,
2190        a0: *mut c_void,
2191        a1: *const WChar,
2192        a2: *const f64,
2193        a3: i32,
2194        a4: *const WChar,
2195    ) -> i32 {
2196        (self.GeoKernelViewer_AddPointLayer)(a0, a1, a2, a3, a4)
2197    }
2198    /// Native declaration: `bool GeoKernelViewer_AddPointShape(void* viewer, double x, double y, const wchar_t* styleJson)`.
2199    /// # Safety
2200    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2201    pub unsafe fn GeoKernelViewer_AddPointShape(
2202        &self,
2203        a0: *mut c_void,
2204        a1: f64,
2205        a2: f64,
2206        a3: *const WChar,
2207    ) -> bool {
2208        (self.GeoKernelViewer_AddPointShape)(a0, a1, a2, a3)
2209    }
2210    /// Native declaration: `bool GeoKernelViewer_AddPointToEditLayer(void* viewer, int index, double worldX, double worldY)`.
2211    /// # Safety
2212    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2213    pub unsafe fn GeoKernelViewer_AddPointToEditLayer(
2214        &self,
2215        a0: *mut c_void,
2216        a1: i32,
2217        a2: f64,
2218        a3: f64,
2219    ) -> bool {
2220        (self.GeoKernelViewer_AddPointToEditLayer)(a0, a1, a2, a3)
2221    }
2222    /// Native declaration: `bool GeoKernelViewer_AddPointToEditLayerWithAttributes(void* viewer, int index, double worldX, double worldY, const wchar_t* attributesJson)`.
2223    /// # Safety
2224    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2225    pub unsafe fn GeoKernelViewer_AddPointToEditLayerWithAttributes(
2226        &self,
2227        a0: *mut c_void,
2228        a1: i32,
2229        a2: f64,
2230        a3: f64,
2231        a4: *const WChar,
2232    ) -> bool {
2233        (self.GeoKernelViewer_AddPointToEditLayerWithAttributes)(a0, a1, a2, a3, a4)
2234    }
2235    /// Native declaration: `int GeoKernelViewer_AddPolygonBufferLayer( void* viewer, const wchar_t* name, const double* xyPairs, int pointCount, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2236    /// # Safety
2237    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2238    pub unsafe fn GeoKernelViewer_AddPolygonBufferLayer(
2239        &self,
2240        a0: *mut c_void,
2241        a1: *const WChar,
2242        a2: *const f64,
2243        a3: i32,
2244        a4: f64,
2245        a5: i32,
2246        a6: *const WChar,
2247    ) -> i32 {
2248        (self.GeoKernelViewer_AddPolygonBufferLayer)(a0, a1, a2, a3, a4, a5, a6)
2249    }
2250    /// Native declaration: `bool GeoKernelViewer_AddPolygonBufferShape(void* viewer, const double* xyPairs, int pointCount, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2251    /// # Safety
2252    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2253    pub unsafe fn GeoKernelViewer_AddPolygonBufferShape(
2254        &self,
2255        a0: *mut c_void,
2256        a1: *const f64,
2257        a2: i32,
2258        a3: f64,
2259        a4: i32,
2260        a5: *const WChar,
2261    ) -> bool {
2262        (self.GeoKernelViewer_AddPolygonBufferShape)(a0, a1, a2, a3, a4, a5)
2263    }
2264    /// Native declaration: `int GeoKernelViewer_AddPolygonConvexHullLayer( void* viewer, const wchar_t* name, const double* xyPairs, int pointCount, const wchar_t* styleJson)`.
2265    /// # Safety
2266    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2267    pub unsafe fn GeoKernelViewer_AddPolygonConvexHullLayer(
2268        &self,
2269        a0: *mut c_void,
2270        a1: *const WChar,
2271        a2: *const f64,
2272        a3: i32,
2273        a4: *const WChar,
2274    ) -> i32 {
2275        (self.GeoKernelViewer_AddPolygonConvexHullLayer)(a0, a1, a2, a3, a4)
2276    }
2277    /// Native declaration: `int GeoKernelViewer_AddPolygonConvexHullTwoLayer( void* viewer, const wchar_t* name, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* styleJson)`.
2278    /// # Safety
2279    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2280    pub unsafe fn GeoKernelViewer_AddPolygonConvexHullTwoLayer(
2281        &self,
2282        a0: *mut c_void,
2283        a1: *const WChar,
2284        a2: *const f64,
2285        a3: i32,
2286        a4: *const f64,
2287        a5: i32,
2288        a6: *const WChar,
2289    ) -> i32 {
2290        (self.GeoKernelViewer_AddPolygonConvexHullTwoLayer)(a0, a1, a2, a3, a4, a5, a6)
2291    }
2292    /// Native declaration: `int GeoKernelViewer_AddPolygonDifferenceLayer( void* viewer, const wchar_t* name, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* styleJson)`.
2293    /// # Safety
2294    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2295    pub unsafe fn GeoKernelViewer_AddPolygonDifferenceLayer(
2296        &self,
2297        a0: *mut c_void,
2298        a1: *const WChar,
2299        a2: *const f64,
2300        a3: i32,
2301        a4: *const f64,
2302        a5: i32,
2303        a6: *const WChar,
2304    ) -> i32 {
2305        (self.GeoKernelViewer_AddPolygonDifferenceLayer)(a0, a1, a2, a3, a4, a5, a6)
2306    }
2307    /// Native declaration: `int GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer( void* viewer, const wchar_t* name, const double* xyPairs, const int* partPointCounts, int partCount, const wchar_t* styleJson)`.
2308    /// # Safety
2309    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2310    pub unsafe fn GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer(
2311        &self,
2312        a0: *mut c_void,
2313        a1: *const WChar,
2314        a2: *const f64,
2315        a3: *const i32,
2316        a4: i32,
2317        a5: *const WChar,
2318    ) -> i32 {
2319        (self.GeoKernelViewer_AddPolygonFindAndDeleteLoopsLayer)(a0, a1, a2, a3, a4, a5)
2320    }
2321    /// Native declaration: `int GeoKernelViewer_AddPolygonIntersectionLayer( void* viewer, const wchar_t* name, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* styleJson)`.
2322    /// # Safety
2323    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2324    pub unsafe fn GeoKernelViewer_AddPolygonIntersectionLayer(
2325        &self,
2326        a0: *mut c_void,
2327        a1: *const WChar,
2328        a2: *const f64,
2329        a3: i32,
2330        a4: *const f64,
2331        a5: i32,
2332        a6: *const WChar,
2333    ) -> i32 {
2334        (self.GeoKernelViewer_AddPolygonIntersectionLayer)(a0, a1, a2, a3, a4, a5, a6)
2335    }
2336    /// Native declaration: `int GeoKernelViewer_AddPolygonLayer( void* viewer, const wchar_t* name, const double* xyPairs, const int* partPointCounts, int partCount, const wchar_t* styleJson)`.
2337    /// # Safety
2338    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2339    pub unsafe fn GeoKernelViewer_AddPolygonLayer(
2340        &self,
2341        a0: *mut c_void,
2342        a1: *const WChar,
2343        a2: *const f64,
2344        a3: *const i32,
2345        a4: i32,
2346        a5: *const WChar,
2347    ) -> i32 {
2348        (self.GeoKernelViewer_AddPolygonLayer)(a0, a1, a2, a3, a4, a5)
2349    }
2350    /// Native declaration: `bool GeoKernelViewer_AddPolygonPartsShape(void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, const wchar_t* styleJson)`.
2351    /// # Safety
2352    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2353    pub unsafe fn GeoKernelViewer_AddPolygonPartsShape(
2354        &self,
2355        a0: *mut c_void,
2356        a1: *const f64,
2357        a2: *const i32,
2358        a3: i32,
2359        a4: *const WChar,
2360    ) -> bool {
2361        (self.GeoKernelViewer_AddPolygonPartsShape)(a0, a1, a2, a3, a4)
2362    }
2363    /// Native declaration: `bool GeoKernelViewer_AddPolygonPartsShapeWithAttributes(void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, const wchar_t* attributesJson, const wchar_t* styleJson)`.
2364    /// # Safety
2365    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2366    pub unsafe fn GeoKernelViewer_AddPolygonPartsShapeWithAttributes(
2367        &self,
2368        a0: *mut c_void,
2369        a1: *const f64,
2370        a2: *const i32,
2371        a3: i32,
2372        a4: *const WChar,
2373        a5: *const WChar,
2374    ) -> bool {
2375        (self.GeoKernelViewer_AddPolygonPartsShapeWithAttributes)(a0, a1, a2, a3, a4, a5)
2376    }
2377    /// Native declaration: `bool GeoKernelViewer_AddPolygonShape(void* viewer, const double* xyPairs, int pointCount, const wchar_t* styleJson)`.
2378    /// # Safety
2379    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2380    pub unsafe fn GeoKernelViewer_AddPolygonShape(
2381        &self,
2382        a0: *mut c_void,
2383        a1: *const f64,
2384        a2: i32,
2385        a3: *const WChar,
2386    ) -> bool {
2387        (self.GeoKernelViewer_AddPolygonShape)(a0, a1, a2, a3)
2388    }
2389    /// Native declaration: `bool GeoKernelViewer_AddPolygonShapeWithAttributes(void* viewer, const double* xyPairs, int pointCount, const wchar_t* attributesJson, const wchar_t* styleJson)`.
2390    /// # Safety
2391    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2392    pub unsafe fn GeoKernelViewer_AddPolygonShapeWithAttributes(
2393        &self,
2394        a0: *mut c_void,
2395        a1: *const f64,
2396        a2: i32,
2397        a3: *const WChar,
2398        a4: *const WChar,
2399    ) -> bool {
2400        (self.GeoKernelViewer_AddPolygonShapeWithAttributes)(a0, a1, a2, a3, a4)
2401    }
2402    /// Native declaration: `int GeoKernelViewer_AddPolygonSplitByArcLayer( void* viewer, const wchar_t* name, const double* polygonXyPairs, int polygonPointCount, const double* arcXyPairs, int arcPointCount, const wchar_t* styleJson)`.
2403    /// # Safety
2404    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2405    pub unsafe fn GeoKernelViewer_AddPolygonSplitByArcLayer(
2406        &self,
2407        a0: *mut c_void,
2408        a1: *const WChar,
2409        a2: *const f64,
2410        a3: i32,
2411        a4: *const f64,
2412        a5: i32,
2413        a6: *const WChar,
2414    ) -> i32 {
2415        (self.GeoKernelViewer_AddPolygonSplitByArcLayer)(a0, a1, a2, a3, a4, a5, a6)
2416    }
2417    /// Native declaration: `int GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer( void* viewer, const wchar_t* name, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* styleJson)`.
2418    /// # Safety
2419    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2420    pub unsafe fn GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer(
2421        &self,
2422        a0: *mut c_void,
2423        a1: *const WChar,
2424        a2: *const f64,
2425        a3: i32,
2426        a4: *const f64,
2427        a5: i32,
2428        a6: *const WChar,
2429    ) -> i32 {
2430        (self.GeoKernelViewer_AddPolygonSymmetricalDifferenceLayer)(a0, a1, a2, a3, a4, a5, a6)
2431    }
2432    /// Native declaration: `bool GeoKernelViewer_AddPolygonToEditLayer(void* viewer, int index, const double* xyPairs, int pointCount)`.
2433    /// # Safety
2434    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2435    pub unsafe fn GeoKernelViewer_AddPolygonToEditLayer(
2436        &self,
2437        a0: *mut c_void,
2438        a1: i32,
2439        a2: *const f64,
2440        a3: i32,
2441    ) -> bool {
2442        (self.GeoKernelViewer_AddPolygonToEditLayer)(a0, a1, a2, a3)
2443    }
2444    /// Native declaration: `bool GeoKernelViewer_AddPolygonToEditLayerWithAttributes(void* viewer, int index, const double* xyPairs, int pointCount, const wchar_t* attributesJson)`.
2445    /// # Safety
2446    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2447    pub unsafe fn GeoKernelViewer_AddPolygonToEditLayerWithAttributes(
2448        &self,
2449        a0: *mut c_void,
2450        a1: i32,
2451        a2: *const f64,
2452        a3: i32,
2453        a4: *const WChar,
2454    ) -> bool {
2455        (self.GeoKernelViewer_AddPolygonToEditLayerWithAttributes)(a0, a1, a2, a3, a4)
2456    }
2457    /// Native declaration: `int GeoKernelViewer_AddPolygonUnionLayer( void* viewer, const wchar_t* name, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* styleJson)`.
2458    /// # Safety
2459    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2460    pub unsafe fn GeoKernelViewer_AddPolygonUnionLayer(
2461        &self,
2462        a0: *mut c_void,
2463        a1: *const WChar,
2464        a2: *const f64,
2465        a3: i32,
2466        a4: *const f64,
2467        a5: i32,
2468        a6: *const WChar,
2469    ) -> i32 {
2470        (self.GeoKernelViewer_AddPolygonUnionLayer)(a0, a1, a2, a3, a4, a5, a6)
2471    }
2472    /// Native declaration: `int GeoKernelViewer_AddPolygonUnionOnListLayer( void* viewer, const wchar_t* name, const double* xyPairs, const int* polygonPointCounts, int polygonCount, const wchar_t* styleJson)`.
2473    /// # Safety
2474    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2475    pub unsafe fn GeoKernelViewer_AddPolygonUnionOnListLayer(
2476        &self,
2477        a0: *mut c_void,
2478        a1: *const WChar,
2479        a2: *const f64,
2480        a3: *const i32,
2481        a4: i32,
2482        a5: *const WChar,
2483    ) -> i32 {
2484        (self.GeoKernelViewer_AddPolygonUnionOnListLayer)(a0, a1, a2, a3, a4, a5)
2485    }
2486    /// Native declaration: `int GeoKernelViewer_AddPolylineBufferLayer( void* viewer, const wchar_t* name, const double* xyPairs, int pointCount, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2487    /// # Safety
2488    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2489    pub unsafe fn GeoKernelViewer_AddPolylineBufferLayer(
2490        &self,
2491        a0: *mut c_void,
2492        a1: *const WChar,
2493        a2: *const f64,
2494        a3: i32,
2495        a4: f64,
2496        a5: i32,
2497        a6: *const WChar,
2498    ) -> i32 {
2499        (self.GeoKernelViewer_AddPolylineBufferLayer)(a0, a1, a2, a3, a4, a5, a6)
2500    }
2501    /// Native declaration: `bool GeoKernelViewer_AddPolylineBufferShape(void* viewer, const double* xyPairs, int pointCount, double distance, int pointsPerQuadrant, const wchar_t* styleJson)`.
2502    /// # Safety
2503    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2504    pub unsafe fn GeoKernelViewer_AddPolylineBufferShape(
2505        &self,
2506        a0: *mut c_void,
2507        a1: *const f64,
2508        a2: i32,
2509        a3: f64,
2510        a4: i32,
2511        a5: *const WChar,
2512    ) -> bool {
2513        (self.GeoKernelViewer_AddPolylineBufferShape)(a0, a1, a2, a3, a4, a5)
2514    }
2515    /// Native declaration: `int GeoKernelViewer_AddPolylineLayer( void* viewer, const wchar_t* name, const double* xyPairs, const int* partPointCounts, int partCount, const wchar_t* styleJson)`.
2516    /// # Safety
2517    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2518    pub unsafe fn GeoKernelViewer_AddPolylineLayer(
2519        &self,
2520        a0: *mut c_void,
2521        a1: *const WChar,
2522        a2: *const f64,
2523        a3: *const i32,
2524        a4: i32,
2525        a5: *const WChar,
2526    ) -> i32 {
2527        (self.GeoKernelViewer_AddPolylineLayer)(a0, a1, a2, a3, a4, a5)
2528    }
2529    /// Native declaration: `bool GeoKernelViewer_AddPolylineShape(void* viewer, const double* xyPairs, int pointCount, const wchar_t* styleJson)`.
2530    /// # Safety
2531    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2532    pub unsafe fn GeoKernelViewer_AddPolylineShape(
2533        &self,
2534        a0: *mut c_void,
2535        a1: *const f64,
2536        a2: i32,
2537        a3: *const WChar,
2538    ) -> bool {
2539        (self.GeoKernelViewer_AddPolylineShape)(a0, a1, a2, a3)
2540    }
2541    /// Native declaration: `bool GeoKernelViewer_AddPolylineToEditLayer(void* viewer, int index, const double* xyPairs, int pointCount)`.
2542    /// # Safety
2543    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2544    pub unsafe fn GeoKernelViewer_AddPolylineToEditLayer(
2545        &self,
2546        a0: *mut c_void,
2547        a1: i32,
2548        a2: *const f64,
2549        a3: i32,
2550    ) -> bool {
2551        (self.GeoKernelViewer_AddPolylineToEditLayer)(a0, a1, a2, a3)
2552    }
2553    /// Native declaration: `bool GeoKernelViewer_AddPolylineToEditLayerWithAttributes(void* viewer, int index, const double* xyPairs, int pointCount, const wchar_t* attributesJson)`.
2554    /// # Safety
2555    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2556    pub unsafe fn GeoKernelViewer_AddPolylineToEditLayerWithAttributes(
2557        &self,
2558        a0: *mut c_void,
2559        a1: i32,
2560        a2: *const f64,
2561        a3: i32,
2562        a4: *const WChar,
2563    ) -> bool {
2564        (self.GeoKernelViewer_AddPolylineToEditLayerWithAttributes)(a0, a1, a2, a3, a4)
2565    }
2566    /// Native declaration: `bool GeoKernelViewer_AddShortestRouteLayerBetweenPoints(void* viewer, double fromWorldX, double fromWorldY, double toWorldX, double toWorldY, int metric, double maxSnapDistance, double defaultSpeedKmh, const wchar_t* layerName, bool zoomToRoute, GeoKernelViewerRouteSummary* summary)`.
2567    /// # Safety
2568    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2569    pub unsafe fn GeoKernelViewer_AddShortestRouteLayerBetweenPoints(
2570        &self,
2571        a0: *mut c_void,
2572        a1: f64,
2573        a2: f64,
2574        a3: f64,
2575        a4: f64,
2576        a5: i32,
2577        a6: f64,
2578        a7: f64,
2579        a8: *const WChar,
2580        a9: bool,
2581        a10: *mut GeoKernelViewerRouteSummary,
2582    ) -> bool {
2583        (self.GeoKernelViewer_AddShortestRouteLayerBetweenPoints)(
2584            a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
2585        )
2586    }
2587    /// Native declaration: `bool GeoKernelViewer_AddTextShape(void* viewer, double x, double y, const wchar_t* text, const wchar_t* styleJson)`.
2588    /// # Safety
2589    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2590    pub unsafe fn GeoKernelViewer_AddTextShape(
2591        &self,
2592        a0: *mut c_void,
2593        a1: f64,
2594        a2: f64,
2595        a3: *const WChar,
2596        a4: *const WChar,
2597    ) -> bool {
2598        (self.GeoKernelViewer_AddTextShape)(a0, a1, a2, a3, a4)
2599    }
2600    /// Native declaration: `bool GeoKernelViewer_AddTopFeatureToSelectionAt(void* viewer, double screenX, double screenY, int pixelTolerance)`.
2601    /// # Safety
2602    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2603    pub unsafe fn GeoKernelViewer_AddTopFeatureToSelectionAt(
2604        &self,
2605        a0: *mut c_void,
2606        a1: f64,
2607        a2: f64,
2608        a3: i32,
2609    ) -> bool {
2610        (self.GeoKernelViewer_AddTopFeatureToSelectionAt)(a0, a1, a2, a3)
2611    }
2612    /// Native declaration: `int GeoKernelViewer_AddWfsLayer( void* viewer, const wchar_t* name, const wchar_t* serviceUrl, const wchar_t* typeName, const wchar_t* version, const wchar_t* srsName, const wchar_t* outputFormat, int maxFeatures)`.
2613    /// # Safety
2614    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2615    pub unsafe fn GeoKernelViewer_AddWfsLayer(
2616        &self,
2617        a0: *mut c_void,
2618        a1: *const WChar,
2619        a2: *const WChar,
2620        a3: *const WChar,
2621        a4: *const WChar,
2622        a5: *const WChar,
2623        a6: *const WChar,
2624        a7: i32,
2625    ) -> i32 {
2626        (self.GeoKernelViewer_AddWfsLayer)(a0, a1, a2, a3, a4, a5, a6, a7)
2627    }
2628    /// Native declaration: `bool GeoKernelViewer_AddWktShape(void* viewer, const wchar_t* wkt)`.
2629    /// # Safety
2630    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2631    pub unsafe fn GeoKernelViewer_AddWktShape(&self, a0: *mut c_void, a1: *const WChar) -> bool {
2632        (self.GeoKernelViewer_AddWktShape)(a0, a1)
2633    }
2634    /// Native declaration: `int GeoKernelViewer_AddWmsLayer( void* viewer, const wchar_t* name, const wchar_t* serviceUrl, const wchar_t* layers, const wchar_t* styles, const wchar_t* version, const wchar_t* crs, const wchar_t* format, bool transparent, int minZoom, int maxZoom, int tileSize, const wchar_t* attribution, bool localCacheEnabled, const wchar_t* cacheDirectory)`.
2635    /// # Safety
2636    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2637    pub unsafe fn GeoKernelViewer_AddWmsLayer(
2638        &self,
2639        a0: *mut c_void,
2640        a1: *const WChar,
2641        a2: *const WChar,
2642        a3: *const WChar,
2643        a4: *const WChar,
2644        a5: *const WChar,
2645        a6: *const WChar,
2646        a7: *const WChar,
2647        a8: bool,
2648        a9: i32,
2649        a10: i32,
2650        a11: i32,
2651        a12: *const WChar,
2652        a13: bool,
2653        a14: *const WChar,
2654    ) -> i32 {
2655        (self.GeoKernelViewer_AddWmsLayer)(
2656            a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
2657        )
2658    }
2659    /// Native declaration: `int GeoKernelViewer_AddWmtsLayer( void* viewer, const wchar_t* name, const wchar_t* serviceUrl, const wchar_t* layer, const wchar_t* style, const wchar_t* format, const wchar_t* tileMatrixSet, const wchar_t* customUrlTemplate, int minZoom, int maxZoom, int tileSize, const wchar_t* attribution, bool localCacheEnabled, const wchar_t* cacheDirectory)`.
2660    /// # Safety
2661    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2662    pub unsafe fn GeoKernelViewer_AddWmtsLayer(
2663        &self,
2664        a0: *mut c_void,
2665        a1: *const WChar,
2666        a2: *const WChar,
2667        a3: *const WChar,
2668        a4: *const WChar,
2669        a5: *const WChar,
2670        a6: *const WChar,
2671        a7: *const WChar,
2672        a8: i32,
2673        a9: i32,
2674        a10: i32,
2675        a11: *const WChar,
2676        a12: bool,
2677        a13: *const WChar,
2678    ) -> i32 {
2679        (self.GeoKernelViewer_AddWmtsLayer)(
2680            a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13,
2681        )
2682    }
2683    /// Native declaration: `int GeoKernelViewer_AddXyzLayer( void* viewer, const wchar_t* name, const wchar_t* urlTemplate, int minZoom, int maxZoom, int tileSize, const wchar_t* attribution, bool localCacheEnabled, const wchar_t* cacheDirectory)`.
2684    /// # Safety
2685    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2686    pub unsafe fn GeoKernelViewer_AddXyzLayer(
2687        &self,
2688        a0: *mut c_void,
2689        a1: *const WChar,
2690        a2: *const WChar,
2691        a3: i32,
2692        a4: i32,
2693        a5: i32,
2694        a6: *const WChar,
2695        a7: bool,
2696        a8: *const WChar,
2697    ) -> i32 {
2698        (self.GeoKernelViewer_AddXyzLayer)(a0, a1, a2, a3, a4, a5, a6, a7, a8)
2699    }
2700    /// Native declaration: `bool GeoKernelViewer_ApplyLayerCategorizedRenderer( void* viewer, int index, const wchar_t* fieldName, const wchar_t* colorRampName, int categoryLimit, bool reverseColorRamp, int sampleLimit, int styleTarget, double startSize, double endSize)`.
2701    /// # Safety
2702    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2703    pub unsafe fn GeoKernelViewer_ApplyLayerCategorizedRenderer(
2704        &self,
2705        a0: *mut c_void,
2706        a1: i32,
2707        a2: *const WChar,
2708        a3: *const WChar,
2709        a4: i32,
2710        a5: bool,
2711        a6: i32,
2712        a7: i32,
2713        a8: f64,
2714        a9: f64,
2715    ) -> bool {
2716        (self.GeoKernelViewer_ApplyLayerCategorizedRenderer)(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)
2717    }
2718    /// Native declaration: `bool GeoKernelViewer_ApplyLayerGraduatedRenderer( void* viewer, int index, const wchar_t* fieldName, int method, int classCount, const wchar_t* colorRampName, double interval, const double* manualBreaks, int manualBreakCount, int colorRampMode, bool reverseColorRamp, int sampleLimit, int styleTarget, double startSize, double endSize)`.
2719    /// # Safety
2720    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2721    pub unsafe fn GeoKernelViewer_ApplyLayerGraduatedRenderer(
2722        &self,
2723        a0: *mut c_void,
2724        a1: i32,
2725        a2: *const WChar,
2726        a3: i32,
2727        a4: i32,
2728        a5: *const WChar,
2729        a6: f64,
2730        a7: *const f64,
2731        a8: i32,
2732        a9: i32,
2733        a10: bool,
2734        a11: i32,
2735        a12: i32,
2736        a13: f64,
2737        a14: f64,
2738    ) -> bool {
2739        (self.GeoKernelViewer_ApplyLayerGraduatedRenderer)(
2740            a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
2741        )
2742    }
2743    /// Native declaration: `int GeoKernelViewer_ArcMakeConnectedJson( void* viewer, const double* baseXyPairs, int basePointCount, const double* continuationXyPairs, const int* continuationPointCounts, int continuationCount, wchar_t* buffer, int bufferLength)`.
2744    /// # Safety
2745    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2746    pub unsafe fn GeoKernelViewer_ArcMakeConnectedJson(
2747        &self,
2748        a0: *mut c_void,
2749        a1: *const f64,
2750        a2: i32,
2751        a3: *const f64,
2752        a4: *const i32,
2753        a5: i32,
2754        a6: *mut WChar,
2755        a7: i32,
2756    ) -> i32 {
2757        (self.GeoKernelViewer_ArcMakeConnectedJson)(a0, a1, a2, a3, a4, a5, a6, a7)
2758    }
2759    /// Native declaration: `int GeoKernelViewer_ArcSplitOnCrossJson( void* viewer, const double* arcXyPairs, int arcPointCount, const double* cutterXyPairs, const int* cutterPointCounts, int cutterCount, wchar_t* buffer, int bufferLength)`.
2760    /// # Safety
2761    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2762    pub unsafe fn GeoKernelViewer_ArcSplitOnCrossJson(
2763        &self,
2764        a0: *mut c_void,
2765        a1: *const f64,
2766        a2: i32,
2767        a3: *const f64,
2768        a4: *const i32,
2769        a5: i32,
2770        a6: *mut WChar,
2771        a7: i32,
2772    ) -> i32 {
2773        (self.GeoKernelViewer_ArcSplitOnCrossJson)(a0, a1, a2, a3, a4, a5, a6, a7)
2774    }
2775    /// Native declaration: `bool GeoKernelViewer_BeginEditLayer(void* viewer, int index)`.
2776    /// # Safety
2777    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2778    pub unsafe fn GeoKernelViewer_BeginEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
2779        (self.GeoKernelViewer_BeginEditLayer)(a0, a1)
2780    }
2781    /// Native declaration: `bool GeoKernelViewer_BuildRoutingGraphForLayer(void* viewer, int index, double snapTolerance, bool undirected, const wchar_t* speedFieldName, const wchar_t* nameFieldName, const wchar_t* oneWayFieldName, double defaultSpeedKmh)`.
2782    /// # Safety
2783    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2784    pub unsafe fn GeoKernelViewer_BuildRoutingGraphForLayer(
2785        &self,
2786        a0: *mut c_void,
2787        a1: i32,
2788        a2: f64,
2789        a3: bool,
2790        a4: *const WChar,
2791        a5: *const WChar,
2792        a6: *const WChar,
2793        a7: f64,
2794    ) -> bool {
2795        (self.GeoKernelViewer_BuildRoutingGraphForLayer)(a0, a1, a2, a3, a4, a5, a6, a7)
2796    }
2797    /// Native declaration: `bool GeoKernelViewer_CanEditLayer(void* viewer, int index)`.
2798    /// # Safety
2799    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2800    pub unsafe fn GeoKernelViewer_CanEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
2801        (self.GeoKernelViewer_CanEditLayer)(a0, a1)
2802    }
2803    /// Native declaration: `bool GeoKernelViewer_CanEditSelectedFeatures(void* viewer)`.
2804    /// # Safety
2805    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2806    pub unsafe fn GeoKernelViewer_CanEditSelectedFeatures(&self, a0: *mut c_void) -> bool {
2807        (self.GeoKernelViewer_CanEditSelectedFeatures)(a0)
2808    }
2809    /// Native declaration: `bool GeoKernelViewer_CanEditSelectedVertices(void* viewer)`.
2810    /// # Safety
2811    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2812    pub unsafe fn GeoKernelViewer_CanEditSelectedVertices(&self, a0: *mut c_void) -> bool {
2813        (self.GeoKernelViewer_CanEditSelectedVertices)(a0)
2814    }
2815    /// Native declaration: `bool GeoKernelViewer_CanMoveSelectedFeatures(void* viewer)`.
2816    /// # Safety
2817    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2818    pub unsafe fn GeoKernelViewer_CanMoveSelectedFeatures(&self, a0: *mut c_void) -> bool {
2819        (self.GeoKernelViewer_CanMoveSelectedFeatures)(a0)
2820    }
2821    /// Native declaration: `bool GeoKernelViewer_CanRedoEditLayer(void* viewer, int index)`.
2822    /// # Safety
2823    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2824    pub unsafe fn GeoKernelViewer_CanRedoEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
2825        (self.GeoKernelViewer_CanRedoEditLayer)(a0, a1)
2826    }
2827    /// Native declaration: `bool GeoKernelViewer_CanUndoEditLayer(void* viewer, int index)`.
2828    /// # Safety
2829    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2830    pub unsafe fn GeoKernelViewer_CanUndoEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
2831        (self.GeoKernelViewer_CanUndoEditLayer)(a0, a1)
2832    }
2833    /// Native declaration: `void GeoKernelViewer_CancelEditSketch(void* viewer)`.
2834    /// # Safety
2835    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2836    pub unsafe fn GeoKernelViewer_CancelEditSketch(&self, a0: *mut c_void) {
2837        (self.GeoKernelViewer_CancelEditSketch)(a0)
2838    }
2839    /// Native declaration: `bool GeoKernelViewer_CheckPolygonRing( void* viewer, const double* xyPairs, int pointCount)`.
2840    /// # Safety
2841    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2842    pub unsafe fn GeoKernelViewer_CheckPolygonRing(
2843        &self,
2844        a0: *mut c_void,
2845        a1: *const f64,
2846        a2: i32,
2847    ) -> bool {
2848        (self.GeoKernelViewer_CheckPolygonRing)(a0, a1, a2)
2849    }
2850    /// Native declaration: `void GeoKernelViewer_ClearAll(void* viewer)`.
2851    /// # Safety
2852    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2853    pub unsafe fn GeoKernelViewer_ClearAll(&self, a0: *mut c_void) {
2854        (self.GeoKernelViewer_ClearAll)(a0)
2855    }
2856    /// Native declaration: `bool GeoKernelViewer_ClearLayerSymbolRenderer(void* viewer, int index)`.
2857    /// # Safety
2858    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2859    pub unsafe fn GeoKernelViewer_ClearLayerSymbolRenderer(
2860        &self,
2861        a0: *mut c_void,
2862        a1: i32,
2863    ) -> bool {
2864        (self.GeoKernelViewer_ClearLayerSymbolRenderer)(a0, a1)
2865    }
2866    /// Native declaration: `bool GeoKernelViewer_ClearLayerVisibleScaleRange(void* viewer, int index)`.
2867    /// # Safety
2868    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2869    pub unsafe fn GeoKernelViewer_ClearLayerVisibleScaleRange(
2870        &self,
2871        a0: *mut c_void,
2872        a1: i32,
2873    ) -> bool {
2874        (self.GeoKernelViewer_ClearLayerVisibleScaleRange)(a0, a1)
2875    }
2876    /// Native declaration: `void GeoKernelViewer_ClearLayers(void* viewer)`.
2877    /// # Safety
2878    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2879    pub unsafe fn GeoKernelViewer_ClearLayers(&self, a0: *mut c_void) {
2880        (self.GeoKernelViewer_ClearLayers)(a0)
2881    }
2882    /// Native declaration: `void GeoKernelViewer_ClearMeasure(void* viewer)`.
2883    /// # Safety
2884    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2885    pub unsafe fn GeoKernelViewer_ClearMeasure(&self, a0: *mut c_void) {
2886        (self.GeoKernelViewer_ClearMeasure)(a0)
2887    }
2888    /// Native declaration: `void GeoKernelViewer_ClearNewFeatureAttributes(void* viewer)`.
2889    /// # Safety
2890    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2891    pub unsafe fn GeoKernelViewer_ClearNewFeatureAttributes(&self, a0: *mut c_void) {
2892        (self.GeoKernelViewer_ClearNewFeatureAttributes)(a0)
2893    }
2894    /// Native declaration: `void GeoKernelViewer_ClearOverlayShapes(void* viewer)`.
2895    /// # Safety
2896    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2897    pub unsafe fn GeoKernelViewer_ClearOverlayShapes(&self, a0: *mut c_void) {
2898        (self.GeoKernelViewer_ClearOverlayShapes)(a0)
2899    }
2900    /// Native declaration: `void GeoKernelViewer_ClearRoutingGraph(void* viewer)`.
2901    /// # Safety
2902    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2903    pub unsafe fn GeoKernelViewer_ClearRoutingGraph(&self, a0: *mut c_void) {
2904        (self.GeoKernelViewer_ClearRoutingGraph)(a0)
2905    }
2906    /// Native declaration: `void GeoKernelViewer_ClearSelectedFeatures(void* viewer)`.
2907    /// # Safety
2908    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2909    pub unsafe fn GeoKernelViewer_ClearSelectedFeatures(&self, a0: *mut c_void) {
2910        (self.GeoKernelViewer_ClearSelectedFeatures)(a0)
2911    }
2912    /// Native declaration: `void GeoKernelViewer_ClearShapes(void* viewer)`.
2913    /// # Safety
2914    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2915    pub unsafe fn GeoKernelViewer_ClearShapes(&self, a0: *mut c_void) {
2916        (self.GeoKernelViewer_ClearShapes)(a0)
2917    }
2918    /// Native declaration: `void GeoKernelViewer_CloseProject(void* viewer)`.
2919    /// # Safety
2920    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2921    pub unsafe fn GeoKernelViewer_CloseProject(&self, a0: *mut c_void) {
2922        (self.GeoKernelViewer_CloseProject)(a0)
2923    }
2924    /// Native declaration: `bool GeoKernelViewer_CommitEditLayer(void* viewer, int index)`.
2925    /// # Safety
2926    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2927    pub unsafe fn GeoKernelViewer_CommitEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
2928        (self.GeoKernelViewer_CommitEditLayer)(a0, a1)
2929    }
2930    /// Native declaration: `bool GeoKernelViewer_ContainsColorRamp(void* viewer, const wchar_t* name)`.
2931    /// # Safety
2932    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2933    pub unsafe fn GeoKernelViewer_ContainsColorRamp(
2934        &self,
2935        a0: *mut c_void,
2936        a1: *const WChar,
2937    ) -> bool {
2938        (self.GeoKernelViewer_ContainsColorRamp)(a0, a1)
2939    }
2940    /// Native declaration: `int GeoKernelViewer_ConvexHullPolygonJson( void* viewer, const double* xyPairs, int pointCount, wchar_t* buffer, int bufferLength)`.
2941    /// # Safety
2942    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2943    pub unsafe fn GeoKernelViewer_ConvexHullPolygonJson(
2944        &self,
2945        a0: *mut c_void,
2946        a1: *const f64,
2947        a2: i32,
2948        a3: *mut WChar,
2949        a4: i32,
2950    ) -> i32 {
2951        (self.GeoKernelViewer_ConvexHullPolygonJson)(a0, a1, a2, a3, a4)
2952    }
2953    /// Native declaration: `int GeoKernelViewer_ConvexHullTwoPolygonsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
2954    /// # Safety
2955    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2956    pub unsafe fn GeoKernelViewer_ConvexHullTwoPolygonsJson(
2957        &self,
2958        a0: *mut c_void,
2959        a1: *const f64,
2960        a2: i32,
2961        a3: *const f64,
2962        a4: i32,
2963        a5: *mut WChar,
2964        a6: i32,
2965    ) -> i32 {
2966        (self.GeoKernelViewer_ConvexHullTwoPolygonsJson)(a0, a1, a2, a3, a4, a5, a6)
2967    }
2968    /// Native declaration: `int GeoKernelViewer_CoordinateSystemFromAuthorityJson(const wchar_t* authName, int authCode, wchar_t* buffer, int bufferLength)`.
2969    /// # Safety
2970    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2971    pub unsafe fn GeoKernelViewer_CoordinateSystemFromAuthorityJson(
2972        &self,
2973        a0: *const WChar,
2974        a1: i32,
2975        a2: *mut WChar,
2976        a3: i32,
2977    ) -> i32 {
2978        (self.GeoKernelViewer_CoordinateSystemFromAuthorityJson)(a0, a1, a2, a3)
2979    }
2980    /// Native declaration: `int GeoKernelViewer_CoordinateSystemFromEpsgJson(int epsgCode, wchar_t* buffer, int bufferLength)`.
2981    /// # Safety
2982    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2983    pub unsafe fn GeoKernelViewer_CoordinateSystemFromEpsgJson(
2984        &self,
2985        a0: i32,
2986        a1: *mut WChar,
2987        a2: i32,
2988    ) -> i32 {
2989        (self.GeoKernelViewer_CoordinateSystemFromEpsgJson)(a0, a1, a2)
2990    }
2991    /// Native declaration: `void* GeoKernelViewer_Create(int width, int height)`.
2992    /// # Safety
2993    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
2994    pub unsafe fn GeoKernelViewer_Create(&self, a0: i32, a1: i32) -> *mut c_void {
2995        (self.GeoKernelViewer_Create)(a0, a1)
2996    }
2997    /// Native declaration: `void* GeoKernelViewer_CreateWindow(int width, int height, const wchar_t* title, bool navigationToolbar)`.
2998    /// # Safety
2999    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3000    pub unsafe fn GeoKernelViewer_CreateWindow(
3001        &self,
3002        a0: i32,
3003        a1: i32,
3004        a2: *const WChar,
3005        a3: bool,
3006    ) -> *mut c_void {
3007        (self.GeoKernelViewer_CreateWindow)(a0, a1, a2, a3)
3008    }
3009    /// Native declaration: `bool GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer(void* viewer, int partIndex, int vertexIndex)`.
3010    /// # Safety
3011    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3012    pub unsafe fn GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer(
3013        &self,
3014        a0: *mut c_void,
3015        a1: i32,
3016        a2: i32,
3017    ) -> bool {
3018        (self.GeoKernelViewer_DeleteSelectedFeatureVertexInEditLayer)(a0, a1, a2)
3019    }
3020    /// Native declaration: `bool GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer(void* viewer)`.
3021    /// # Safety
3022    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3023    pub unsafe fn GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer(
3024        &self,
3025        a0: *mut c_void,
3026    ) -> bool {
3027        (self.GeoKernelViewer_DeleteSelectedFeaturesFromEditLayer)(a0)
3028    }
3029    /// Native declaration: `bool GeoKernelViewer_DeleteSelectedVertexFromEditLayer(void* viewer)`.
3030    /// # Safety
3031    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3032    pub unsafe fn GeoKernelViewer_DeleteSelectedVertexFromEditLayer(
3033        &self,
3034        a0: *mut c_void,
3035    ) -> bool {
3036        (self.GeoKernelViewer_DeleteSelectedVertexFromEditLayer)(a0)
3037    }
3038    /// Native declaration: `bool GeoKernelViewer_DeleteShapeFromEditLayer(void* viewer, int index, int shapeId)`.
3039    /// # Safety
3040    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3041    pub unsafe fn GeoKernelViewer_DeleteShapeFromEditLayer(
3042        &self,
3043        a0: *mut c_void,
3044        a1: i32,
3045        a2: i32,
3046    ) -> bool {
3047        (self.GeoKernelViewer_DeleteShapeFromEditLayer)(a0, a1, a2)
3048    }
3049    /// Native declaration: `void GeoKernelViewer_Destroy(void* viewer)`.
3050    /// # Safety
3051    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3052    pub unsafe fn GeoKernelViewer_Destroy(&self, a0: *mut c_void) {
3053        (self.GeoKernelViewer_Destroy)(a0)
3054    }
3055    /// Native declaration: `int GeoKernelViewer_DifferencePolygonsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
3056    /// # Safety
3057    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3058    pub unsafe fn GeoKernelViewer_DifferencePolygonsJson(
3059        &self,
3060        a0: *mut c_void,
3061        a1: *const f64,
3062        a2: i32,
3063        a3: *const f64,
3064        a4: i32,
3065        a5: *mut WChar,
3066        a6: i32,
3067    ) -> i32 {
3068        (self.GeoKernelViewer_DifferencePolygonsJson)(a0, a1, a2, a3, a4, a5, a6)
3069    }
3070    /// Native declaration: `int GeoKernelViewer_EvaluateSpatialRelationJson(void* viewer, const wchar_t* leftWkt, const wchar_t* rightWkt, wchar_t* buffer, int bufferLength)`.
3071    /// # Safety
3072    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3073    pub unsafe fn GeoKernelViewer_EvaluateSpatialRelationJson(
3074        &self,
3075        a0: *mut c_void,
3076        a1: *const WChar,
3077        a2: *const WChar,
3078        a3: *mut WChar,
3079        a4: i32,
3080    ) -> i32 {
3081        (self.GeoKernelViewer_EvaluateSpatialRelationJson)(a0, a1, a2, a3, a4)
3082    }
3083    /// Native declaration: `int GeoKernelViewer_FindAndDeleteLoopsJson( void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, wchar_t* buffer, int bufferLength)`.
3084    /// # Safety
3085    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3086    pub unsafe fn GeoKernelViewer_FindAndDeleteLoopsJson(
3087        &self,
3088        a0: *mut c_void,
3089        a1: *const f64,
3090        a2: *const i32,
3091        a3: i32,
3092        a4: *mut WChar,
3093        a5: i32,
3094    ) -> i32 {
3095        (self.GeoKernelViewer_FindAndDeleteLoopsJson)(a0, a1, a2, a3, a4, a5)
3096    }
3097    /// Native declaration: `int GeoKernelViewer_FindMatchingArcIndex( void* viewer, const double* queryXyPairs, int queryPointCount, const double* candidateXyPairs, const int* candidatePointCounts, int candidateCount)`.
3098    /// # Safety
3099    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3100    pub unsafe fn GeoKernelViewer_FindMatchingArcIndex(
3101        &self,
3102        a0: *mut c_void,
3103        a1: *const f64,
3104        a2: i32,
3105        a3: *const f64,
3106        a4: *const i32,
3107        a5: i32,
3108    ) -> i32 {
3109        (self.GeoKernelViewer_FindMatchingArcIndex)(a0, a1, a2, a3, a4, a5)
3110    }
3111    /// Native declaration: `void GeoKernelViewer_FinishMeasure(void* viewer)`.
3112    /// # Safety
3113    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3114    pub unsafe fn GeoKernelViewer_FinishMeasure(&self, a0: *mut c_void) {
3115        (self.GeoKernelViewer_FinishMeasure)(a0)
3116    }
3117    /// Native declaration: `int GeoKernelViewer_FixPolygonJson( void* viewer, const double* xyPairs, int pointCount, wchar_t* buffer, int bufferLength)`.
3118    /// # Safety
3119    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3120    pub unsafe fn GeoKernelViewer_FixPolygonJson(
3121        &self,
3122        a0: *mut c_void,
3123        a1: *const f64,
3124        a2: i32,
3125        a3: *mut WChar,
3126        a4: i32,
3127    ) -> i32 {
3128        (self.GeoKernelViewer_FixPolygonJson)(a0, a1, a2, a3, a4)
3129    }
3130    /// Native declaration: `int GeoKernelViewer_FixPolylineJson( void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, int operation, wchar_t* buffer, int bufferLength)`.
3131    /// # Safety
3132    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3133    pub unsafe fn GeoKernelViewer_FixPolylineJson(
3134        &self,
3135        a0: *mut c_void,
3136        a1: *const f64,
3137        a2: *const i32,
3138        a3: i32,
3139        a4: i32,
3140        a5: *mut WChar,
3141        a6: i32,
3142    ) -> i32 {
3143        (self.GeoKernelViewer_FixPolylineJson)(a0, a1, a2, a3, a4, a5, a6)
3144    }
3145    /// Native declaration: `void GeoKernelViewer_FullExtent(void* viewer)`.
3146    /// # Safety
3147    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3148    pub unsafe fn GeoKernelViewer_FullExtent(&self, a0: *mut c_void) {
3149        (self.GeoKernelViewer_FullExtent)(a0)
3150    }
3151    /// Native declaration: `int GeoKernelViewer_GetActiveEditLayerIndex(void* viewer)`.
3152    /// # Safety
3153    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3154    pub unsafe fn GeoKernelViewer_GetActiveEditLayerIndex(&self, a0: *mut c_void) -> i32 {
3155        (self.GeoKernelViewer_GetActiveEditLayerIndex)(a0)
3156    }
3157    /// Native declaration: `int GeoKernelViewer_GetColorRampNamesJson(void* viewer, wchar_t* buffer, int bufferLength)`.
3158    /// # Safety
3159    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3160    pub unsafe fn GeoKernelViewer_GetColorRampNamesJson(
3161        &self,
3162        a0: *mut c_void,
3163        a1: *mut WChar,
3164        a2: i32,
3165    ) -> i32 {
3166        (self.GeoKernelViewer_GetColorRampNamesJson)(a0, a1, a2)
3167    }
3168    /// Native declaration: `int GeoKernelViewer_GetCoordinateSystemInfoJson(void* viewer, const wchar_t* definition, wchar_t* buffer, int bufferLength)`.
3169    /// # Safety
3170    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3171    pub unsafe fn GeoKernelViewer_GetCoordinateSystemInfoJson(
3172        &self,
3173        a0: *mut c_void,
3174        a1: *const WChar,
3175        a2: *mut WChar,
3176        a3: i32,
3177    ) -> i32 {
3178        (self.GeoKernelViewer_GetCoordinateSystemInfoJson)(a0, a1, a2, a3)
3179    }
3180    /// Native declaration: `int GeoKernelViewer_GetCurrentRenderBackendName(void* viewer, wchar_t* buffer, int bufferLength)`.
3181    /// # Safety
3182    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3183    pub unsafe fn GeoKernelViewer_GetCurrentRenderBackendName(
3184        &self,
3185        a0: *mut c_void,
3186        a1: *mut WChar,
3187        a2: i32,
3188    ) -> i32 {
3189        (self.GeoKernelViewer_GetCurrentRenderBackendName)(a0, a1, a2)
3190    }
3191    /// Native declaration: `int GeoKernelViewer_GetDefaultAttributesForLayerJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3192    /// # Safety
3193    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3194    pub unsafe fn GeoKernelViewer_GetDefaultAttributesForLayerJson(
3195        &self,
3196        a0: *mut c_void,
3197        a1: i32,
3198        a2: *mut WChar,
3199        a3: i32,
3200    ) -> i32 {
3201        (self.GeoKernelViewer_GetDefaultAttributesForLayerJson)(a0, a1, a2, a3)
3202    }
3203    /// Native declaration: `bool GeoKernelViewer_GetEditSnappingEnabled(void* viewer)`.
3204    /// # Safety
3205    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3206    pub unsafe fn GeoKernelViewer_GetEditSnappingEnabled(&self, a0: *mut c_void) -> bool {
3207        (self.GeoKernelViewer_GetEditSnappingEnabled)(a0)
3208    }
3209    /// Native declaration: `double GeoKernelViewer_GetEditSnappingTolerancePixels(void* viewer)`.
3210    /// # Safety
3211    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3212    pub unsafe fn GeoKernelViewer_GetEditSnappingTolerancePixels(&self, a0: *mut c_void) -> f64 {
3213        (self.GeoKernelViewer_GetEditSnappingTolerancePixels)(a0)
3214    }
3215    /// Native declaration: `int GeoKernelViewer_GetExtentOperationsJson(void* viewer, const wchar_t* requestJson, wchar_t* buffer, int bufferLength)`.
3216    /// # Safety
3217    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3218    pub unsafe fn GeoKernelViewer_GetExtentOperationsJson(
3219        &self,
3220        a0: *mut c_void,
3221        a1: *const WChar,
3222        a2: *mut WChar,
3223        a3: i32,
3224    ) -> i32 {
3225        (self.GeoKernelViewer_GetExtentOperationsJson)(a0, a1, a2, a3)
3226    }
3227    /// Native declaration: `int GeoKernelViewer_GetExtraInfoText(void* viewer, wchar_t* buffer, int bufferLength)`.
3228    /// # Safety
3229    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3230    pub unsafe fn GeoKernelViewer_GetExtraInfoText(
3231        &self,
3232        a0: *mut c_void,
3233        a1: *mut WChar,
3234        a2: i32,
3235    ) -> i32 {
3236        (self.GeoKernelViewer_GetExtraInfoText)(a0, a1, a2)
3237    }
3238    /// Native declaration: `double GeoKernelViewer_GetFPS(void* viewer)`.
3239    /// # Safety
3240    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3241    pub unsafe fn GeoKernelViewer_GetFPS(&self, a0: *mut c_void) -> f64 {
3242        (self.GeoKernelViewer_GetFPS)(a0)
3243    }
3244    /// Native declaration: `int GeoKernelViewer_GetLayerAttributeDefinitionsJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3245    /// # Safety
3246    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3247    pub unsafe fn GeoKernelViewer_GetLayerAttributeDefinitionsJson(
3248        &self,
3249        a0: *mut c_void,
3250        a1: i32,
3251        a2: *mut WChar,
3252        a3: i32,
3253    ) -> i32 {
3254        (self.GeoKernelViewer_GetLayerAttributeDefinitionsJson)(a0, a1, a2, a3)
3255    }
3256    /// Native declaration: `int GeoKernelViewer_GetLayerCount(void* viewer)`.
3257    /// # Safety
3258    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3259    pub unsafe fn GeoKernelViewer_GetLayerCount(&self, a0: *mut c_void) -> i32 {
3260        (self.GeoKernelViewer_GetLayerCount)(a0)
3261    }
3262    /// Native declaration: `int GeoKernelViewer_GetLayerDisplayText(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3263    /// # Safety
3264    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3265    pub unsafe fn GeoKernelViewer_GetLayerDisplayText(
3266        &self,
3267        a0: *mut c_void,
3268        a1: i32,
3269        a2: *mut WChar,
3270        a3: i32,
3271    ) -> i32 {
3272        (self.GeoKernelViewer_GetLayerDisplayText)(a0, a1, a2, a3)
3273    }
3274    /// Native declaration: `int GeoKernelViewer_GetLayerFeatureAttributesJson(void* viewer, int index, int rowIndex, wchar_t* buffer, int bufferLength)`.
3275    /// # Safety
3276    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3277    pub unsafe fn GeoKernelViewer_GetLayerFeatureAttributesJson(
3278        &self,
3279        a0: *mut c_void,
3280        a1: i32,
3281        a2: i32,
3282        a3: *mut WChar,
3283        a4: i32,
3284    ) -> i32 {
3285        (self.GeoKernelViewer_GetLayerFeatureAttributesJson)(a0, a1, a2, a3, a4)
3286    }
3287    /// Native declaration: `int GeoKernelViewer_GetLayerFeatureCount(void* viewer, int index)`.
3288    /// # Safety
3289    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3290    pub unsafe fn GeoKernelViewer_GetLayerFeatureCount(&self, a0: *mut c_void, a1: i32) -> i32 {
3291        (self.GeoKernelViewer_GetLayerFeatureCount)(a0, a1)
3292    }
3293    /// Native declaration: `int GeoKernelViewer_GetLayerInfoByNameJson(void* viewer, const wchar_t* name, wchar_t* buffer, int bufferLength)`.
3294    /// # Safety
3295    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3296    pub unsafe fn GeoKernelViewer_GetLayerInfoByNameJson(
3297        &self,
3298        a0: *mut c_void,
3299        a1: *const WChar,
3300        a2: *mut WChar,
3301        a3: i32,
3302    ) -> i32 {
3303        (self.GeoKernelViewer_GetLayerInfoByNameJson)(a0, a1, a2, a3)
3304    }
3305    /// Native declaration: `int GeoKernelViewer_GetLayerInfoJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3306    /// # Safety
3307    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3308    pub unsafe fn GeoKernelViewer_GetLayerInfoJson(
3309        &self,
3310        a0: *mut c_void,
3311        a1: i32,
3312        a2: *mut WChar,
3313        a3: i32,
3314    ) -> i32 {
3315        (self.GeoKernelViewer_GetLayerInfoJson)(a0, a1, a2, a3)
3316    }
3317    /// Native declaration: `bool GeoKernelViewer_GetLayerProjectedExtent(void* viewer, int index, GeoKernelViewerExtent* extent)`.
3318    /// # Safety
3319    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3320    pub unsafe fn GeoKernelViewer_GetLayerProjectedExtent(
3321        &self,
3322        a0: *mut c_void,
3323        a1: i32,
3324        a2: *mut GeoKernelViewerExtent,
3325    ) -> bool {
3326        (self.GeoKernelViewer_GetLayerProjectedExtent)(a0, a1, a2)
3327    }
3328    /// Native declaration: `int GeoKernelViewer_GetLayerShapeType(void* viewer, int index)`.
3329    /// # Safety
3330    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3331    pub unsafe fn GeoKernelViewer_GetLayerShapeType(&self, a0: *mut c_void, a1: i32) -> i32 {
3332        (self.GeoKernelViewer_GetLayerShapeType)(a0, a1)
3333    }
3334    /// Native declaration: `int GeoKernelViewer_GetLayerStyleJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3335    /// # Safety
3336    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3337    pub unsafe fn GeoKernelViewer_GetLayerStyleJson(
3338        &self,
3339        a0: *mut c_void,
3340        a1: i32,
3341        a2: *mut WChar,
3342        a3: i32,
3343    ) -> i32 {
3344        (self.GeoKernelViewer_GetLayerStyleJson)(a0, a1, a2, a3)
3345    }
3346    /// Native declaration: `int GeoKernelViewer_GetLayerSymbolRendererJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3347    /// # Safety
3348    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3349    pub unsafe fn GeoKernelViewer_GetLayerSymbolRendererJson(
3350        &self,
3351        a0: *mut c_void,
3352        a1: i32,
3353        a2: *mut WChar,
3354        a3: i32,
3355    ) -> i32 {
3356        (self.GeoKernelViewer_GetLayerSymbolRendererJson)(a0, a1, a2, a3)
3357    }
3358    /// Native declaration: `int GeoKernelViewer_GetLayersInfoJson(void* viewer, wchar_t* buffer, int bufferLength)`.
3359    /// # Safety
3360    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3361    pub unsafe fn GeoKernelViewer_GetLayersInfoJson(
3362        &self,
3363        a0: *mut c_void,
3364        a1: *mut WChar,
3365        a2: i32,
3366    ) -> i32 {
3367        (self.GeoKernelViewer_GetLayersInfoJson)(a0, a1, a2)
3368    }
3369    /// Native declaration: `int GeoKernelViewer_GetLinePointToleranceInfoJson( void* viewer, const double* lineXyPairs, int linePointCount, double pointX, double pointY, double tolerance, wchar_t* buffer, int bufferLength)`.
3370    /// # Safety
3371    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3372    pub unsafe fn GeoKernelViewer_GetLinePointToleranceInfoJson(
3373        &self,
3374        a0: *mut c_void,
3375        a1: *const f64,
3376        a2: i32,
3377        a3: f64,
3378        a4: f64,
3379        a5: f64,
3380        a6: *mut WChar,
3381        a7: i32,
3382    ) -> i32 {
3383        (self.GeoKernelViewer_GetLinePointToleranceInfoJson)(a0, a1, a2, a3, a4, a5, a6, a7)
3384    }
3385    /// Native declaration: `int GeoKernelViewer_GetLoggingModeName(void* viewer, wchar_t* buffer, int bufferLength)`.
3386    /// # Safety
3387    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3388    pub unsafe fn GeoKernelViewer_GetLoggingModeName(
3389        &self,
3390        a0: *mut c_void,
3391        a1: *mut WChar,
3392        a2: i32,
3393    ) -> i32 {
3394        (self.GeoKernelViewer_GetLoggingModeName)(a0, a1, a2)
3395    }
3396    /// Native declaration: `int GeoKernelViewer_GetMapBackgroundColor(void* viewer)`.
3397    /// # Safety
3398    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3399    pub unsafe fn GeoKernelViewer_GetMapBackgroundColor(&self, a0: *mut c_void) -> i32 {
3400        (self.GeoKernelViewer_GetMapBackgroundColor)(a0)
3401    }
3402    /// Native declaration: `double GeoKernelViewer_GetMapScale(void* viewer)`.
3403    /// # Safety
3404    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3405    pub unsafe fn GeoKernelViewer_GetMapScale(&self, a0: *mut c_void) -> f64 {
3406        (self.GeoKernelViewer_GetMapScale)(a0)
3407    }
3408    /// Native declaration: `double GeoKernelViewer_GetMeasureArea(void* viewer)`.
3409    /// # Safety
3410    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3411    pub unsafe fn GeoKernelViewer_GetMeasureArea(&self, a0: *mut c_void) -> f64 {
3412        (self.GeoKernelViewer_GetMeasureArea)(a0)
3413    }
3414    /// Native declaration: `int GeoKernelViewer_GetMeasureMode(void* viewer)`.
3415    /// # Safety
3416    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3417    pub unsafe fn GeoKernelViewer_GetMeasureMode(&self, a0: *mut c_void) -> i32 {
3418        (self.GeoKernelViewer_GetMeasureMode)(a0)
3419    }
3420    /// Native declaration: `int GeoKernelViewer_GetMeasureResultText(void* viewer, wchar_t* buffer, int bufferLength)`.
3421    /// # Safety
3422    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3423    pub unsafe fn GeoKernelViewer_GetMeasureResultText(
3424        &self,
3425        a0: *mut c_void,
3426        a1: *mut WChar,
3427        a2: i32,
3428    ) -> i32 {
3429        (self.GeoKernelViewer_GetMeasureResultText)(a0, a1, a2)
3430    }
3431    /// Native declaration: `bool GeoKernelViewer_GetMeasureToolActive(void* viewer)`.
3432    /// # Safety
3433    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3434    pub unsafe fn GeoKernelViewer_GetMeasureToolActive(&self, a0: *mut c_void) -> bool {
3435        (self.GeoKernelViewer_GetMeasureToolActive)(a0)
3436    }
3437    /// Native declaration: `double GeoKernelViewer_GetMeasureTotalDistance(void* viewer)`.
3438    /// # Safety
3439    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3440    pub unsafe fn GeoKernelViewer_GetMeasureTotalDistance(&self, a0: *mut c_void) -> f64 {
3441        (self.GeoKernelViewer_GetMeasureTotalDistance)(a0)
3442    }
3443    /// Native declaration: `bool GeoKernelViewer_GetMiniMapVisible(void* viewer)`.
3444    /// # Safety
3445    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3446    pub unsafe fn GeoKernelViewer_GetMiniMapVisible(&self, a0: *mut c_void) -> bool {
3447        (self.GeoKernelViewer_GetMiniMapVisible)(a0)
3448    }
3449    /// Native declaration: `std::uintptr_t GeoKernelViewer_GetNativeHandle(void* viewer)`.
3450    /// # Safety
3451    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3452    pub unsafe fn GeoKernelViewer_GetNativeHandle(&self, a0: *mut c_void) -> usize {
3453        (self.GeoKernelViewer_GetNativeHandle)(a0)
3454    }
3455    /// Native declaration: `int GeoKernelViewer_GetNewFeatureAttributesJson(void* viewer, wchar_t* buffer, int bufferLength)`.
3456    /// # Safety
3457    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3458    pub unsafe fn GeoKernelViewer_GetNewFeatureAttributesJson(
3459        &self,
3460        a0: *mut c_void,
3461        a1: *mut WChar,
3462        a2: i32,
3463    ) -> i32 {
3464        (self.GeoKernelViewer_GetNewFeatureAttributesJson)(a0, a1, a2)
3465    }
3466    /// Native declaration: `int GeoKernelViewer_GetPmTilesSourceLayersJson(const wchar_t* path, wchar_t* buffer, int bufferLength)`.
3467    /// # Safety
3468    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3469    pub unsafe fn GeoKernelViewer_GetPmTilesSourceLayersJson(
3470        &self,
3471        a0: *const WChar,
3472        a1: *mut WChar,
3473        a2: i32,
3474    ) -> i32 {
3475        (self.GeoKernelViewer_GetPmTilesSourceLayersJson)(a0, a1, a2)
3476    }
3477    /// Native declaration: `int GeoKernelViewer_GetPolygonCentroidInfoJson( void* viewer, const double* xyPairs, int pointCount, wchar_t* buffer, int bufferLength)`.
3478    /// # Safety
3479    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3480    pub unsafe fn GeoKernelViewer_GetPolygonCentroidInfoJson(
3481        &self,
3482        a0: *mut c_void,
3483        a1: *const f64,
3484        a2: i32,
3485        a3: *mut WChar,
3486        a4: i32,
3487    ) -> i32 {
3488        (self.GeoKernelViewer_GetPolygonCentroidInfoJson)(a0, a1, a2, a3, a4)
3489    }
3490    /// Native declaration: `int GeoKernelViewer_GetPolylineCrossingsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
3491    /// # Safety
3492    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3493    pub unsafe fn GeoKernelViewer_GetPolylineCrossingsJson(
3494        &self,
3495        a0: *mut c_void,
3496        a1: *const f64,
3497        a2: i32,
3498        a3: *const f64,
3499        a4: i32,
3500        a5: *mut WChar,
3501        a6: i32,
3502    ) -> i32 {
3503        (self.GeoKernelViewer_GetPolylineCrossingsJson)(a0, a1, a2, a3, a4, a5, a6)
3504    }
3505    /// Native declaration: `int GeoKernelViewer_GetRasterOverviewDiagnosticsJson(void* viewer, int index, bool runBenchmark, wchar_t* buffer, int bufferLength)`.
3506    /// # Safety
3507    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3508    pub unsafe fn GeoKernelViewer_GetRasterOverviewDiagnosticsJson(
3509        &self,
3510        a0: *mut c_void,
3511        a1: i32,
3512        a2: bool,
3513        a3: *mut WChar,
3514        a4: i32,
3515    ) -> i32 {
3516        (self.GeoKernelViewer_GetRasterOverviewDiagnosticsJson)(a0, a1, a2, a3, a4)
3517    }
3518    /// Native declaration: `int GeoKernelViewer_GetRasterTileCacheDiagnosticsJson(void* viewer, int index, bool runBenchmark, bool clearCache, wchar_t* buffer, int bufferLength)`.
3519    /// # Safety
3520    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3521    pub unsafe fn GeoKernelViewer_GetRasterTileCacheDiagnosticsJson(
3522        &self,
3523        a0: *mut c_void,
3524        a1: i32,
3525        a2: bool,
3526        a3: bool,
3527        a4: *mut WChar,
3528        a5: i32,
3529    ) -> i32 {
3530        (self.GeoKernelViewer_GetRasterTileCacheDiagnosticsJson)(a0, a1, a2, a3, a4, a5)
3531    }
3532    /// Native declaration: `int GeoKernelViewer_GetRasterWorldTransformJson(void* viewer, int index, double pixelX, double pixelY, wchar_t* buffer, int bufferLength)`.
3533    /// # Safety
3534    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3535    pub unsafe fn GeoKernelViewer_GetRasterWorldTransformJson(
3536        &self,
3537        a0: *mut c_void,
3538        a1: i32,
3539        a2: f64,
3540        a3: f64,
3541        a4: *mut WChar,
3542        a5: i32,
3543    ) -> i32 {
3544        (self.GeoKernelViewer_GetRasterWorldTransformJson)(a0, a1, a2, a3, a4, a5)
3545    }
3546    /// Native declaration: `int GeoKernelViewer_GetRenderBackendDiagnostics(void* viewer, wchar_t* buffer, int bufferLength)`.
3547    /// # Safety
3548    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3549    pub unsafe fn GeoKernelViewer_GetRenderBackendDiagnostics(
3550        &self,
3551        a0: *mut c_void,
3552        a1: *mut WChar,
3553        a2: i32,
3554    ) -> i32 {
3555        (self.GeoKernelViewer_GetRenderBackendDiagnostics)(a0, a1, a2)
3556    }
3557    /// Native declaration: `int GeoKernelViewer_GetRenderBackendPreference(void* viewer)`.
3558    /// # Safety
3559    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3560    pub unsafe fn GeoKernelViewer_GetRenderBackendPreference(&self, a0: *mut c_void) -> i32 {
3561        (self.GeoKernelViewer_GetRenderBackendPreference)(a0)
3562    }
3563    /// Native declaration: `int GeoKernelViewer_GetRenderBackendPreferenceName(void* viewer, wchar_t* buffer, int bufferLength)`.
3564    /// # Safety
3565    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3566    pub unsafe fn GeoKernelViewer_GetRenderBackendPreferenceName(
3567        &self,
3568        a0: *mut c_void,
3569        a1: *mut WChar,
3570        a2: i32,
3571    ) -> i32 {
3572        (self.GeoKernelViewer_GetRenderBackendPreferenceName)(a0, a1, a2)
3573    }
3574    /// Native declaration: `bool GeoKernelViewer_GetRenderDebugFile(void* viewer)`.
3575    /// # Safety
3576    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3577    pub unsafe fn GeoKernelViewer_GetRenderDebugFile(&self, a0: *mut c_void) -> bool {
3578        (self.GeoKernelViewer_GetRenderDebugFile)(a0)
3579    }
3580    /// Native declaration: `bool GeoKernelViewer_GetRenderDebugWindow(void* viewer)`.
3581    /// # Safety
3582    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3583    pub unsafe fn GeoKernelViewer_GetRenderDebugWindow(&self, a0: *mut c_void) -> bool {
3584        (self.GeoKernelViewer_GetRenderDebugWindow)(a0)
3585    }
3586    /// Native declaration: `int GeoKernelViewer_GetRenderMetricsLogPath(void* viewer, wchar_t* buffer, int bufferLength)`.
3587    /// # Safety
3588    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3589    pub unsafe fn GeoKernelViewer_GetRenderMetricsLogPath(
3590        &self,
3591        a0: *mut c_void,
3592        a1: *mut WChar,
3593        a2: i32,
3594    ) -> i32 {
3595        (self.GeoKernelViewer_GetRenderMetricsLogPath)(a0, a1, a2)
3596    }
3597    /// Native declaration: `bool GeoKernelViewer_GetRenderMetricsVisible(void* viewer)`.
3598    /// # Safety
3599    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3600    pub unsafe fn GeoKernelViewer_GetRenderMetricsVisible(&self, a0: *mut c_void) -> bool {
3601        (self.GeoKernelViewer_GetRenderMetricsVisible)(a0)
3602    }
3603    /// Native declaration: `bool GeoKernelViewer_GetRenderStepLog(void* viewer)`.
3604    /// # Safety
3605    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3606    pub unsafe fn GeoKernelViewer_GetRenderStepLog(&self, a0: *mut c_void) -> bool {
3607        (self.GeoKernelViewer_GetRenderStepLog)(a0)
3608    }
3609    /// Native declaration: `int GeoKernelViewer_GetRenderStepLogPath(void* viewer, wchar_t* buffer, int bufferLength)`.
3610    /// # Safety
3611    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3612    pub unsafe fn GeoKernelViewer_GetRenderStepLogPath(
3613        &self,
3614        a0: *mut c_void,
3615        a1: *mut WChar,
3616        a2: i32,
3617    ) -> i32 {
3618        (self.GeoKernelViewer_GetRenderStepLogPath)(a0, a1, a2)
3619    }
3620    /// Native declaration: `int GeoKernelViewer_GetRoutingGraphEdgeCount(void* viewer)`.
3621    /// # Safety
3622    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3623    pub unsafe fn GeoKernelViewer_GetRoutingGraphEdgeCount(&self, a0: *mut c_void) -> i32 {
3624        (self.GeoKernelViewer_GetRoutingGraphEdgeCount)(a0)
3625    }
3626    /// Native declaration: `int GeoKernelViewer_GetRoutingGraphJson(void* viewer, wchar_t* buffer, int bufferLength)`.
3627    /// # Safety
3628    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3629    pub unsafe fn GeoKernelViewer_GetRoutingGraphJson(
3630        &self,
3631        a0: *mut c_void,
3632        a1: *mut WChar,
3633        a2: i32,
3634    ) -> i32 {
3635        (self.GeoKernelViewer_GetRoutingGraphJson)(a0, a1, a2)
3636    }
3637    /// Native declaration: `int GeoKernelViewer_GetRoutingGraphLayerIndex(void* viewer)`.
3638    /// # Safety
3639    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3640    pub unsafe fn GeoKernelViewer_GetRoutingGraphLayerIndex(&self, a0: *mut c_void) -> i32 {
3641        (self.GeoKernelViewer_GetRoutingGraphLayerIndex)(a0)
3642    }
3643    /// Native declaration: `int GeoKernelViewer_GetRoutingGraphNodeCount(void* viewer)`.
3644    /// # Safety
3645    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3646    pub unsafe fn GeoKernelViewer_GetRoutingGraphNodeCount(&self, a0: *mut c_void) -> i32 {
3647        (self.GeoKernelViewer_GetRoutingGraphNodeCount)(a0)
3648    }
3649    /// Native declaration: `bool GeoKernelViewer_GetScaleBarVisible(void* viewer)`.
3650    /// # Safety
3651    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3652    pub unsafe fn GeoKernelViewer_GetScaleBarVisible(&self, a0: *mut c_void) -> bool {
3653        (self.GeoKernelViewer_GetScaleBarVisible)(a0)
3654    }
3655    /// Native declaration: `int GeoKernelViewer_GetSelectedFeatureCount(void* viewer)`.
3656    /// # Safety
3657    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3658    pub unsafe fn GeoKernelViewer_GetSelectedFeatureCount(&self, a0: *mut c_void) -> i32 {
3659        (self.GeoKernelViewer_GetSelectedFeatureCount)(a0)
3660    }
3661    /// Native declaration: `int GeoKernelViewer_GetSelectedFeaturesJson(void* viewer, wchar_t* buffer, int bufferLength)`.
3662    /// # Safety
3663    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3664    pub unsafe fn GeoKernelViewer_GetSelectedFeaturesJson(
3665        &self,
3666        a0: *mut c_void,
3667        a1: *mut WChar,
3668        a2: i32,
3669    ) -> i32 {
3670        (self.GeoKernelViewer_GetSelectedFeaturesJson)(a0, a1, a2)
3671    }
3672    /// Native declaration: `bool GeoKernelViewer_GetShowExtraInfo(void* viewer)`.
3673    /// # Safety
3674    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3675    pub unsafe fn GeoKernelViewer_GetShowExtraInfo(&self, a0: *mut c_void) -> bool {
3676        (self.GeoKernelViewer_GetShowExtraInfo)(a0)
3677    }
3678    /// Native declaration: `bool GeoKernelViewer_GetShowFPS(void* viewer)`.
3679    /// # Safety
3680    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3681    pub unsafe fn GeoKernelViewer_GetShowFPS(&self, a0: *mut c_void) -> bool {
3682        (self.GeoKernelViewer_GetShowFPS)(a0)
3683    }
3684    /// Native declaration: `int GeoKernelViewer_GetSpatialIndexType(void* viewer)`.
3685    /// # Safety
3686    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3687    pub unsafe fn GeoKernelViewer_GetSpatialIndexType(&self, a0: *mut c_void) -> i32 {
3688        (self.GeoKernelViewer_GetSpatialIndexType)(a0)
3689    }
3690    /// Native declaration: `int GeoKernelViewer_GetTool(void* viewer)`.
3691    /// # Safety
3692    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3693    pub unsafe fn GeoKernelViewer_GetTool(&self, a0: *mut c_void) -> i32 {
3694        (self.GeoKernelViewer_GetTool)(a0)
3695    }
3696    /// Native declaration: `bool GeoKernelViewer_GetUseHardwareAcceleration(void* viewer)`.
3697    /// # Safety
3698    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3699    pub unsafe fn GeoKernelViewer_GetUseHardwareAcceleration(&self, a0: *mut c_void) -> bool {
3700        (self.GeoKernelViewer_GetUseHardwareAcceleration)(a0)
3701    }
3702    /// Native declaration: `bool GeoKernelViewer_GetVerboseMode(void* viewer)`.
3703    /// # Safety
3704    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3705    pub unsafe fn GeoKernelViewer_GetVerboseMode(&self, a0: *mut c_void) -> bool {
3706        (self.GeoKernelViewer_GetVerboseMode)(a0)
3707    }
3708    /// Native declaration: `bool GeoKernelViewer_GetViewExtent(void* viewer, GeoKernelViewerExtent* extent)`.
3709    /// # Safety
3710    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3711    pub unsafe fn GeoKernelViewer_GetViewExtent(
3712        &self,
3713        a0: *mut c_void,
3714        a1: *mut GeoKernelViewerExtent,
3715    ) -> bool {
3716        (self.GeoKernelViewer_GetViewExtent)(a0, a1)
3717    }
3718    /// Native declaration: `int GeoKernelViewer_GetXyzLayerDiagnosticsJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
3719    /// # Safety
3720    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3721    pub unsafe fn GeoKernelViewer_GetXyzLayerDiagnosticsJson(
3722        &self,
3723        a0: *mut c_void,
3724        a1: i32,
3725        a2: *mut WChar,
3726        a3: i32,
3727    ) -> i32 {
3728        (self.GeoKernelViewer_GetXyzLayerDiagnosticsJson)(a0, a1, a2, a3)
3729    }
3730    /// Native declaration: `bool GeoKernelViewer_HasActiveEditSketch(void* viewer)`.
3731    /// # Safety
3732    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3733    pub unsafe fn GeoKernelViewer_HasActiveEditSketch(&self, a0: *mut c_void) -> bool {
3734        (self.GeoKernelViewer_HasActiveEditSketch)(a0)
3735    }
3736    /// Native declaration: `bool GeoKernelViewer_HasRoutingGraph(void* viewer)`.
3737    /// # Safety
3738    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3739    pub unsafe fn GeoKernelViewer_HasRoutingGraph(&self, a0: *mut c_void) -> bool {
3740        (self.GeoKernelViewer_HasRoutingGraph)(a0)
3741    }
3742    /// Native declaration: `int GeoKernelViewer_HitTestFeatureCountInExtent(void* viewer, double xMin, double yMin, double xMax, double yMax)`.
3743    /// # Safety
3744    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3745    pub unsafe fn GeoKernelViewer_HitTestFeatureCountInExtent(
3746        &self,
3747        a0: *mut c_void,
3748        a1: f64,
3749        a2: f64,
3750        a3: f64,
3751        a4: f64,
3752    ) -> i32 {
3753        (self.GeoKernelViewer_HitTestFeatureCountInExtent)(a0, a1, a2, a3, a4)
3754    }
3755    /// Native declaration: `int GeoKernelViewer_HitTestFeaturesAtJson(void* viewer, double screenX, double screenY, int pixelTolerance, wchar_t* buffer, int bufferLength)`.
3756    /// # Safety
3757    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3758    pub unsafe fn GeoKernelViewer_HitTestFeaturesAtJson(
3759        &self,
3760        a0: *mut c_void,
3761        a1: f64,
3762        a2: f64,
3763        a3: i32,
3764        a4: *mut WChar,
3765        a5: i32,
3766    ) -> i32 {
3767        (self.GeoKernelViewer_HitTestFeaturesAtJson)(a0, a1, a2, a3, a4, a5)
3768    }
3769    /// Native declaration: `int GeoKernelViewer_HitTestFeaturesInExtentJson(void* viewer, double xMin, double yMin, double xMax, double yMax, wchar_t* buffer, int bufferLength)`.
3770    /// # Safety
3771    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3772    pub unsafe fn GeoKernelViewer_HitTestFeaturesInExtentJson(
3773        &self,
3774        a0: *mut c_void,
3775        a1: f64,
3776        a2: f64,
3777        a3: f64,
3778        a4: f64,
3779        a5: *mut WChar,
3780        a6: i32,
3781    ) -> i32 {
3782        (self.GeoKernelViewer_HitTestFeaturesInExtentJson)(a0, a1, a2, a3, a4, a5, a6)
3783    }
3784    /// Native declaration: `int GeoKernelViewer_HitTestFeaturesInScreenRectJson(void* viewer, int left, int top, int right, int bottom, wchar_t* buffer, int bufferLength)`.
3785    /// # Safety
3786    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3787    pub unsafe fn GeoKernelViewer_HitTestFeaturesInScreenRectJson(
3788        &self,
3789        a0: *mut c_void,
3790        a1: i32,
3791        a2: i32,
3792        a3: i32,
3793        a4: i32,
3794        a5: *mut WChar,
3795        a6: i32,
3796    ) -> i32 {
3797        (self.GeoKernelViewer_HitTestFeaturesInScreenRectJson)(a0, a1, a2, a3, a4, a5, a6)
3798    }
3799    /// Native declaration: `int GeoKernelViewer_HitTestFeaturesJson(void* viewer, double worldX, double worldY, double worldTolerance, wchar_t* buffer, int bufferLength)`.
3800    /// # Safety
3801    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3802    pub unsafe fn GeoKernelViewer_HitTestFeaturesJson(
3803        &self,
3804        a0: *mut c_void,
3805        a1: f64,
3806        a2: f64,
3807        a3: f64,
3808        a4: *mut WChar,
3809        a5: i32,
3810    ) -> i32 {
3811        (self.GeoKernelViewer_HitTestFeaturesJson)(a0, a1, a2, a3, a4, a5)
3812    }
3813    /// Native declaration: `int GeoKernelViewer_HitTestTopFeatureAtJson(void* viewer, double screenX, double screenY, int pixelTolerance, wchar_t* buffer, int bufferLength)`.
3814    /// # Safety
3815    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3816    pub unsafe fn GeoKernelViewer_HitTestTopFeatureAtJson(
3817        &self,
3818        a0: *mut c_void,
3819        a1: f64,
3820        a2: f64,
3821        a3: i32,
3822        a4: *mut WChar,
3823        a5: i32,
3824    ) -> i32 {
3825        (self.GeoKernelViewer_HitTestTopFeatureAtJson)(a0, a1, a2, a3, a4, a5)
3826    }
3827    /// Native declaration: `bool GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer(void* viewer, int partIndex, int insertIndex, double worldX, double worldY)`.
3828    /// # Safety
3829    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3830    pub unsafe fn GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer(
3831        &self,
3832        a0: *mut c_void,
3833        a1: i32,
3834        a2: i32,
3835        a3: f64,
3836        a4: f64,
3837    ) -> bool {
3838        (self.GeoKernelViewer_InsertSelectedFeatureVertexInEditLayer)(a0, a1, a2, a3, a4)
3839    }
3840    /// Native declaration: `int GeoKernelViewer_IntersectionPolygonsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
3841    /// # Safety
3842    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3843    pub unsafe fn GeoKernelViewer_IntersectionPolygonsJson(
3844        &self,
3845        a0: *mut c_void,
3846        a1: *const f64,
3847        a2: i32,
3848        a3: *const f64,
3849        a4: i32,
3850        a5: *mut WChar,
3851        a6: i32,
3852    ) -> i32 {
3853        (self.GeoKernelViewer_IntersectionPolygonsJson)(a0, a1, a2, a3, a4, a5, a6)
3854    }
3855    /// Native declaration: `void GeoKernelViewer_InvalidateRenderCache(void* viewer, bool clearTileCache, bool clearLayerCache)`.
3856    /// # Safety
3857    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3858    pub unsafe fn GeoKernelViewer_InvalidateRenderCache(
3859        &self,
3860        a0: *mut c_void,
3861        a1: bool,
3862        a2: bool,
3863    ) {
3864        (self.GeoKernelViewer_InvalidateRenderCache)(a0, a1, a2)
3865    }
3866    /// Native declaration: `bool GeoKernelViewer_IsLayerDirty(void* viewer, int index)`.
3867    /// # Safety
3868    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3869    pub unsafe fn GeoKernelViewer_IsLayerDirty(&self, a0: *mut c_void, a1: i32) -> bool {
3870        (self.GeoKernelViewer_IsLayerDirty)(a0, a1)
3871    }
3872    /// Native declaration: `bool GeoKernelViewer_IsLayerEditing(void* viewer, int index)`.
3873    /// # Safety
3874    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3875    pub unsafe fn GeoKernelViewer_IsLayerEditing(&self, a0: *mut c_void, a1: i32) -> bool {
3876        (self.GeoKernelViewer_IsLayerEditing)(a0, a1)
3877    }
3878    /// Native declaration: `bool GeoKernelViewer_MoveLayer(void* viewer, int fromIndex, int toIndex)`.
3879    /// # Safety
3880    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3881    pub unsafe fn GeoKernelViewer_MoveLayer(&self, a0: *mut c_void, a1: i32, a2: i32) -> bool {
3882        (self.GeoKernelViewer_MoveLayer)(a0, a1, a2)
3883    }
3884    /// Native declaration: `bool GeoKernelViewer_MoveSelectedFeaturesInEditLayer(void* viewer, double deltaX, double deltaY)`.
3885    /// # Safety
3886    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3887    pub unsafe fn GeoKernelViewer_MoveSelectedFeaturesInEditLayer(
3888        &self,
3889        a0: *mut c_void,
3890        a1: f64,
3891        a2: f64,
3892    ) -> bool {
3893        (self.GeoKernelViewer_MoveSelectedFeaturesInEditLayer)(a0, a1, a2)
3894    }
3895    /// Native declaration: `bool GeoKernelViewer_OpenProject(void* viewer, const wchar_t* path)`.
3896    /// # Safety
3897    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3898    pub unsafe fn GeoKernelViewer_OpenProject(&self, a0: *mut c_void, a1: *const WChar) -> bool {
3899        (self.GeoKernelViewer_OpenProject)(a0, a1)
3900    }
3901    /// Native declaration: `bool GeoKernelViewer_OpenProjectWithProgress( void* viewer, const wchar_t* path, GeoKernelViewerLayerLoadProgressCallback progressCallback, void* context)`.
3902    /// # Safety
3903    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3904    pub unsafe fn GeoKernelViewer_OpenProjectWithProgress(
3905        &self,
3906        a0: *mut c_void,
3907        a1: *const WChar,
3908        a2: GeoKernelViewerLayerLoadProgressCallback,
3909        a3: *mut c_void,
3910    ) -> bool {
3911        (self.GeoKernelViewer_OpenProjectWithProgress)(a0, a1, a2, a3)
3912    }
3913    /// Native declaration: `void GeoKernelViewer_ProcessEvents()`.
3914    /// # Safety
3915    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3916    pub unsafe fn GeoKernelViewer_ProcessEvents(&self) {
3917        (self.GeoKernelViewer_ProcessEvents)()
3918    }
3919    /// Native declaration: `int GeoKernelViewer_ReadGeoJsonGeometryJson(void* viewer, const wchar_t* geoJson, wchar_t* buffer, int bufferLength)`.
3920    /// # Safety
3921    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3922    pub unsafe fn GeoKernelViewer_ReadGeoJsonGeometryJson(
3923        &self,
3924        a0: *mut c_void,
3925        a1: *const WChar,
3926        a2: *mut WChar,
3927        a3: i32,
3928    ) -> i32 {
3929        (self.GeoKernelViewer_ReadGeoJsonGeometryJson)(a0, a1, a2, a3)
3930    }
3931    /// Native declaration: `int GeoKernelViewer_ReadGeoJsonLineStringJson(void* viewer, const wchar_t* geoJson, wchar_t* buffer, int bufferLength)`.
3932    /// # Safety
3933    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3934    pub unsafe fn GeoKernelViewer_ReadGeoJsonLineStringJson(
3935        &self,
3936        a0: *mut c_void,
3937        a1: *const WChar,
3938        a2: *mut WChar,
3939        a3: i32,
3940    ) -> i32 {
3941        (self.GeoKernelViewer_ReadGeoJsonLineStringJson)(a0, a1, a2, a3)
3942    }
3943    /// Native declaration: `bool GeoKernelViewer_ReadGeoJsonPoint(void* viewer, const wchar_t* geoJson, double* x, double* y)`.
3944    /// # Safety
3945    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3946    pub unsafe fn GeoKernelViewer_ReadGeoJsonPoint(
3947        &self,
3948        a0: *mut c_void,
3949        a1: *const WChar,
3950        a2: *mut f64,
3951        a3: *mut f64,
3952    ) -> bool {
3953        (self.GeoKernelViewer_ReadGeoJsonPoint)(a0, a1, a2, a3)
3954    }
3955    /// Native declaration: `int GeoKernelViewer_ReadGeoJsonPolygonJson(void* viewer, const wchar_t* geoJson, wchar_t* buffer, int bufferLength)`.
3956    /// # Safety
3957    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3958    pub unsafe fn GeoKernelViewer_ReadGeoJsonPolygonJson(
3959        &self,
3960        a0: *mut c_void,
3961        a1: *const WChar,
3962        a2: *mut WChar,
3963        a3: i32,
3964    ) -> i32 {
3965        (self.GeoKernelViewer_ReadGeoJsonPolygonJson)(a0, a1, a2, a3)
3966    }
3967    /// Native declaration: `int GeoKernelViewer_ReadWkbGeometryJson(void* viewer, const unsigned char* bytes, int byteCount, wchar_t* buffer, int bufferLength)`.
3968    /// # Safety
3969    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3970    pub unsafe fn GeoKernelViewer_ReadWkbGeometryJson(
3971        &self,
3972        a0: *mut c_void,
3973        a1: *const u8,
3974        a2: i32,
3975        a3: *mut WChar,
3976        a4: i32,
3977    ) -> i32 {
3978        (self.GeoKernelViewer_ReadWkbGeometryJson)(a0, a1, a2, a3, a4)
3979    }
3980    /// Native declaration: `int GeoKernelViewer_ReadWkbLineStringJson(void* viewer, const unsigned char* bytes, int byteCount, wchar_t* buffer, int bufferLength)`.
3981    /// # Safety
3982    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3983    pub unsafe fn GeoKernelViewer_ReadWkbLineStringJson(
3984        &self,
3985        a0: *mut c_void,
3986        a1: *const u8,
3987        a2: i32,
3988        a3: *mut WChar,
3989        a4: i32,
3990    ) -> i32 {
3991        (self.GeoKernelViewer_ReadWkbLineStringJson)(a0, a1, a2, a3, a4)
3992    }
3993    /// Native declaration: `bool GeoKernelViewer_ReadWkbPoint(void* viewer, const unsigned char* bytes, int byteCount, double* x, double* y)`.
3994    /// # Safety
3995    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
3996    pub unsafe fn GeoKernelViewer_ReadWkbPoint(
3997        &self,
3998        a0: *mut c_void,
3999        a1: *const u8,
4000        a2: i32,
4001        a3: *mut f64,
4002        a4: *mut f64,
4003    ) -> bool {
4004        (self.GeoKernelViewer_ReadWkbPoint)(a0, a1, a2, a3, a4)
4005    }
4006    /// Native declaration: `int GeoKernelViewer_ReadWkbPolygonJson(void* viewer, const unsigned char* bytes, int byteCount, bool multiPolygon, wchar_t* buffer, int bufferLength)`.
4007    /// # Safety
4008    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4009    pub unsafe fn GeoKernelViewer_ReadWkbPolygonJson(
4010        &self,
4011        a0: *mut c_void,
4012        a1: *const u8,
4013        a2: i32,
4014        a3: bool,
4015        a4: *mut WChar,
4016        a5: i32,
4017    ) -> i32 {
4018        (self.GeoKernelViewer_ReadWkbPolygonJson)(a0, a1, a2, a3, a4, a5)
4019    }
4020    /// Native declaration: `int GeoKernelViewer_ReadWktLineStringJson(void* viewer, const wchar_t* wkt, wchar_t* buffer, int bufferLength)`.
4021    /// # Safety
4022    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4023    pub unsafe fn GeoKernelViewer_ReadWktLineStringJson(
4024        &self,
4025        a0: *mut c_void,
4026        a1: *const WChar,
4027        a2: *mut WChar,
4028        a3: i32,
4029    ) -> i32 {
4030        (self.GeoKernelViewer_ReadWktLineStringJson)(a0, a1, a2, a3)
4031    }
4032    /// Native declaration: `bool GeoKernelViewer_ReadWktPoint(void* viewer, const wchar_t* wkt, double* x, double* y)`.
4033    /// # Safety
4034    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4035    pub unsafe fn GeoKernelViewer_ReadWktPoint(
4036        &self,
4037        a0: *mut c_void,
4038        a1: *const WChar,
4039        a2: *mut f64,
4040        a3: *mut f64,
4041    ) -> bool {
4042        (self.GeoKernelViewer_ReadWktPoint)(a0, a1, a2, a3)
4043    }
4044    /// Native declaration: `int GeoKernelViewer_ReadWktPolygonJson(void* viewer, const wchar_t* wkt, bool multiPolygon, wchar_t* buffer, int bufferLength)`.
4045    /// # Safety
4046    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4047    pub unsafe fn GeoKernelViewer_ReadWktPolygonJson(
4048        &self,
4049        a0: *mut c_void,
4050        a1: *const WChar,
4051        a2: bool,
4052        a3: *mut WChar,
4053        a4: i32,
4054    ) -> i32 {
4055        (self.GeoKernelViewer_ReadWktPolygonJson)(a0, a1, a2, a3, a4)
4056    }
4057    /// Native declaration: `bool GeoKernelViewer_RedoEditLayer(void* viewer, int index)`.
4058    /// # Safety
4059    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4060    pub unsafe fn GeoKernelViewer_RedoEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
4061        (self.GeoKernelViewer_RedoEditLayer)(a0, a1)
4062    }
4063    /// Native declaration: `void GeoKernelViewer_RefreshLayers(void* viewer)`.
4064    /// # Safety
4065    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4066    pub unsafe fn GeoKernelViewer_RefreshLayers(&self, a0: *mut c_void) {
4067        (self.GeoKernelViewer_RefreshLayers)(a0)
4068    }
4069    /// Native declaration: `int GeoKernelViewer_RelatePolygonRings( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
4070    /// # Safety
4071    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4072    pub unsafe fn GeoKernelViewer_RelatePolygonRings(
4073        &self,
4074        a0: *mut c_void,
4075        a1: *const f64,
4076        a2: i32,
4077        a3: *const f64,
4078        a4: i32,
4079        a5: *mut WChar,
4080        a6: i32,
4081    ) -> i32 {
4082        (self.GeoKernelViewer_RelatePolygonRings)(a0, a1, a2, a3, a4, a5, a6)
4083    }
4084    /// Native declaration: `bool GeoKernelViewer_RelatePolygonRingsPattern( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* pattern)`.
4085    /// # Safety
4086    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4087    pub unsafe fn GeoKernelViewer_RelatePolygonRingsPattern(
4088        &self,
4089        a0: *mut c_void,
4090        a1: *const f64,
4091        a2: i32,
4092        a3: *const f64,
4093        a4: i32,
4094        a5: *const WChar,
4095    ) -> bool {
4096        (self.GeoKernelViewer_RelatePolygonRingsPattern)(a0, a1, a2, a3, a4, a5)
4097    }
4098    /// Native declaration: `int GeoKernelViewer_RelatePolylines( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
4099    /// # Safety
4100    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4101    pub unsafe fn GeoKernelViewer_RelatePolylines(
4102        &self,
4103        a0: *mut c_void,
4104        a1: *const f64,
4105        a2: i32,
4106        a3: *const f64,
4107        a4: i32,
4108        a5: *mut WChar,
4109        a6: i32,
4110    ) -> i32 {
4111        (self.GeoKernelViewer_RelatePolylines)(a0, a1, a2, a3, a4, a5, a6)
4112    }
4113    /// Native declaration: `bool GeoKernelViewer_RelatePolylinesPattern( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, const wchar_t* pattern)`.
4114    /// # Safety
4115    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4116    pub unsafe fn GeoKernelViewer_RelatePolylinesPattern(
4117        &self,
4118        a0: *mut c_void,
4119        a1: *const f64,
4120        a2: i32,
4121        a3: *const f64,
4122        a4: i32,
4123        a5: *const WChar,
4124    ) -> bool {
4125        (self.GeoKernelViewer_RelatePolylinesPattern)(a0, a1, a2, a3, a4, a5)
4126    }
4127    /// Native declaration: `bool GeoKernelViewer_RemoveExternalLayer(void* viewer, void* layer)`.
4128    /// # Safety
4129    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4130    pub unsafe fn GeoKernelViewer_RemoveExternalLayer(
4131        &self,
4132        a0: *mut c_void,
4133        a1: *mut c_void,
4134    ) -> bool {
4135        (self.GeoKernelViewer_RemoveExternalLayer)(a0, a1)
4136    }
4137    /// Native declaration: `bool GeoKernelViewer_RemoveLayer(void* viewer, int index)`.
4138    /// # Safety
4139    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4140    pub unsafe fn GeoKernelViewer_RemoveLayer(&self, a0: *mut c_void, a1: i32) -> bool {
4141        (self.GeoKernelViewer_RemoveLayer)(a0, a1)
4142    }
4143    /// Native declaration: `bool GeoKernelViewer_RemoveLayerByName(void* viewer, const wchar_t* name)`.
4144    /// # Safety
4145    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4146    pub unsafe fn GeoKernelViewer_RemoveLayerByName(
4147        &self,
4148        a0: *mut c_void,
4149        a1: *const WChar,
4150    ) -> bool {
4151        (self.GeoKernelViewer_RemoveLayerByName)(a0, a1)
4152    }
4153    /// Native declaration: `bool GeoKernelViewer_RemoveOverlayShape(void* viewer, const wchar_t* id)`.
4154    /// # Safety
4155    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4156    pub unsafe fn GeoKernelViewer_RemoveOverlayShape(
4157        &self,
4158        a0: *mut c_void,
4159        a1: *const WChar,
4160    ) -> bool {
4161        (self.GeoKernelViewer_RemoveOverlayShape)(a0, a1)
4162    }
4163    /// Native declaration: `void GeoKernelViewer_Resize(void* viewer, int width, int height)`.
4164    /// # Safety
4165    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4166    pub unsafe fn GeoKernelViewer_Resize(&self, a0: *mut c_void, a1: i32, a2: i32) {
4167        (self.GeoKernelViewer_Resize)(a0, a1, a2)
4168    }
4169    /// Native declaration: `bool GeoKernelViewer_RollbackEditLayer(void* viewer, int index)`.
4170    /// # Safety
4171    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4172    pub unsafe fn GeoKernelViewer_RollbackEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
4173        (self.GeoKernelViewer_RollbackEditLayer)(a0, a1)
4174    }
4175    /// Native declaration: `bool GeoKernelViewer_SaveLayerAsShapefile(void* viewer, int index, const wchar_t* path)`.
4176    /// # Safety
4177    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4178    pub unsafe fn GeoKernelViewer_SaveLayerAsShapefile(
4179        &self,
4180        a0: *mut c_void,
4181        a1: i32,
4182        a2: *const WChar,
4183    ) -> bool {
4184        (self.GeoKernelViewer_SaveLayerAsShapefile)(a0, a1, a2)
4185    }
4186    /// Native declaration: `bool GeoKernelViewer_SaveProject(void* viewer, const wchar_t* path)`.
4187    /// # Safety
4188    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4189    pub unsafe fn GeoKernelViewer_SaveProject(&self, a0: *mut c_void, a1: *const WChar) -> bool {
4190        (self.GeoKernelViewer_SaveProject)(a0, a1)
4191    }
4192    /// Native declaration: `bool GeoKernelViewer_ScreenToWorld(void* viewer, double screenX, double screenY, double* worldX, double* worldY)`.
4193    /// # Safety
4194    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4195    pub unsafe fn GeoKernelViewer_ScreenToWorld(
4196        &self,
4197        a0: *mut c_void,
4198        a1: f64,
4199        a2: f64,
4200        a3: *mut f64,
4201        a4: *mut f64,
4202    ) -> bool {
4203        (self.GeoKernelViewer_ScreenToWorld)(a0, a1, a2, a3, a4)
4204    }
4205    /// Native declaration: `bool GeoKernelViewer_SelectFeatureHit( void* viewer, double worldX, double worldY, double worldTolerance, int layerIndex, int shapeId, int featureId)`.
4206    /// # Safety
4207    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4208    pub unsafe fn GeoKernelViewer_SelectFeatureHit(
4209        &self,
4210        a0: *mut c_void,
4211        a1: f64,
4212        a2: f64,
4213        a3: f64,
4214        a4: i32,
4215        a5: i32,
4216        a6: i32,
4217    ) -> bool {
4218        (self.GeoKernelViewer_SelectFeatureHit)(a0, a1, a2, a3, a4, a5, a6)
4219    }
4220    /// Native declaration: `int GeoKernelViewer_SelectFeaturesInScreenRect(void* viewer, int x, int y, int width, int height, int selectionMode)`.
4221    /// # Safety
4222    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4223    pub unsafe fn GeoKernelViewer_SelectFeaturesInScreenRect(
4224        &self,
4225        a0: *mut c_void,
4226        a1: i32,
4227        a2: i32,
4228        a3: i32,
4229        a4: i32,
4230        a5: i32,
4231    ) -> i32 {
4232        (self.GeoKernelViewer_SelectFeaturesInScreenRect)(a0, a1, a2, a3, a4, a5)
4233    }
4234    /// Native declaration: `bool GeoKernelViewer_SelectTopFeatureAt(void* viewer, double screenX, double screenY, int pixelTolerance)`.
4235    /// # Safety
4236    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4237    pub unsafe fn GeoKernelViewer_SelectTopFeatureAt(
4238        &self,
4239        a0: *mut c_void,
4240        a1: f64,
4241        a2: f64,
4242        a3: i32,
4243    ) -> bool {
4244        (self.GeoKernelViewer_SelectTopFeatureAt)(a0, a1, a2, a3)
4245    }
4246    /// Native declaration: `void GeoKernelViewer_SetActivationTypeName(void* viewer, const wchar_t* activationType)`.
4247    /// # Safety
4248    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4249    pub unsafe fn GeoKernelViewer_SetActivationTypeName(&self, a0: *mut c_void, a1: *const WChar) {
4250        (self.GeoKernelViewer_SetActivationTypeName)(a0, a1)
4251    }
4252    /// Native declaration: `bool GeoKernelViewer_SetActiveEditLayerIndex(void* viewer, int index)`.
4253    /// # Safety
4254    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4255    pub unsafe fn GeoKernelViewer_SetActiveEditLayerIndex(&self, a0: *mut c_void, a1: i32) -> bool {
4256        (self.GeoKernelViewer_SetActiveEditLayerIndex)(a0, a1)
4257    }
4258    /// Native declaration: `bool GeoKernelViewer_SetCoordinateSystemPreset(void* viewer, const wchar_t* preset)`.
4259    /// # Safety
4260    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4261    pub unsafe fn GeoKernelViewer_SetCoordinateSystemPreset(
4262        &self,
4263        a0: *mut c_void,
4264        a1: *const WChar,
4265    ) -> bool {
4266        (self.GeoKernelViewer_SetCoordinateSystemPreset)(a0, a1)
4267    }
4268    /// Native declaration: `void GeoKernelViewer_SetEditSnappingEnabled(void* viewer, bool enabled)`.
4269    /// # Safety
4270    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4271    pub unsafe fn GeoKernelViewer_SetEditSnappingEnabled(&self, a0: *mut c_void, a1: bool) {
4272        (self.GeoKernelViewer_SetEditSnappingEnabled)(a0, a1)
4273    }
4274    /// Native declaration: `void GeoKernelViewer_SetEditSnappingTolerancePixels(void* viewer, double tolerance)`.
4275    /// # Safety
4276    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4277    pub unsafe fn GeoKernelViewer_SetEditSnappingTolerancePixels(&self, a0: *mut c_void, a1: f64) {
4278        (self.GeoKernelViewer_SetEditSnappingTolerancePixels)(a0, a1)
4279    }
4280    /// Native declaration: `void GeoKernelViewer_SetEventCallback(void* viewer, GeoKernelViewerEventCallback callback, void* context)`.
4281    /// # Safety
4282    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4283    pub unsafe fn GeoKernelViewer_SetEventCallback(
4284        &self,
4285        a0: *mut c_void,
4286        a1: GeoKernelViewerEventCallback,
4287        a2: *mut c_void,
4288    ) {
4289        (self.GeoKernelViewer_SetEventCallback)(a0, a1, a2)
4290    }
4291    /// Native declaration: `void GeoKernelViewer_SetExtraInfoText(void* viewer, const wchar_t* value)`.
4292    /// # Safety
4293    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4294    pub unsafe fn GeoKernelViewer_SetExtraInfoText(&self, a0: *mut c_void, a1: *const WChar) {
4295        (self.GeoKernelViewer_SetExtraInfoText)(a0, a1)
4296    }
4297    /// Native declaration: `bool GeoKernelViewer_SetFeatureAttributesInEditLayerJson(void* viewer, int index, int shapeId, int featureId, const wchar_t* attributesJson)`.
4298    /// # Safety
4299    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4300    pub unsafe fn GeoKernelViewer_SetFeatureAttributesInEditLayerJson(
4301        &self,
4302        a0: *mut c_void,
4303        a1: i32,
4304        a2: i32,
4305        a3: i32,
4306        a4: *const WChar,
4307    ) -> bool {
4308        (self.GeoKernelViewer_SetFeatureAttributesInEditLayerJson)(a0, a1, a2, a3, a4)
4309    }
4310    /// Native declaration: `bool GeoKernelViewer_SetLayerCoordinateSystemPreset(void* viewer, int index, const wchar_t* preset)`.
4311    /// # Safety
4312    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4313    pub unsafe fn GeoKernelViewer_SetLayerCoordinateSystemPreset(
4314        &self,
4315        a0: *mut c_void,
4316        a1: i32,
4317        a2: *const WChar,
4318    ) -> bool {
4319        (self.GeoKernelViewer_SetLayerCoordinateSystemPreset)(a0, a1, a2)
4320    }
4321    /// Native declaration: `bool GeoKernelViewer_SetLayerName(void* viewer, int index, const wchar_t* name)`.
4322    /// # Safety
4323    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4324    pub unsafe fn GeoKernelViewer_SetLayerName(
4325        &self,
4326        a0: *mut c_void,
4327        a1: i32,
4328        a2: *const WChar,
4329    ) -> bool {
4330        (self.GeoKernelViewer_SetLayerName)(a0, a1, a2)
4331    }
4332    /// Native declaration: `bool GeoKernelViewer_SetLayerOpacity(void* viewer, int index, double opacity)`.
4333    /// # Safety
4334    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4335    pub unsafe fn GeoKernelViewer_SetLayerOpacity(
4336        &self,
4337        a0: *mut c_void,
4338        a1: i32,
4339        a2: f64,
4340    ) -> bool {
4341        (self.GeoKernelViewer_SetLayerOpacity)(a0, a1, a2)
4342    }
4343    /// Native declaration: `bool GeoKernelViewer_SetLayerStyleJson(void* viewer, int index, const wchar_t* json)`.
4344    /// # Safety
4345    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4346    pub unsafe fn GeoKernelViewer_SetLayerStyleJson(
4347        &self,
4348        a0: *mut c_void,
4349        a1: i32,
4350        a2: *const WChar,
4351    ) -> bool {
4352        (self.GeoKernelViewer_SetLayerStyleJson)(a0, a1, a2)
4353    }
4354    /// Native declaration: `bool GeoKernelViewer_SetLayerSymbolRendererJson(void* viewer, int index, const wchar_t* json)`.
4355    /// # Safety
4356    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4357    pub unsafe fn GeoKernelViewer_SetLayerSymbolRendererJson(
4358        &self,
4359        a0: *mut c_void,
4360        a1: i32,
4361        a2: *const WChar,
4362    ) -> bool {
4363        (self.GeoKernelViewer_SetLayerSymbolRendererJson)(a0, a1, a2)
4364    }
4365    /// Native declaration: `bool GeoKernelViewer_SetLayerVisible(void* viewer, int index, bool visible)`.
4366    /// # Safety
4367    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4368    pub unsafe fn GeoKernelViewer_SetLayerVisible(
4369        &self,
4370        a0: *mut c_void,
4371        a1: i32,
4372        a2: bool,
4373    ) -> bool {
4374        (self.GeoKernelViewer_SetLayerVisible)(a0, a1, a2)
4375    }
4376    /// Native declaration: `bool GeoKernelViewer_SetLayerVisibleScaleRange(void* viewer, int index, double minVisibleScale, double maxVisibleScale)`.
4377    /// # Safety
4378    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4379    pub unsafe fn GeoKernelViewer_SetLayerVisibleScaleRange(
4380        &self,
4381        a0: *mut c_void,
4382        a1: i32,
4383        a2: f64,
4384        a3: f64,
4385    ) -> bool {
4386        (self.GeoKernelViewer_SetLayerVisibleScaleRange)(a0, a1, a2, a3)
4387    }
4388    /// Native declaration: `void GeoKernelViewer_SetLicenseKey(void* viewer, const wchar_t* licenseKey)`.
4389    /// # Safety
4390    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4391    pub unsafe fn GeoKernelViewer_SetLicenseKey(&self, a0: *mut c_void, a1: *const WChar) {
4392        (self.GeoKernelViewer_SetLicenseKey)(a0, a1)
4393    }
4394    /// Native declaration: `void GeoKernelViewer_SetLicenseManagerUrl(void* viewer, const wchar_t* licenseManagerUrl)`.
4395    /// # Safety
4396    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4397    pub unsafe fn GeoKernelViewer_SetLicenseManagerUrl(&self, a0: *mut c_void, a1: *const WChar) {
4398        (self.GeoKernelViewer_SetLicenseManagerUrl)(a0, a1)
4399    }
4400    /// Native declaration: `void GeoKernelViewer_SetLoggingModeName(void* viewer, const wchar_t* value)`.
4401    /// # Safety
4402    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4403    pub unsafe fn GeoKernelViewer_SetLoggingModeName(&self, a0: *mut c_void, a1: *const WChar) {
4404        (self.GeoKernelViewer_SetLoggingModeName)(a0, a1)
4405    }
4406    /// Native declaration: `void GeoKernelViewer_SetMapBackgroundColor(void* viewer, int argb)`.
4407    /// # Safety
4408    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4409    pub unsafe fn GeoKernelViewer_SetMapBackgroundColor(&self, a0: *mut c_void, a1: i32) {
4410        (self.GeoKernelViewer_SetMapBackgroundColor)(a0, a1)
4411    }
4412    /// Native declaration: `bool GeoKernelViewer_SetMapStyleName(void* viewer, const wchar_t* themeName, bool applyToExistingLayers)`.
4413    /// # Safety
4414    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4415    pub unsafe fn GeoKernelViewer_SetMapStyleName(
4416        &self,
4417        a0: *mut c_void,
4418        a1: *const WChar,
4419        a2: bool,
4420    ) -> bool {
4421        (self.GeoKernelViewer_SetMapStyleName)(a0, a1, a2)
4422    }
4423    /// Native declaration: `void GeoKernelViewer_SetMeasureColors(void* viewer, int lineArgb, int fillArgb, int textArgb, int labelBackgroundArgb)`.
4424    /// # Safety
4425    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4426    pub unsafe fn GeoKernelViewer_SetMeasureColors(
4427        &self,
4428        a0: *mut c_void,
4429        a1: i32,
4430        a2: i32,
4431        a3: i32,
4432        a4: i32,
4433    ) {
4434        (self.GeoKernelViewer_SetMeasureColors)(a0, a1, a2, a3, a4)
4435    }
4436    /// Native declaration: `void GeoKernelViewer_SetMeasureMode(void* viewer, int mode)`.
4437    /// # Safety
4438    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4439    pub unsafe fn GeoKernelViewer_SetMeasureMode(&self, a0: *mut c_void, a1: i32) {
4440        (self.GeoKernelViewer_SetMeasureMode)(a0, a1)
4441    }
4442    /// Native declaration: `void GeoKernelViewer_SetMeasureToolActive(void* viewer, bool active)`.
4443    /// # Safety
4444    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4445    pub unsafe fn GeoKernelViewer_SetMeasureToolActive(&self, a0: *mut c_void, a1: bool) {
4446        (self.GeoKernelViewer_SetMeasureToolActive)(a0, a1)
4447    }
4448    /// Native declaration: `void GeoKernelViewer_SetMiniMapAnchor(void* viewer, int anchor)`.
4449    /// # Safety
4450    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4451    pub unsafe fn GeoKernelViewer_SetMiniMapAnchor(&self, a0: *mut c_void, a1: i32) {
4452        (self.GeoKernelViewer_SetMiniMapAnchor)(a0, a1)
4453    }
4454    /// Native declaration: `void GeoKernelViewer_SetMiniMapBackgroundColor(void* viewer, int backgroundArgb)`.
4455    /// # Safety
4456    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4457    pub unsafe fn GeoKernelViewer_SetMiniMapBackgroundColor(&self, a0: *mut c_void, a1: i32) {
4458        (self.GeoKernelViewer_SetMiniMapBackgroundColor)(a0, a1)
4459    }
4460    /// Native declaration: `void GeoKernelViewer_SetMiniMapVisible(void* viewer, bool visible)`.
4461    /// # Safety
4462    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4463    pub unsafe fn GeoKernelViewer_SetMiniMapVisible(&self, a0: *mut c_void, a1: bool) {
4464        (self.GeoKernelViewer_SetMiniMapVisible)(a0, a1)
4465    }
4466    /// Native declaration: `void GeoKernelViewer_SetNewFeatureAttributesJson(void* viewer, const wchar_t* attributesJson)`.
4467    /// # Safety
4468    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4469    pub unsafe fn GeoKernelViewer_SetNewFeatureAttributesJson(
4470        &self,
4471        a0: *mut c_void,
4472        a1: *const WChar,
4473    ) {
4474        (self.GeoKernelViewer_SetNewFeatureAttributesJson)(a0, a1)
4475    }
4476    /// Native declaration: `bool GeoKernelViewer_SetOverlayPoint(void* viewer, const wchar_t* id, double x, double y, const wchar_t* styleJson)`.
4477    /// # Safety
4478    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4479    pub unsafe fn GeoKernelViewer_SetOverlayPoint(
4480        &self,
4481        a0: *mut c_void,
4482        a1: *const WChar,
4483        a2: f64,
4484        a3: f64,
4485        a4: *const WChar,
4486    ) -> bool {
4487        (self.GeoKernelViewer_SetOverlayPoint)(a0, a1, a2, a3, a4)
4488    }
4489    /// Native declaration: `void GeoKernelViewer_SetRenderBackendPreference(void* viewer, int value)`.
4490    /// # Safety
4491    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4492    pub unsafe fn GeoKernelViewer_SetRenderBackendPreference(&self, a0: *mut c_void, a1: i32) {
4493        (self.GeoKernelViewer_SetRenderBackendPreference)(a0, a1)
4494    }
4495    /// Native declaration: `void GeoKernelViewer_SetRenderBackendPreferenceName(void* viewer, const wchar_t* value)`.
4496    /// # Safety
4497    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4498    pub unsafe fn GeoKernelViewer_SetRenderBackendPreferenceName(
4499        &self,
4500        a0: *mut c_void,
4501        a1: *const WChar,
4502    ) {
4503        (self.GeoKernelViewer_SetRenderBackendPreferenceName)(a0, a1)
4504    }
4505    /// Native declaration: `void GeoKernelViewer_SetRenderDebugFile(void* viewer, bool enabled)`.
4506    /// # Safety
4507    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4508    pub unsafe fn GeoKernelViewer_SetRenderDebugFile(&self, a0: *mut c_void, a1: bool) {
4509        (self.GeoKernelViewer_SetRenderDebugFile)(a0, a1)
4510    }
4511    /// Native declaration: `void GeoKernelViewer_SetRenderDebugWindow(void* viewer, bool enabled)`.
4512    /// # Safety
4513    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4514    pub unsafe fn GeoKernelViewer_SetRenderDebugWindow(&self, a0: *mut c_void, a1: bool) {
4515        (self.GeoKernelViewer_SetRenderDebugWindow)(a0, a1)
4516    }
4517    /// Native declaration: `void GeoKernelViewer_SetRenderMetricsLogPath(void* viewer, const wchar_t* path)`.
4518    /// # Safety
4519    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4520    pub unsafe fn GeoKernelViewer_SetRenderMetricsLogPath(
4521        &self,
4522        a0: *mut c_void,
4523        a1: *const WChar,
4524    ) {
4525        (self.GeoKernelViewer_SetRenderMetricsLogPath)(a0, a1)
4526    }
4527    /// Native declaration: `void GeoKernelViewer_SetRenderMetricsVisible(void* viewer, bool visible)`.
4528    /// # Safety
4529    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4530    pub unsafe fn GeoKernelViewer_SetRenderMetricsVisible(&self, a0: *mut c_void, a1: bool) {
4531        (self.GeoKernelViewer_SetRenderMetricsVisible)(a0, a1)
4532    }
4533    /// Native declaration: `void GeoKernelViewer_SetRenderStepLog(void* viewer, bool enabled)`.
4534    /// # Safety
4535    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4536    pub unsafe fn GeoKernelViewer_SetRenderStepLog(&self, a0: *mut c_void, a1: bool) {
4537        (self.GeoKernelViewer_SetRenderStepLog)(a0, a1)
4538    }
4539    /// Native declaration: `void GeoKernelViewer_SetRenderStepLogPath(void* viewer, const wchar_t* path)`.
4540    /// # Safety
4541    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4542    pub unsafe fn GeoKernelViewer_SetRenderStepLogPath(&self, a0: *mut c_void, a1: *const WChar) {
4543        (self.GeoKernelViewer_SetRenderStepLogPath)(a0, a1)
4544    }
4545    /// Native declaration: `void GeoKernelViewer_SetScaleBarAnchor(void* viewer, int anchor)`.
4546    /// # Safety
4547    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4548    pub unsafe fn GeoKernelViewer_SetScaleBarAnchor(&self, a0: *mut c_void, a1: i32) {
4549        (self.GeoKernelViewer_SetScaleBarAnchor)(a0, a1)
4550    }
4551    /// Native declaration: `void GeoKernelViewer_SetScaleBarColors(void* viewer, int backgroundArgb, int lineArgb, int textArgb)`.
4552    /// # Safety
4553    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4554    pub unsafe fn GeoKernelViewer_SetScaleBarColors(
4555        &self,
4556        a0: *mut c_void,
4557        a1: i32,
4558        a2: i32,
4559        a3: i32,
4560    ) {
4561        (self.GeoKernelViewer_SetScaleBarColors)(a0, a1, a2, a3)
4562    }
4563    /// Native declaration: `void GeoKernelViewer_SetScaleBarVisible(void* viewer, bool visible)`.
4564    /// # Safety
4565    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4566    pub unsafe fn GeoKernelViewer_SetScaleBarVisible(&self, a0: *mut c_void, a1: bool) {
4567        (self.GeoKernelViewer_SetScaleBarVisible)(a0, a1)
4568    }
4569    /// Native declaration: `bool GeoKernelViewer_SetShapeAttributesInEditLayerJson(void* viewer, int index, int shapeId, const wchar_t* attributesJson)`.
4570    /// # Safety
4571    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4572    pub unsafe fn GeoKernelViewer_SetShapeAttributesInEditLayerJson(
4573        &self,
4574        a0: *mut c_void,
4575        a1: i32,
4576        a2: i32,
4577        a3: *const WChar,
4578    ) -> bool {
4579        (self.GeoKernelViewer_SetShapeAttributesInEditLayerJson)(a0, a1, a2, a3)
4580    }
4581    /// Native declaration: `void GeoKernelViewer_SetShowExtraInfo(void* viewer, bool enabled)`.
4582    /// # Safety
4583    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4584    pub unsafe fn GeoKernelViewer_SetShowExtraInfo(&self, a0: *mut c_void, a1: bool) {
4585        (self.GeoKernelViewer_SetShowExtraInfo)(a0, a1)
4586    }
4587    /// Native declaration: `void GeoKernelViewer_SetShowFPS(void* viewer, bool enabled)`.
4588    /// # Safety
4589    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4590    pub unsafe fn GeoKernelViewer_SetShowFPS(&self, a0: *mut c_void, a1: bool) {
4591        (self.GeoKernelViewer_SetShowFPS)(a0, a1)
4592    }
4593    /// Native declaration: `void GeoKernelViewer_SetSpatialIndexType(void* viewer, int value)`.
4594    /// # Safety
4595    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4596    pub unsafe fn GeoKernelViewer_SetSpatialIndexType(&self, a0: *mut c_void, a1: i32) {
4597        (self.GeoKernelViewer_SetSpatialIndexType)(a0, a1)
4598    }
4599    /// Native declaration: `void GeoKernelViewer_SetTool(void* viewer, int tool)`.
4600    /// # Safety
4601    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4602    pub unsafe fn GeoKernelViewer_SetTool(&self, a0: *mut c_void, a1: i32) {
4603        (self.GeoKernelViewer_SetTool)(a0, a1)
4604    }
4605    /// Native declaration: `void GeoKernelViewer_SetUseHardwareAcceleration(void* viewer, bool enabled)`.
4606    /// # Safety
4607    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4608    pub unsafe fn GeoKernelViewer_SetUseHardwareAcceleration(&self, a0: *mut c_void, a1: bool) {
4609        (self.GeoKernelViewer_SetUseHardwareAcceleration)(a0, a1)
4610    }
4611    /// Native declaration: `void GeoKernelViewer_SetVerboseMode(void* viewer, bool enabled)`.
4612    /// # Safety
4613    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4614    pub unsafe fn GeoKernelViewer_SetVerboseMode(&self, a0: *mut c_void, a1: bool) {
4615        (self.GeoKernelViewer_SetVerboseMode)(a0, a1)
4616    }
4617    /// Native declaration: `void GeoKernelViewer_SetViewExtent(void* viewer, GeoKernelViewerExtent extent)`.
4618    /// # Safety
4619    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4620    pub unsafe fn GeoKernelViewer_SetViewExtent(&self, a0: *mut c_void, a1: GeoKernelViewerExtent) {
4621        (self.GeoKernelViewer_SetViewExtent)(a0, a1)
4622    }
4623    /// Native declaration: `void GeoKernelViewer_Show(void* viewer)`.
4624    /// # Safety
4625    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4626    pub unsafe fn GeoKernelViewer_Show(&self, a0: *mut c_void) {
4627        (self.GeoKernelViewer_Show)(a0)
4628    }
4629    /// Native declaration: `bool GeoKernelViewer_ShutdownApplication()`.
4630    /// # Safety
4631    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4632    pub unsafe fn GeoKernelViewer_ShutdownApplication(&self) -> bool {
4633        (self.GeoKernelViewer_ShutdownApplication)()
4634    }
4635    /// Native declaration: `int GeoKernelViewer_SimplifyPolygonRingJson( void* viewer, const double* xyPairs, int pointCount, double tolerance, wchar_t* buffer, int bufferLength)`.
4636    /// # Safety
4637    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4638    pub unsafe fn GeoKernelViewer_SimplifyPolygonRingJson(
4639        &self,
4640        a0: *mut c_void,
4641        a1: *const f64,
4642        a2: i32,
4643        a3: f64,
4644        a4: *mut WChar,
4645        a5: i32,
4646    ) -> i32 {
4647        (self.GeoKernelViewer_SimplifyPolygonRingJson)(a0, a1, a2, a3, a4, a5)
4648    }
4649    /// Native declaration: `int GeoKernelViewer_SplitPolygonByArcJson( void* viewer, const double* polygonXyPairs, int polygonPointCount, const double* arcXyPairs, int arcPointCount, wchar_t* buffer, int bufferLength)`.
4650    /// # Safety
4651    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4652    pub unsafe fn GeoKernelViewer_SplitPolygonByArcJson(
4653        &self,
4654        a0: *mut c_void,
4655        a1: *const f64,
4656        a2: i32,
4657        a3: *const f64,
4658        a4: i32,
4659        a5: *mut WChar,
4660        a6: i32,
4661    ) -> i32 {
4662        (self.GeoKernelViewer_SplitPolygonByArcJson)(a0, a1, a2, a3, a4, a5, a6)
4663    }
4664    /// Native declaration: `void GeoKernelViewer_StartMeasureArea(void* viewer)`.
4665    /// # Safety
4666    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4667    pub unsafe fn GeoKernelViewer_StartMeasureArea(&self, a0: *mut c_void) {
4668        (self.GeoKernelViewer_StartMeasureArea)(a0)
4669    }
4670    /// Native declaration: `void GeoKernelViewer_StartMeasureDistance(void* viewer)`.
4671    /// # Safety
4672    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4673    pub unsafe fn GeoKernelViewer_StartMeasureDistance(&self, a0: *mut c_void) {
4674        (self.GeoKernelViewer_StartMeasureDistance)(a0)
4675    }
4676    /// Native declaration: `int GeoKernelViewer_SymmetricalDifferencePolygonsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
4677    /// # Safety
4678    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4679    pub unsafe fn GeoKernelViewer_SymmetricalDifferencePolygonsJson(
4680        &self,
4681        a0: *mut c_void,
4682        a1: *const f64,
4683        a2: i32,
4684        a3: *const f64,
4685        a4: i32,
4686        a5: *mut WChar,
4687        a6: i32,
4688    ) -> i32 {
4689        (self.GeoKernelViewer_SymmetricalDifferencePolygonsJson)(a0, a1, a2, a3, a4, a5, a6)
4690    }
4691    /// Native declaration: `bool GeoKernelViewer_ToggleTopFeatureSelectionAt(void* viewer, double screenX, double screenY, int pixelTolerance)`.
4692    /// # Safety
4693    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4694    pub unsafe fn GeoKernelViewer_ToggleTopFeatureSelectionAt(
4695        &self,
4696        a0: *mut c_void,
4697        a1: f64,
4698        a2: f64,
4699        a3: i32,
4700    ) -> bool {
4701        (self.GeoKernelViewer_ToggleTopFeatureSelectionAt)(a0, a1, a2, a3)
4702    }
4703    /// Native declaration: `bool GeoKernelViewer_TransformPoint(int sourceEpsg, int targetEpsg, double x, double y, double* transformedX, double* transformedY)`.
4704    /// # Safety
4705    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4706    pub unsafe fn GeoKernelViewer_TransformPoint(
4707        &self,
4708        a0: i32,
4709        a1: i32,
4710        a2: f64,
4711        a3: f64,
4712        a4: *mut f64,
4713        a5: *mut f64,
4714    ) -> bool {
4715        (self.GeoKernelViewer_TransformPoint)(a0, a1, a2, a3, a4, a5)
4716    }
4717    /// Native declaration: `bool GeoKernelViewer_UndoEditLayer(void* viewer, int index)`.
4718    /// # Safety
4719    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4720    pub unsafe fn GeoKernelViewer_UndoEditLayer(&self, a0: *mut c_void, a1: i32) -> bool {
4721        (self.GeoKernelViewer_UndoEditLayer)(a0, a1)
4722    }
4723    /// Native declaration: `int GeoKernelViewer_UnionPolygonsJson( void* viewer, const double* leftXyPairs, int leftPointCount, const double* rightXyPairs, int rightPointCount, wchar_t* buffer, int bufferLength)`.
4724    /// # Safety
4725    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4726    pub unsafe fn GeoKernelViewer_UnionPolygonsJson(
4727        &self,
4728        a0: *mut c_void,
4729        a1: *const f64,
4730        a2: i32,
4731        a3: *const f64,
4732        a4: i32,
4733        a5: *mut WChar,
4734        a6: i32,
4735    ) -> i32 {
4736        (self.GeoKernelViewer_UnionPolygonsJson)(a0, a1, a2, a3, a4, a5, a6)
4737    }
4738    /// Native declaration: `int GeoKernelViewer_UnionPolygonsOnListJson( void* viewer, const double* xyPairs, const int* polygonPointCounts, int polygonCount, wchar_t* buffer, int bufferLength)`.
4739    /// # Safety
4740    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4741    pub unsafe fn GeoKernelViewer_UnionPolygonsOnListJson(
4742        &self,
4743        a0: *mut c_void,
4744        a1: *const f64,
4745        a2: *const i32,
4746        a3: i32,
4747        a4: *mut WChar,
4748        a5: i32,
4749    ) -> i32 {
4750        (self.GeoKernelViewer_UnionPolygonsOnListJson)(a0, a1, a2, a3, a4, a5)
4751    }
4752    /// Native declaration: `bool GeoKernelViewer_WorldToScreen(void* viewer, double worldX, double worldY, double* screenX, double* screenY)`.
4753    /// # Safety
4754    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4755    pub unsafe fn GeoKernelViewer_WorldToScreen(
4756        &self,
4757        a0: *mut c_void,
4758        a1: f64,
4759        a2: f64,
4760        a3: *mut f64,
4761        a4: *mut f64,
4762    ) -> bool {
4763        (self.GeoKernelViewer_WorldToScreen)(a0, a1, a2, a3, a4)
4764    }
4765    /// Native declaration: `int GeoKernelViewer_WriteGeoJsonLineString(void* viewer, const double* xyPairs, int pointCount, wchar_t* buffer, int bufferLength)`.
4766    /// # Safety
4767    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4768    pub unsafe fn GeoKernelViewer_WriteGeoJsonLineString(
4769        &self,
4770        a0: *mut c_void,
4771        a1: *const f64,
4772        a2: i32,
4773        a3: *mut WChar,
4774        a4: i32,
4775    ) -> i32 {
4776        (self.GeoKernelViewer_WriteGeoJsonLineString)(a0, a1, a2, a3, a4)
4777    }
4778    /// Native declaration: `int GeoKernelViewer_WriteGeoJsonPoint(void* viewer, double x, double y, wchar_t* buffer, int bufferLength)`.
4779    /// # Safety
4780    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4781    pub unsafe fn GeoKernelViewer_WriteGeoJsonPoint(
4782        &self,
4783        a0: *mut c_void,
4784        a1: f64,
4785        a2: f64,
4786        a3: *mut WChar,
4787        a4: i32,
4788    ) -> i32 {
4789        (self.GeoKernelViewer_WriteGeoJsonPoint)(a0, a1, a2, a3, a4)
4790    }
4791    /// Native declaration: `int GeoKernelViewer_WriteGeoJsonPolygon(void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, wchar_t* buffer, int bufferLength)`.
4792    /// # Safety
4793    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4794    pub unsafe fn GeoKernelViewer_WriteGeoJsonPolygon(
4795        &self,
4796        a0: *mut c_void,
4797        a1: *const f64,
4798        a2: *const i32,
4799        a3: i32,
4800        a4: *mut WChar,
4801        a5: i32,
4802    ) -> i32 {
4803        (self.GeoKernelViewer_WriteGeoJsonPolygon)(a0, a1, a2, a3, a4, a5)
4804    }
4805    /// Native declaration: `int GeoKernelViewer_WriteLayerLastShapeGeoJson(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
4806    /// # Safety
4807    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4808    pub unsafe fn GeoKernelViewer_WriteLayerLastShapeGeoJson(
4809        &self,
4810        a0: *mut c_void,
4811        a1: i32,
4812        a2: *mut WChar,
4813        a3: i32,
4814    ) -> i32 {
4815        (self.GeoKernelViewer_WriteLayerLastShapeGeoJson)(a0, a1, a2, a3)
4816    }
4817    /// Native declaration: `int GeoKernelViewer_WriteLayerLastShapeWkb(void* viewer, int index, unsigned char* buffer, int bufferLength)`.
4818    /// # Safety
4819    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4820    pub unsafe fn GeoKernelViewer_WriteLayerLastShapeWkb(
4821        &self,
4822        a0: *mut c_void,
4823        a1: i32,
4824        a2: *mut u8,
4825        a3: i32,
4826    ) -> i32 {
4827        (self.GeoKernelViewer_WriteLayerLastShapeWkb)(a0, a1, a2, a3)
4828    }
4829    /// Native declaration: `int GeoKernelViewer_WriteLayerLastShapeWkt(void* viewer, int index, wchar_t* buffer, int bufferLength)`.
4830    /// # Safety
4831    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4832    pub unsafe fn GeoKernelViewer_WriteLayerLastShapeWkt(
4833        &self,
4834        a0: *mut c_void,
4835        a1: i32,
4836        a2: *mut WChar,
4837        a3: i32,
4838    ) -> i32 {
4839        (self.GeoKernelViewer_WriteLayerLastShapeWkt)(a0, a1, a2, a3)
4840    }
4841    /// Native declaration: `int GeoKernelViewer_WriteWkbLineString(void* viewer, const double* xyPairs, int pointCount, unsigned char* buffer, int bufferLength)`.
4842    /// # Safety
4843    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4844    pub unsafe fn GeoKernelViewer_WriteWkbLineString(
4845        &self,
4846        a0: *mut c_void,
4847        a1: *const f64,
4848        a2: i32,
4849        a3: *mut u8,
4850        a4: i32,
4851    ) -> i32 {
4852        (self.GeoKernelViewer_WriteWkbLineString)(a0, a1, a2, a3, a4)
4853    }
4854    /// Native declaration: `int GeoKernelViewer_WriteWkbPoint(void* viewer, double x, double y, unsigned char* buffer, int bufferLength)`.
4855    /// # Safety
4856    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4857    pub unsafe fn GeoKernelViewer_WriteWkbPoint(
4858        &self,
4859        a0: *mut c_void,
4860        a1: f64,
4861        a2: f64,
4862        a3: *mut u8,
4863        a4: i32,
4864    ) -> i32 {
4865        (self.GeoKernelViewer_WriteWkbPoint)(a0, a1, a2, a3, a4)
4866    }
4867    /// Native declaration: `int GeoKernelViewer_WriteWkbPolygon(void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, unsigned char* buffer, int bufferLength)`.
4868    /// # Safety
4869    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4870    pub unsafe fn GeoKernelViewer_WriteWkbPolygon(
4871        &self,
4872        a0: *mut c_void,
4873        a1: *const f64,
4874        a2: *const i32,
4875        a3: i32,
4876        a4: *mut u8,
4877        a5: i32,
4878    ) -> i32 {
4879        (self.GeoKernelViewer_WriteWkbPolygon)(a0, a1, a2, a3, a4, a5)
4880    }
4881    /// Native declaration: `int GeoKernelViewer_WriteWktLineString(void* viewer, const double* xyPairs, int pointCount, wchar_t* buffer, int bufferLength)`.
4882    /// # Safety
4883    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4884    pub unsafe fn GeoKernelViewer_WriteWktLineString(
4885        &self,
4886        a0: *mut c_void,
4887        a1: *const f64,
4888        a2: i32,
4889        a3: *mut WChar,
4890        a4: i32,
4891    ) -> i32 {
4892        (self.GeoKernelViewer_WriteWktLineString)(a0, a1, a2, a3, a4)
4893    }
4894    /// Native declaration: `int GeoKernelViewer_WriteWktPoint(void* viewer, double x, double y, wchar_t* buffer, int bufferLength)`.
4895    /// # Safety
4896    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4897    pub unsafe fn GeoKernelViewer_WriteWktPoint(
4898        &self,
4899        a0: *mut c_void,
4900        a1: f64,
4901        a2: f64,
4902        a3: *mut WChar,
4903        a4: i32,
4904    ) -> i32 {
4905        (self.GeoKernelViewer_WriteWktPoint)(a0, a1, a2, a3, a4)
4906    }
4907    /// Native declaration: `int GeoKernelViewer_WriteWktPolygon(void* viewer, const double* xyPairs, const int* partPointCounts, int partCount, wchar_t* buffer, int bufferLength)`.
4908    /// # Safety
4909    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4910    pub unsafe fn GeoKernelViewer_WriteWktPolygon(
4911        &self,
4912        a0: *mut c_void,
4913        a1: *const f64,
4914        a2: *const i32,
4915        a3: i32,
4916        a4: *mut WChar,
4917        a5: i32,
4918    ) -> i32 {
4919        (self.GeoKernelViewer_WriteWktPolygon)(a0, a1, a2, a3, a4, a5)
4920    }
4921    /// Native declaration: `void GeoKernelViewer_ZoomAtPoint(void* viewer, int screenX, int screenY, double factor)`.
4922    /// # Safety
4923    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4924    pub unsafe fn GeoKernelViewer_ZoomAtPoint(&self, a0: *mut c_void, a1: i32, a2: i32, a3: f64) {
4925        (self.GeoKernelViewer_ZoomAtPoint)(a0, a1, a2, a3)
4926    }
4927    /// Native declaration: `void GeoKernelViewer_ZoomIn(void* viewer, double factor)`.
4928    /// # Safety
4929    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4930    pub unsafe fn GeoKernelViewer_ZoomIn(&self, a0: *mut c_void, a1: f64) {
4931        (self.GeoKernelViewer_ZoomIn)(a0, a1)
4932    }
4933    /// Native declaration: `void GeoKernelViewer_ZoomOut(void* viewer, double factor)`.
4934    /// # Safety
4935    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4936    pub unsafe fn GeoKernelViewer_ZoomOut(&self, a0: *mut c_void, a1: f64) {
4937        (self.GeoKernelViewer_ZoomOut)(a0, a1)
4938    }
4939    /// Native declaration: `bool GeoKernelViewer_ZoomToLayer(void* viewer, int index)`.
4940    /// # Safety
4941    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4942    pub unsafe fn GeoKernelViewer_ZoomToLayer(&self, a0: *mut c_void, a1: i32) -> bool {
4943        (self.GeoKernelViewer_ZoomToLayer)(a0, a1)
4944    }
4945    /// Native declaration: `void GeoKernelViewer_ZoomToScreenRect(void* viewer, int left, int top, int right, int bottom)`.
4946    /// # Safety
4947    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4948    pub unsafe fn GeoKernelViewer_ZoomToScreenRect(
4949        &self,
4950        a0: *mut c_void,
4951        a1: i32,
4952        a2: i32,
4953        a3: i32,
4954        a4: i32,
4955    ) {
4956        (self.GeoKernelViewer_ZoomToScreenRect)(a0, a1, a2, a3, a4)
4957    }
4958    /// Native declaration: `bool GeoKernelViewer_ZoomToSelectedFeatures(void* viewer)`.
4959    /// # Safety
4960    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4961    pub unsafe fn GeoKernelViewer_ZoomToSelectedFeatures(&self, a0: *mut c_void) -> bool {
4962        (self.GeoKernelViewer_ZoomToSelectedFeatures)(a0)
4963    }
4964    /// Native declaration: `bool GeoKernelWindow_AddCancellableLayerLoadToolbar(void* window, void* viewer, const wchar_t* configurationJson)`.
4965    /// # Safety
4966    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4967    pub unsafe fn GeoKernelWindow_AddCancellableLayerLoadToolbar(
4968        &self,
4969        a0: *mut c_void,
4970        a1: *mut c_void,
4971        a2: *const WChar,
4972    ) -> bool {
4973        (self.GeoKernelWindow_AddCancellableLayerLoadToolbar)(a0, a1, a2)
4974    }
4975    /// Native declaration: `bool GeoKernelWindow_AddCommandToolbar(void* window, const wchar_t* configurationJson, GeoKernelWindowCommandCallback callback, void* context)`.
4976    /// # Safety
4977    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4978    pub unsafe fn GeoKernelWindow_AddCommandToolbar(
4979        &self,
4980        a0: *mut c_void,
4981        a1: *const WChar,
4982        a2: GeoKernelWindowCommandCallback,
4983        a3: *mut c_void,
4984    ) -> bool {
4985        (self.GeoKernelWindow_AddCommandToolbar)(a0, a1, a2, a3)
4986    }
4987    /// Native declaration: `bool GeoKernelWindow_AddControlPanel(void* window, const wchar_t* configurationJson, GeoKernelWindowControlCallback callback, void* context)`.
4988    /// # Safety
4989    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
4990    pub unsafe fn GeoKernelWindow_AddControlPanel(
4991        &self,
4992        a0: *mut c_void,
4993        a1: *const WChar,
4994        a2: GeoKernelWindowControlCallback,
4995        a3: *mut c_void,
4996    ) -> bool {
4997        (self.GeoKernelWindow_AddControlPanel)(a0, a1, a2, a3)
4998    }
4999    /// Native declaration: `bool GeoKernelWindow_AddLayerManagementToolbar(void* window, void* viewer, const wchar_t* configurationJson)`.
5000    /// # Safety
5001    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5002    pub unsafe fn GeoKernelWindow_AddLayerManagementToolbar(
5003        &self,
5004        a0: *mut c_void,
5005        a1: *mut c_void,
5006        a2: *const WChar,
5007    ) -> bool {
5008        (self.GeoKernelWindow_AddLayerManagementToolbar)(a0, a1, a2)
5009    }
5010    /// Native declaration: `bool GeoKernelWindow_AddLayerPanel(void* window, void* viewer, int features)`.
5011    /// # Safety
5012    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5013    pub unsafe fn GeoKernelWindow_AddLayerPanel(
5014        &self,
5015        a0: *mut c_void,
5016        a1: *mut c_void,
5017        a2: i32,
5018    ) -> bool {
5019        (self.GeoKernelWindow_AddLayerPanel)(a0, a1, a2)
5020    }
5021    /// Native declaration: `bool GeoKernelWindow_AddLayerSelector(void* window, void* viewer, int action)`.
5022    /// # Safety
5023    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5024    pub unsafe fn GeoKernelWindow_AddLayerSelector(
5025        &self,
5026        a0: *mut c_void,
5027        a1: *mut c_void,
5028        a2: i32,
5029    ) -> bool {
5030        (self.GeoKernelWindow_AddLayerSelector)(a0, a1, a2)
5031    }
5032    /// Native declaration: `bool GeoKernelWindow_AddLayerStyleToolbar(void* window, void* viewer, const wchar_t* configurationJson)`.
5033    /// # Safety
5034    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5035    pub unsafe fn GeoKernelWindow_AddLayerStyleToolbar(
5036        &self,
5037        a0: *mut c_void,
5038        a1: *mut c_void,
5039        a2: *const WChar,
5040    ) -> bool {
5041        (self.GeoKernelWindow_AddLayerStyleToolbar)(a0, a1, a2)
5042    }
5043    /// Native declaration: `bool GeoKernelWindow_AddLegendPanel(void* window, const wchar_t* title)`.
5044    /// # Safety
5045    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5046    pub unsafe fn GeoKernelWindow_AddLegendPanel(&self, a0: *mut c_void, a1: *const WChar) -> bool {
5047        (self.GeoKernelWindow_AddLegendPanel)(a0, a1)
5048    }
5049    /// Native declaration: `bool GeoKernelWindow_AddLogPanel(void* window, const wchar_t* title)`.
5050    /// # Safety
5051    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5052    pub unsafe fn GeoKernelWindow_AddLogPanel(&self, a0: *mut c_void, a1: *const WChar) -> bool {
5053        (self.GeoKernelWindow_AddLogPanel)(a0, a1)
5054    }
5055    /// Native declaration: `void GeoKernelWindow_AddMeasureToolbar(void* window, void* viewer)`.
5056    /// # Safety
5057    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5058    pub unsafe fn GeoKernelWindow_AddMeasureToolbar(&self, a0: *mut c_void, a1: *mut c_void) {
5059        (self.GeoKernelWindow_AddMeasureToolbar)(a0, a1)
5060    }
5061    /// Native declaration: `void GeoKernelWindow_AddNavigationToolbar(void* window, void* viewer)`.
5062    /// # Safety
5063    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5064    pub unsafe fn GeoKernelWindow_AddNavigationToolbar(&self, a0: *mut c_void, a1: *mut c_void) {
5065        (self.GeoKernelWindow_AddNavigationToolbar)(a0, a1)
5066    }
5067    /// Native declaration: `bool GeoKernelWindow_AddSpatialIndexBenchmarkToolbar(void* window, void* viewer, const wchar_t* configurationJson)`.
5068    /// # Safety
5069    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5070    pub unsafe fn GeoKernelWindow_AddSpatialIndexBenchmarkToolbar(
5071        &self,
5072        a0: *mut c_void,
5073        a1: *mut c_void,
5074        a2: *const WChar,
5075    ) -> bool {
5076        (self.GeoKernelWindow_AddSpatialIndexBenchmarkToolbar)(a0, a1, a2)
5077    }
5078    /// Native declaration: `void* GeoKernelWindow_AddViewerPane(void* window, const wchar_t* title)`.
5079    /// # Safety
5080    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5081    pub unsafe fn GeoKernelWindow_AddViewerPane(
5082        &self,
5083        a0: *mut c_void,
5084        a1: *const WChar,
5085    ) -> *mut c_void {
5086        (self.GeoKernelWindow_AddViewerPane)(a0, a1)
5087    }
5088    /// Native declaration: `void GeoKernelWindow_AppendLog(void* window, const wchar_t* text)`.
5089    /// # Safety
5090    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5091    pub unsafe fn GeoKernelWindow_AppendLog(&self, a0: *mut c_void, a1: *const WChar) {
5092        (self.GeoKernelWindow_AppendLog)(a0, a1)
5093    }
5094    /// Native declaration: `void GeoKernelWindow_ClearLog(void* window)`.
5095    /// # Safety
5096    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5097    pub unsafe fn GeoKernelWindow_ClearLog(&self, a0: *mut c_void) {
5098        (self.GeoKernelWindow_ClearLog)(a0)
5099    }
5100    /// Native declaration: `void* GeoKernelWindow_Create(int width, int height, const wchar_t* title)`.
5101    /// # Safety
5102    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5103    pub unsafe fn GeoKernelWindow_Create(&self, a0: i32, a1: i32, a2: *const WChar) -> *mut c_void {
5104        (self.GeoKernelWindow_Create)(a0, a1, a2)
5105    }
5106    /// Native declaration: `void GeoKernelWindow_Destroy(void* window)`.
5107    /// # Safety
5108    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5109    pub unsafe fn GeoKernelWindow_Destroy(&self, a0: *mut c_void) {
5110        (self.GeoKernelWindow_Destroy)(a0)
5111    }
5112    /// Native declaration: `int GeoKernelWindow_GetSelectedLayerIndex(void* window)`.
5113    /// # Safety
5114    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5115    pub unsafe fn GeoKernelWindow_GetSelectedLayerIndex(&self, a0: *mut c_void) -> i32 {
5116        (self.GeoKernelWindow_GetSelectedLayerIndex)(a0)
5117    }
5118    /// Native declaration: `bool GeoKernelWindow_IsVisible(void* window)`.
5119    /// # Safety
5120    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5121    pub unsafe fn GeoKernelWindow_IsVisible(&self, a0: *mut c_void) -> bool {
5122        (self.GeoKernelWindow_IsVisible)(a0)
5123    }
5124    /// Native declaration: `void GeoKernelWindow_SetAttributionText(void* window, const wchar_t* text)`.
5125    /// # Safety
5126    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5127    pub unsafe fn GeoKernelWindow_SetAttributionText(&self, a0: *mut c_void, a1: *const WChar) {
5128        (self.GeoKernelWindow_SetAttributionText)(a0, a1)
5129    }
5130    /// Native declaration: `bool GeoKernelWindow_SetCentralText(void* window, const wchar_t* text)`.
5131    /// # Safety
5132    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5133    pub unsafe fn GeoKernelWindow_SetCentralText(&self, a0: *mut c_void, a1: *const WChar) -> bool {
5134        (self.GeoKernelWindow_SetCentralText)(a0, a1)
5135    }
5136    /// Native declaration: `bool GeoKernelWindow_SetCentralTextPanel(void* window, const wchar_t* text)`.
5137    /// # Safety
5138    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5139    pub unsafe fn GeoKernelWindow_SetCentralTextPanel(
5140        &self,
5141        a0: *mut c_void,
5142        a1: *const WChar,
5143    ) -> bool {
5144        (self.GeoKernelWindow_SetCentralTextPanel)(a0, a1)
5145    }
5146    /// Native declaration: `void* GeoKernelWindow_SetCentralViewer(void* window)`.
5147    /// # Safety
5148    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5149    pub unsafe fn GeoKernelWindow_SetCentralViewer(&self, a0: *mut c_void) -> *mut c_void {
5150        (self.GeoKernelWindow_SetCentralViewer)(a0)
5151    }
5152    /// Native declaration: `bool GeoKernelWindow_SetCommandEnabled(void* window, int commandId, bool enabled)`.
5153    /// # Safety
5154    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5155    pub unsafe fn GeoKernelWindow_SetCommandEnabled(
5156        &self,
5157        a0: *mut c_void,
5158        a1: i32,
5159        a2: bool,
5160    ) -> bool {
5161        (self.GeoKernelWindow_SetCommandEnabled)(a0, a1, a2)
5162    }
5163    /// Native declaration: `bool GeoKernelWindow_SetControlEnabled(void* window, int controlId, bool enabled)`.
5164    /// # Safety
5165    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5166    pub unsafe fn GeoKernelWindow_SetControlEnabled(
5167        &self,
5168        a0: *mut c_void,
5169        a1: i32,
5170        a2: bool,
5171    ) -> bool {
5172        (self.GeoKernelWindow_SetControlEnabled)(a0, a1, a2)
5173    }
5174    /// Native declaration: `bool GeoKernelWindow_SetControlOptionsJson(void* window, int controlId, const wchar_t* optionsJson)`.
5175    /// # Safety
5176    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5177    pub unsafe fn GeoKernelWindow_SetControlOptionsJson(
5178        &self,
5179        a0: *mut c_void,
5180        a1: i32,
5181        a2: *const WChar,
5182    ) -> bool {
5183        (self.GeoKernelWindow_SetControlOptionsJson)(a0, a1, a2)
5184    }
5185    /// Native declaration: `bool GeoKernelWindow_SetControlValue(void* window, int controlId, double numericValue, const wchar_t* textValue)`.
5186    /// # Safety
5187    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5188    pub unsafe fn GeoKernelWindow_SetControlValue(
5189        &self,
5190        a0: *mut c_void,
5191        a1: i32,
5192        a2: f64,
5193        a3: *const WChar,
5194    ) -> bool {
5195        (self.GeoKernelWindow_SetControlValue)(a0, a1, a2, a3)
5196    }
5197    /// Native declaration: `bool GeoKernelWindow_SetLegendItemsJson(void* window, const wchar_t* itemsJson)`.
5198    /// # Safety
5199    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5200    pub unsafe fn GeoKernelWindow_SetLegendItemsJson(
5201        &self,
5202        a0: *mut c_void,
5203        a1: *const WChar,
5204    ) -> bool {
5205        (self.GeoKernelWindow_SetLegendItemsJson)(a0, a1)
5206    }
5207    /// Native declaration: `bool GeoKernelWindow_SetLegendTitle(void* window, const wchar_t* title)`.
5208    /// # Safety
5209    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5210    pub unsafe fn GeoKernelWindow_SetLegendTitle(&self, a0: *mut c_void, a1: *const WChar) -> bool {
5211        (self.GeoKernelWindow_SetLegendTitle)(a0, a1)
5212    }
5213    /// Native declaration: `bool GeoKernelWindow_SetLegendWidth(void* window, int width)`.
5214    /// # Safety
5215    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5216    pub unsafe fn GeoKernelWindow_SetLegendWidth(&self, a0: *mut c_void, a1: i32) -> bool {
5217        (self.GeoKernelWindow_SetLegendWidth)(a0, a1)
5218    }
5219    /// Native declaration: `void GeoKernelWindow_SetStatusText(void* window, const wchar_t* text)`.
5220    /// # Safety
5221    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5222    pub unsafe fn GeoKernelWindow_SetStatusText(&self, a0: *mut c_void, a1: *const WChar) {
5223        (self.GeoKernelWindow_SetStatusText)(a0, a1)
5224    }
5225    /// Native declaration: `void GeoKernelWindow_Show(void* window)`.
5226    /// # Safety
5227    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5228    pub unsafe fn GeoKernelWindow_Show(&self, a0: *mut c_void) {
5229        (self.GeoKernelWindow_Show)(a0)
5230    }
5231}
5232/// Raw C ABI for `GeoKernel.AI`. Loaded modules remain resident until process exit.
5233pub struct AiApi {
5234    _library: ManuallyDrop<libloading::Library>,
5235    GeoKernelAI_FreeString: unsafe extern "C" fn(*mut WChar) -> (),
5236    GeoKernelAI_GetAvailableProvidersJson: unsafe extern "C" fn() -> *mut WChar,
5237    GeoKernelAI_GetLastError: unsafe extern "C" fn() -> *mut WChar,
5238    GeoKernelAI_GetRuntimeDiagnosticsJson: unsafe extern "C" fn(*const WChar) -> *mut WChar,
5239    GeoKernelAI_InspectModelPackageJson: unsafe extern "C" fn(*const WChar) -> *mut WChar,
5240    GeoKernelAI_RunRasterInference:
5241        unsafe extern "C" fn(*const WChar, GeoKernelAIProgressCallback, *mut c_void) -> *mut WChar,
5242    GeoKernelAI_RunVlmCatalogQuery: unsafe extern "C" fn(*const WChar, *const WChar) -> *mut WChar,
5243    GeoKernelAiModelRegistry_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5244    GeoKernelAiModelRegistry_ResolveJson:
5245        unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
5246}
5247impl AiApi {
5248    pub const SYMBOLS: &'static [&'static str] = &[
5249        "GeoKernelAI_FreeString",
5250        "GeoKernelAI_GetAvailableProvidersJson",
5251        "GeoKernelAI_GetLastError",
5252        "GeoKernelAI_GetRuntimeDiagnosticsJson",
5253        "GeoKernelAI_InspectModelPackageJson",
5254        "GeoKernelAI_RunRasterInference",
5255        "GeoKernelAI_RunVlmCatalogQuery",
5256        "GeoKernelAiModelRegistry_LastError",
5257        "GeoKernelAiModelRegistry_ResolveJson",
5258    ];
5259    /// Load a trusted, ABI-compatible GeoKernel runtime module.
5260    /// # Safety
5261    /// Library initializers must be safe and every symbol must match this SDK ABI.
5262    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
5263        let library = crate::open(path)?;
5264        Ok(Self {
5265            GeoKernelAI_FreeString: *library.get(b"GeoKernelAI_FreeString\0")?,
5266            GeoKernelAI_GetAvailableProvidersJson: *library
5267                .get(b"GeoKernelAI_GetAvailableProvidersJson\0")?,
5268            GeoKernelAI_GetLastError: *library.get(b"GeoKernelAI_GetLastError\0")?,
5269            GeoKernelAI_GetRuntimeDiagnosticsJson: *library
5270                .get(b"GeoKernelAI_GetRuntimeDiagnosticsJson\0")?,
5271            GeoKernelAI_InspectModelPackageJson: *library
5272                .get(b"GeoKernelAI_InspectModelPackageJson\0")?,
5273            GeoKernelAI_RunRasterInference: *library.get(b"GeoKernelAI_RunRasterInference\0")?,
5274            GeoKernelAI_RunVlmCatalogQuery: *library.get(b"GeoKernelAI_RunVlmCatalogQuery\0")?,
5275            GeoKernelAiModelRegistry_LastError: *library
5276                .get(b"GeoKernelAiModelRegistry_LastError\0")?,
5277            GeoKernelAiModelRegistry_ResolveJson: *library
5278                .get(b"GeoKernelAiModelRegistry_ResolveJson\0")?,
5279            _library: library,
5280        })
5281    }
5282    /// Native declaration: `void GeoKernelAI_FreeString(wchar_t* value)`.
5283    /// # Safety
5284    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5285    pub unsafe fn GeoKernelAI_FreeString(&self, a0: *mut WChar) {
5286        (self.GeoKernelAI_FreeString)(a0)
5287    }
5288    /// Native declaration: `wchar_t* GeoKernelAI_GetAvailableProvidersJson()`.
5289    /// # Safety
5290    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5291    pub unsafe fn GeoKernelAI_GetAvailableProvidersJson(&self) -> *mut WChar {
5292        (self.GeoKernelAI_GetAvailableProvidersJson)()
5293    }
5294    /// Native declaration: `wchar_t* GeoKernelAI_GetLastError()`.
5295    /// # Safety
5296    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5297    pub unsafe fn GeoKernelAI_GetLastError(&self) -> *mut WChar {
5298        (self.GeoKernelAI_GetLastError)()
5299    }
5300    /// Native declaration: `wchar_t* GeoKernelAI_GetRuntimeDiagnosticsJson(const wchar_t* requestJson)`.
5301    /// # Safety
5302    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5303    pub unsafe fn GeoKernelAI_GetRuntimeDiagnosticsJson(&self, a0: *const WChar) -> *mut WChar {
5304        (self.GeoKernelAI_GetRuntimeDiagnosticsJson)(a0)
5305    }
5306    /// Native declaration: `wchar_t* GeoKernelAI_InspectModelPackageJson(const wchar_t* packagePath)`.
5307    /// # Safety
5308    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5309    pub unsafe fn GeoKernelAI_InspectModelPackageJson(&self, a0: *const WChar) -> *mut WChar {
5310        (self.GeoKernelAI_InspectModelPackageJson)(a0)
5311    }
5312    /// Native declaration: `wchar_t* GeoKernelAI_RunRasterInference( const wchar_t* requestJson, GeoKernelAIProgressCallback progress, void* userData)`.
5313    /// # Safety
5314    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5315    pub unsafe fn GeoKernelAI_RunRasterInference(
5316        &self,
5317        a0: *const WChar,
5318        a1: GeoKernelAIProgressCallback,
5319        a2: *mut c_void,
5320    ) -> *mut WChar {
5321        (self.GeoKernelAI_RunRasterInference)(a0, a1, a2)
5322    }
5323    /// Native declaration: `wchar_t* GeoKernelAI_RunVlmCatalogQuery( const wchar_t* catalogJson, const wchar_t* requestJson)`.
5324    /// # Safety
5325    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5326    pub unsafe fn GeoKernelAI_RunVlmCatalogQuery(
5327        &self,
5328        a0: *const WChar,
5329        a1: *const WChar,
5330    ) -> *mut WChar {
5331        (self.GeoKernelAI_RunVlmCatalogQuery)(a0, a1)
5332    }
5333    /// Native declaration: `int GeoKernelAiModelRegistry_LastError(wchar_t* buffer,int bufferLength)`.
5334    /// # Safety
5335    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5336    pub unsafe fn GeoKernelAiModelRegistry_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
5337        (self.GeoKernelAiModelRegistry_LastError)(a0, a1)
5338    }
5339    /// Native declaration: `int GeoKernelAiModelRegistry_ResolveJson(const wchar_t* request,wchar_t* buffer,int bufferLength)`.
5340    /// # Safety
5341    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5342    pub unsafe fn GeoKernelAiModelRegistry_ResolveJson(
5343        &self,
5344        a0: *const WChar,
5345        a1: *mut WChar,
5346        a2: i32,
5347    ) -> i32 {
5348        (self.GeoKernelAiModelRegistry_ResolveJson)(a0, a1, a2)
5349    }
5350}
5351/// Raw C ABI for `GeoKernel.Analysis`. Loaded modules remain resident until process exit.
5352pub struct AnalysisApi {
5353    _library: ManuallyDrop<libloading::Library>,
5354    GeoKernelAiQa_Create: unsafe extern "C" fn(*const WChar) -> *mut c_void,
5355    GeoKernelAiQa_Destroy: unsafe extern "C" fn(*mut c_void) -> (),
5356    GeoKernelAiQa_Ingest: unsafe extern "C" fn(*mut c_void, *const WChar) -> i32,
5357    GeoKernelAiQa_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5358    GeoKernelAiQa_Review: unsafe extern "C" fn(*mut c_void, *const WChar) -> i32,
5359    GeoKernelAiQa_SnapshotJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5360    GeoKernelAnalysis_DestroyJob: unsafe extern "C" fn(*mut c_void) -> (),
5361    GeoKernelAnalysis_DestroyLayer: unsafe extern "C" fn(*mut c_void) -> (),
5362    GeoKernelAnalysis_DestroyResult: unsafe extern "C" fn(*mut c_void) -> (),
5363    GeoKernelAnalysis_Execute: unsafe extern "C" fn(*const WChar) -> *mut c_void,
5364    GeoKernelAnalysis_JobCancel: unsafe extern "C" fn(*mut c_void) -> i32,
5365    GeoKernelAnalysis_JobIsFinished: unsafe extern "C" fn(*mut c_void) -> i32,
5366    GeoKernelAnalysis_JobProgressJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5367    GeoKernelAnalysis_JobWait: unsafe extern "C" fn(*mut c_void) -> *mut c_void,
5368    GeoKernelAnalysis_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5369    GeoKernelAnalysis_LayerDiagnosticsJson:
5370        unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5371    GeoKernelAnalysis_LayerFeaturesJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5372    GeoKernelAnalysis_LayerPointer: unsafe extern "C" fn(*mut c_void) -> *mut c_void,
5373    GeoKernelAnalysis_MaterializeLayer:
5374        unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
5375    GeoKernelAnalysis_PlanJson: unsafe extern "C" fn(*const WChar, *mut WChar, i32) -> i32,
5376    GeoKernelAnalysis_ResultJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5377    GeoKernelAnalysis_RunAiInstanceVectorizationToMemory: unsafe extern "C" fn(
5378        *const WChar,
5379        GeoKernelAnalysisProgressCallback,
5380        *mut c_void,
5381    ) -> *mut c_void,
5382    GeoKernelAnalysis_RunAiObjectDetectionToMemory: unsafe extern "C" fn(
5383        *const WChar,
5384        GeoKernelAnalysisProgressCallback,
5385        *mut c_void,
5386    ) -> *mut c_void,
5387    GeoKernelAnalysis_RunChangeDetectionToMemory: unsafe extern "C" fn(
5388        *const WChar,
5389        GeoKernelAnalysisProgressCallback,
5390        *mut c_void,
5391    ) -> *mut c_void,
5392    GeoKernelAnalysis_Start: unsafe extern "C" fn(*const WChar) -> *mut c_void,
5393}
5394impl AnalysisApi {
5395    pub const SYMBOLS: &'static [&'static str] = &[
5396        "GeoKernelAiQa_Create",
5397        "GeoKernelAiQa_Destroy",
5398        "GeoKernelAiQa_Ingest",
5399        "GeoKernelAiQa_LastError",
5400        "GeoKernelAiQa_Review",
5401        "GeoKernelAiQa_SnapshotJson",
5402        "GeoKernelAnalysis_DestroyJob",
5403        "GeoKernelAnalysis_DestroyLayer",
5404        "GeoKernelAnalysis_DestroyResult",
5405        "GeoKernelAnalysis_Execute",
5406        "GeoKernelAnalysis_JobCancel",
5407        "GeoKernelAnalysis_JobIsFinished",
5408        "GeoKernelAnalysis_JobProgressJson",
5409        "GeoKernelAnalysis_JobWait",
5410        "GeoKernelAnalysis_LastError",
5411        "GeoKernelAnalysis_LayerDiagnosticsJson",
5412        "GeoKernelAnalysis_LayerFeaturesJson",
5413        "GeoKernelAnalysis_LayerPointer",
5414        "GeoKernelAnalysis_MaterializeLayer",
5415        "GeoKernelAnalysis_PlanJson",
5416        "GeoKernelAnalysis_ResultJson",
5417        "GeoKernelAnalysis_RunAiInstanceVectorizationToMemory",
5418        "GeoKernelAnalysis_RunAiObjectDetectionToMemory",
5419        "GeoKernelAnalysis_RunChangeDetectionToMemory",
5420        "GeoKernelAnalysis_Start",
5421    ];
5422    /// Load a trusted, ABI-compatible GeoKernel runtime module.
5423    /// # Safety
5424    /// Library initializers must be safe and every symbol must match this SDK ABI.
5425    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
5426        let library = crate::open(path)?;
5427        Ok(Self {
5428            GeoKernelAiQa_Create: *library.get(b"GeoKernelAiQa_Create\0")?,
5429            GeoKernelAiQa_Destroy: *library.get(b"GeoKernelAiQa_Destroy\0")?,
5430            GeoKernelAiQa_Ingest: *library.get(b"GeoKernelAiQa_Ingest\0")?,
5431            GeoKernelAiQa_LastError: *library.get(b"GeoKernelAiQa_LastError\0")?,
5432            GeoKernelAiQa_Review: *library.get(b"GeoKernelAiQa_Review\0")?,
5433            GeoKernelAiQa_SnapshotJson: *library.get(b"GeoKernelAiQa_SnapshotJson\0")?,
5434            GeoKernelAnalysis_DestroyJob: *library.get(b"GeoKernelAnalysis_DestroyJob\0")?,
5435            GeoKernelAnalysis_DestroyLayer: *library.get(b"GeoKernelAnalysis_DestroyLayer\0")?,
5436            GeoKernelAnalysis_DestroyResult: *library.get(b"GeoKernelAnalysis_DestroyResult\0")?,
5437            GeoKernelAnalysis_Execute: *library.get(b"GeoKernelAnalysis_Execute\0")?,
5438            GeoKernelAnalysis_JobCancel: *library.get(b"GeoKernelAnalysis_JobCancel\0")?,
5439            GeoKernelAnalysis_JobIsFinished: *library.get(b"GeoKernelAnalysis_JobIsFinished\0")?,
5440            GeoKernelAnalysis_JobProgressJson: *library
5441                .get(b"GeoKernelAnalysis_JobProgressJson\0")?,
5442            GeoKernelAnalysis_JobWait: *library.get(b"GeoKernelAnalysis_JobWait\0")?,
5443            GeoKernelAnalysis_LastError: *library.get(b"GeoKernelAnalysis_LastError\0")?,
5444            GeoKernelAnalysis_LayerDiagnosticsJson: *library
5445                .get(b"GeoKernelAnalysis_LayerDiagnosticsJson\0")?,
5446            GeoKernelAnalysis_LayerFeaturesJson: *library
5447                .get(b"GeoKernelAnalysis_LayerFeaturesJson\0")?,
5448            GeoKernelAnalysis_LayerPointer: *library.get(b"GeoKernelAnalysis_LayerPointer\0")?,
5449            GeoKernelAnalysis_MaterializeLayer: *library
5450                .get(b"GeoKernelAnalysis_MaterializeLayer\0")?,
5451            GeoKernelAnalysis_PlanJson: *library.get(b"GeoKernelAnalysis_PlanJson\0")?,
5452            GeoKernelAnalysis_ResultJson: *library.get(b"GeoKernelAnalysis_ResultJson\0")?,
5453            GeoKernelAnalysis_RunAiInstanceVectorizationToMemory: *library
5454                .get(b"GeoKernelAnalysis_RunAiInstanceVectorizationToMemory\0")?,
5455            GeoKernelAnalysis_RunAiObjectDetectionToMemory: *library
5456                .get(b"GeoKernelAnalysis_RunAiObjectDetectionToMemory\0")?,
5457            GeoKernelAnalysis_RunChangeDetectionToMemory: *library
5458                .get(b"GeoKernelAnalysis_RunChangeDetectionToMemory\0")?,
5459            GeoKernelAnalysis_Start: *library.get(b"GeoKernelAnalysis_Start\0")?,
5460            _library: library,
5461        })
5462    }
5463    /// Native declaration: `void* GeoKernelAiQa_Create(const wchar_t* policyJson)`.
5464    /// # Safety
5465    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5466    pub unsafe fn GeoKernelAiQa_Create(&self, a0: *const WChar) -> *mut c_void {
5467        (self.GeoKernelAiQa_Create)(a0)
5468    }
5469    /// Native declaration: `void GeoKernelAiQa_Destroy(void* workflow)`.
5470    /// # Safety
5471    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5472    pub unsafe fn GeoKernelAiQa_Destroy(&self, a0: *mut c_void) {
5473        (self.GeoKernelAiQa_Destroy)(a0)
5474    }
5475    /// Native declaration: `int GeoKernelAiQa_Ingest(void* workflow, const wchar_t* featuresJson)`.
5476    /// # Safety
5477    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5478    pub unsafe fn GeoKernelAiQa_Ingest(&self, a0: *mut c_void, a1: *const WChar) -> i32 {
5479        (self.GeoKernelAiQa_Ingest)(a0, a1)
5480    }
5481    /// Native declaration: `int GeoKernelAiQa_LastError(wchar_t* buffer, int bufferLength)`.
5482    /// # Safety
5483    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5484    pub unsafe fn GeoKernelAiQa_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
5485        (self.GeoKernelAiQa_LastError)(a0, a1)
5486    }
5487    /// Native declaration: `int GeoKernelAiQa_Review(void* workflow, const wchar_t* decisionJson)`.
5488    /// # Safety
5489    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5490    pub unsafe fn GeoKernelAiQa_Review(&self, a0: *mut c_void, a1: *const WChar) -> i32 {
5491        (self.GeoKernelAiQa_Review)(a0, a1)
5492    }
5493    /// Native declaration: `int GeoKernelAiQa_SnapshotJson(void* workflow, wchar_t* buffer, int bufferLength)`.
5494    /// # Safety
5495    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5496    pub unsafe fn GeoKernelAiQa_SnapshotJson(
5497        &self,
5498        a0: *mut c_void,
5499        a1: *mut WChar,
5500        a2: i32,
5501    ) -> i32 {
5502        (self.GeoKernelAiQa_SnapshotJson)(a0, a1, a2)
5503    }
5504    /// Native declaration: `void GeoKernelAnalysis_DestroyJob(void* job)`.
5505    /// # Safety
5506    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5507    pub unsafe fn GeoKernelAnalysis_DestroyJob(&self, a0: *mut c_void) {
5508        (self.GeoKernelAnalysis_DestroyJob)(a0)
5509    }
5510    /// Native declaration: `void GeoKernelAnalysis_DestroyLayer(void* layer)`.
5511    /// # Safety
5512    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5513    pub unsafe fn GeoKernelAnalysis_DestroyLayer(&self, a0: *mut c_void) {
5514        (self.GeoKernelAnalysis_DestroyLayer)(a0)
5515    }
5516    /// Native declaration: `void GeoKernelAnalysis_DestroyResult(void* result)`.
5517    /// # Safety
5518    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5519    pub unsafe fn GeoKernelAnalysis_DestroyResult(&self, a0: *mut c_void) {
5520        (self.GeoKernelAnalysis_DestroyResult)(a0)
5521    }
5522    /// Native declaration: `void* GeoKernelAnalysis_Execute(const wchar_t* requestJson)`.
5523    /// # Safety
5524    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5525    pub unsafe fn GeoKernelAnalysis_Execute(&self, a0: *const WChar) -> *mut c_void {
5526        (self.GeoKernelAnalysis_Execute)(a0)
5527    }
5528    /// Native declaration: `int GeoKernelAnalysis_JobCancel(void* job)`.
5529    /// # Safety
5530    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5531    pub unsafe fn GeoKernelAnalysis_JobCancel(&self, a0: *mut c_void) -> i32 {
5532        (self.GeoKernelAnalysis_JobCancel)(a0)
5533    }
5534    /// Native declaration: `int GeoKernelAnalysis_JobIsFinished(void* job)`.
5535    /// # Safety
5536    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5537    pub unsafe fn GeoKernelAnalysis_JobIsFinished(&self, a0: *mut c_void) -> i32 {
5538        (self.GeoKernelAnalysis_JobIsFinished)(a0)
5539    }
5540    /// Native declaration: `int GeoKernelAnalysis_JobProgressJson(void* job, wchar_t* buffer, int bufferLength)`.
5541    /// # Safety
5542    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5543    pub unsafe fn GeoKernelAnalysis_JobProgressJson(
5544        &self,
5545        a0: *mut c_void,
5546        a1: *mut WChar,
5547        a2: i32,
5548    ) -> i32 {
5549        (self.GeoKernelAnalysis_JobProgressJson)(a0, a1, a2)
5550    }
5551    /// Native declaration: `void* GeoKernelAnalysis_JobWait(void* job)`.
5552    /// # Safety
5553    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5554    pub unsafe fn GeoKernelAnalysis_JobWait(&self, a0: *mut c_void) -> *mut c_void {
5555        (self.GeoKernelAnalysis_JobWait)(a0)
5556    }
5557    /// Native declaration: `int GeoKernelAnalysis_LastError(wchar_t* buffer, int bufferLength)`.
5558    /// # Safety
5559    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5560    pub unsafe fn GeoKernelAnalysis_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
5561        (self.GeoKernelAnalysis_LastError)(a0, a1)
5562    }
5563    /// Native declaration: `int GeoKernelAnalysis_LayerDiagnosticsJson(void* layer, wchar_t* buffer, int bufferLength)`.
5564    /// # Safety
5565    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5566    pub unsafe fn GeoKernelAnalysis_LayerDiagnosticsJson(
5567        &self,
5568        a0: *mut c_void,
5569        a1: *mut WChar,
5570        a2: i32,
5571    ) -> i32 {
5572        (self.GeoKernelAnalysis_LayerDiagnosticsJson)(a0, a1, a2)
5573    }
5574    /// Native declaration: `int GeoKernelAnalysis_LayerFeaturesJson(void* layer, wchar_t* buffer, int bufferLength)`.
5575    /// # Safety
5576    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5577    pub unsafe fn GeoKernelAnalysis_LayerFeaturesJson(
5578        &self,
5579        a0: *mut c_void,
5580        a1: *mut WChar,
5581        a2: i32,
5582    ) -> i32 {
5583        (self.GeoKernelAnalysis_LayerFeaturesJson)(a0, a1, a2)
5584    }
5585    /// Native declaration: `void* GeoKernelAnalysis_LayerPointer(void* layer)`.
5586    /// # Safety
5587    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5588    pub unsafe fn GeoKernelAnalysis_LayerPointer(&self, a0: *mut c_void) -> *mut c_void {
5589        (self.GeoKernelAnalysis_LayerPointer)(a0)
5590    }
5591    /// Native declaration: `void* GeoKernelAnalysis_MaterializeLayer(void* result, const wchar_t* optionsJson)`.
5592    /// # Safety
5593    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5594    pub unsafe fn GeoKernelAnalysis_MaterializeLayer(
5595        &self,
5596        a0: *mut c_void,
5597        a1: *const WChar,
5598    ) -> *mut c_void {
5599        (self.GeoKernelAnalysis_MaterializeLayer)(a0, a1)
5600    }
5601    /// Native declaration: `int GeoKernelAnalysis_PlanJson(const wchar_t* requestJson, wchar_t* buffer, int bufferLength)`.
5602    /// # Safety
5603    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5604    pub unsafe fn GeoKernelAnalysis_PlanJson(
5605        &self,
5606        a0: *const WChar,
5607        a1: *mut WChar,
5608        a2: i32,
5609    ) -> i32 {
5610        (self.GeoKernelAnalysis_PlanJson)(a0, a1, a2)
5611    }
5612    /// Native declaration: `int GeoKernelAnalysis_ResultJson(void* result, wchar_t* buffer, int bufferLength)`.
5613    /// # Safety
5614    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5615    pub unsafe fn GeoKernelAnalysis_ResultJson(
5616        &self,
5617        a0: *mut c_void,
5618        a1: *mut WChar,
5619        a2: i32,
5620    ) -> i32 {
5621        (self.GeoKernelAnalysis_ResultJson)(a0, a1, a2)
5622    }
5623    /// Native declaration: `void* GeoKernelAnalysis_RunAiInstanceVectorizationToMemory(const wchar_t* requestJson, GeoKernelAnalysisProgressCallback progress, void* userData)`.
5624    /// # Safety
5625    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5626    pub unsafe fn GeoKernelAnalysis_RunAiInstanceVectorizationToMemory(
5627        &self,
5628        a0: *const WChar,
5629        a1: GeoKernelAnalysisProgressCallback,
5630        a2: *mut c_void,
5631    ) -> *mut c_void {
5632        (self.GeoKernelAnalysis_RunAiInstanceVectorizationToMemory)(a0, a1, a2)
5633    }
5634    /// Native declaration: `void* GeoKernelAnalysis_RunAiObjectDetectionToMemory(const wchar_t* requestJson, GeoKernelAnalysisProgressCallback progress, void* userData)`.
5635    /// # Safety
5636    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5637    pub unsafe fn GeoKernelAnalysis_RunAiObjectDetectionToMemory(
5638        &self,
5639        a0: *const WChar,
5640        a1: GeoKernelAnalysisProgressCallback,
5641        a2: *mut c_void,
5642    ) -> *mut c_void {
5643        (self.GeoKernelAnalysis_RunAiObjectDetectionToMemory)(a0, a1, a2)
5644    }
5645    /// Native declaration: `void* GeoKernelAnalysis_RunChangeDetectionToMemory(const wchar_t* requestJson, GeoKernelAnalysisProgressCallback progress, void* userData)`.
5646    /// # Safety
5647    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5648    pub unsafe fn GeoKernelAnalysis_RunChangeDetectionToMemory(
5649        &self,
5650        a0: *const WChar,
5651        a1: GeoKernelAnalysisProgressCallback,
5652        a2: *mut c_void,
5653    ) -> *mut c_void {
5654        (self.GeoKernelAnalysis_RunChangeDetectionToMemory)(a0, a1, a2)
5655    }
5656    /// Native declaration: `void* GeoKernelAnalysis_Start(const wchar_t* requestJson)`.
5657    /// # Safety
5658    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5659    pub unsafe fn GeoKernelAnalysis_Start(&self, a0: *const WChar) -> *mut c_void {
5660        (self.GeoKernelAnalysis_Start)(a0)
5661    }
5662}
5663/// Raw C ABI for `GeoKernel.Cloud`. Loaded modules remain resident until process exit.
5664pub struct CloudApi {
5665    _library: ManuallyDrop<libloading::Library>,
5666    GeoKernelCloud_CacheStatisticsJson: unsafe extern "C" fn(*mut c_void, *mut WChar, i32) -> i32,
5667    GeoKernelCloud_ClearCache: unsafe extern "C" fn(*mut c_void) -> i32,
5668    GeoKernelCloud_CogGdalVirtualPath:
5669        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
5670    GeoKernelCloud_CogProbeJson:
5671        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5672    GeoKernelCloud_CreateClient: unsafe extern "C" fn(*const WChar) -> *mut c_void,
5673    GeoKernelCloud_DestroyClient: unsafe extern "C" fn(*mut c_void) -> (),
5674    GeoKernelCloud_GeoParquetGdalVirtualPath:
5675        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
5676    GeoKernelCloud_GeoParquetProbeJson:
5677        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5678    GeoKernelCloud_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5679    GeoKernelCloud_PmTilesGdalVirtualPath:
5680        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
5681    GeoKernelCloud_PmTilesInspectJson:
5682        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5683    GeoKernelCloud_PmTilesProbeJson:
5684        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5685    GeoKernelCloud_SetHeadersJson: unsafe extern "C" fn(*mut c_void, *const WChar) -> i32,
5686    GeoKernelCloud_SetTimeout: unsafe extern "C" fn(*mut c_void, i32) -> i32,
5687    GeoKernelCloud_StacResolveCogLayerJson: unsafe extern "C" fn(
5688        *mut c_void,
5689        *const WChar,
5690        *const WChar,
5691        *const WChar,
5692        i32,
5693        *mut WChar,
5694        i32,
5695    ) -> i32,
5696    GeoKernelCloud_StacSearchJson:
5697        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5698}
5699impl CloudApi {
5700    pub const SYMBOLS: &'static [&'static str] = &[
5701        "GeoKernelCloud_CacheStatisticsJson",
5702        "GeoKernelCloud_ClearCache",
5703        "GeoKernelCloud_CogGdalVirtualPath",
5704        "GeoKernelCloud_CogProbeJson",
5705        "GeoKernelCloud_CreateClient",
5706        "GeoKernelCloud_DestroyClient",
5707        "GeoKernelCloud_GeoParquetGdalVirtualPath",
5708        "GeoKernelCloud_GeoParquetProbeJson",
5709        "GeoKernelCloud_LastError",
5710        "GeoKernelCloud_PmTilesGdalVirtualPath",
5711        "GeoKernelCloud_PmTilesInspectJson",
5712        "GeoKernelCloud_PmTilesProbeJson",
5713        "GeoKernelCloud_SetHeadersJson",
5714        "GeoKernelCloud_SetTimeout",
5715        "GeoKernelCloud_StacResolveCogLayerJson",
5716        "GeoKernelCloud_StacSearchJson",
5717    ];
5718    /// Load a trusted, ABI-compatible GeoKernel runtime module.
5719    /// # Safety
5720    /// Library initializers must be safe and every symbol must match this SDK ABI.
5721    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
5722        let library = crate::open(path)?;
5723        Ok(Self {
5724            GeoKernelCloud_CacheStatisticsJson: *library
5725                .get(b"GeoKernelCloud_CacheStatisticsJson\0")?,
5726            GeoKernelCloud_ClearCache: *library.get(b"GeoKernelCloud_ClearCache\0")?,
5727            GeoKernelCloud_CogGdalVirtualPath: *library
5728                .get(b"GeoKernelCloud_CogGdalVirtualPath\0")?,
5729            GeoKernelCloud_CogProbeJson: *library.get(b"GeoKernelCloud_CogProbeJson\0")?,
5730            GeoKernelCloud_CreateClient: *library.get(b"GeoKernelCloud_CreateClient\0")?,
5731            GeoKernelCloud_DestroyClient: *library.get(b"GeoKernelCloud_DestroyClient\0")?,
5732            GeoKernelCloud_GeoParquetGdalVirtualPath: *library
5733                .get(b"GeoKernelCloud_GeoParquetGdalVirtualPath\0")?,
5734            GeoKernelCloud_GeoParquetProbeJson: *library
5735                .get(b"GeoKernelCloud_GeoParquetProbeJson\0")?,
5736            GeoKernelCloud_LastError: *library.get(b"GeoKernelCloud_LastError\0")?,
5737            GeoKernelCloud_PmTilesGdalVirtualPath: *library
5738                .get(b"GeoKernelCloud_PmTilesGdalVirtualPath\0")?,
5739            GeoKernelCloud_PmTilesInspectJson: *library
5740                .get(b"GeoKernelCloud_PmTilesInspectJson\0")?,
5741            GeoKernelCloud_PmTilesProbeJson: *library.get(b"GeoKernelCloud_PmTilesProbeJson\0")?,
5742            GeoKernelCloud_SetHeadersJson: *library.get(b"GeoKernelCloud_SetHeadersJson\0")?,
5743            GeoKernelCloud_SetTimeout: *library.get(b"GeoKernelCloud_SetTimeout\0")?,
5744            GeoKernelCloud_StacResolveCogLayerJson: *library
5745                .get(b"GeoKernelCloud_StacResolveCogLayerJson\0")?,
5746            GeoKernelCloud_StacSearchJson: *library.get(b"GeoKernelCloud_StacSearchJson\0")?,
5747            _library: library,
5748        })
5749    }
5750    /// Native declaration: `int GeoKernelCloud_CacheStatisticsJson(void* client, wchar_t* buffer, int bufferLength)`.
5751    /// # Safety
5752    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5753    pub unsafe fn GeoKernelCloud_CacheStatisticsJson(
5754        &self,
5755        a0: *mut c_void,
5756        a1: *mut WChar,
5757        a2: i32,
5758    ) -> i32 {
5759        (self.GeoKernelCloud_CacheStatisticsJson)(a0, a1, a2)
5760    }
5761    /// Native declaration: `int GeoKernelCloud_ClearCache(void* client)`.
5762    /// # Safety
5763    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5764    pub unsafe fn GeoKernelCloud_ClearCache(&self, a0: *mut c_void) -> i32 {
5765        (self.GeoKernelCloud_ClearCache)(a0)
5766    }
5767    /// Native declaration: `int GeoKernelCloud_CogGdalVirtualPath(void* client, const wchar_t* url, wchar_t* buffer, int bufferLength)`.
5768    /// # Safety
5769    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5770    pub unsafe fn GeoKernelCloud_CogGdalVirtualPath(
5771        &self,
5772        a0: *mut c_void,
5773        a1: *const WChar,
5774        a2: *mut WChar,
5775        a3: i32,
5776    ) -> i32 {
5777        (self.GeoKernelCloud_CogGdalVirtualPath)(a0, a1, a2, a3)
5778    }
5779    /// Native declaration: `int GeoKernelCloud_CogProbeJson(void* client, const wchar_t* url, const wchar_t* headersJson, wchar_t* buffer, int bufferLength)`.
5780    /// # Safety
5781    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5782    pub unsafe fn GeoKernelCloud_CogProbeJson(
5783        &self,
5784        a0: *mut c_void,
5785        a1: *const WChar,
5786        a2: *const WChar,
5787        a3: *mut WChar,
5788        a4: i32,
5789    ) -> i32 {
5790        (self.GeoKernelCloud_CogProbeJson)(a0, a1, a2, a3, a4)
5791    }
5792    /// Native declaration: `void* GeoKernelCloud_CreateClient(const wchar_t* optionsJson)`.
5793    /// # Safety
5794    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5795    pub unsafe fn GeoKernelCloud_CreateClient(&self, a0: *const WChar) -> *mut c_void {
5796        (self.GeoKernelCloud_CreateClient)(a0)
5797    }
5798    /// Native declaration: `void GeoKernelCloud_DestroyClient(void* client)`.
5799    /// # Safety
5800    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5801    pub unsafe fn GeoKernelCloud_DestroyClient(&self, a0: *mut c_void) {
5802        (self.GeoKernelCloud_DestroyClient)(a0)
5803    }
5804    /// Native declaration: `int GeoKernelCloud_GeoParquetGdalVirtualPath(void* client, const wchar_t* url, wchar_t* buffer, int bufferLength)`.
5805    /// # Safety
5806    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5807    pub unsafe fn GeoKernelCloud_GeoParquetGdalVirtualPath(
5808        &self,
5809        a0: *mut c_void,
5810        a1: *const WChar,
5811        a2: *mut WChar,
5812        a3: i32,
5813    ) -> i32 {
5814        (self.GeoKernelCloud_GeoParquetGdalVirtualPath)(a0, a1, a2, a3)
5815    }
5816    /// Native declaration: `int GeoKernelCloud_GeoParquetProbeJson(void* client, const wchar_t* url, const wchar_t* headersJson, wchar_t* buffer, int bufferLength)`.
5817    /// # Safety
5818    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5819    pub unsafe fn GeoKernelCloud_GeoParquetProbeJson(
5820        &self,
5821        a0: *mut c_void,
5822        a1: *const WChar,
5823        a2: *const WChar,
5824        a3: *mut WChar,
5825        a4: i32,
5826    ) -> i32 {
5827        (self.GeoKernelCloud_GeoParquetProbeJson)(a0, a1, a2, a3, a4)
5828    }
5829    /// Native declaration: `int GeoKernelCloud_LastError(wchar_t* buffer, int bufferLength)`.
5830    /// # Safety
5831    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5832    pub unsafe fn GeoKernelCloud_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
5833        (self.GeoKernelCloud_LastError)(a0, a1)
5834    }
5835    /// Native declaration: `int GeoKernelCloud_PmTilesGdalVirtualPath(void* client, const wchar_t* url, wchar_t* buffer, int bufferLength)`.
5836    /// # Safety
5837    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5838    pub unsafe fn GeoKernelCloud_PmTilesGdalVirtualPath(
5839        &self,
5840        a0: *mut c_void,
5841        a1: *const WChar,
5842        a2: *mut WChar,
5843        a3: i32,
5844    ) -> i32 {
5845        (self.GeoKernelCloud_PmTilesGdalVirtualPath)(a0, a1, a2, a3)
5846    }
5847    /// Native declaration: `int GeoKernelCloud_PmTilesInspectJson(void* client, const wchar_t* source, const wchar_t* headersJson, wchar_t* buffer, int bufferLength)`.
5848    /// # Safety
5849    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5850    pub unsafe fn GeoKernelCloud_PmTilesInspectJson(
5851        &self,
5852        a0: *mut c_void,
5853        a1: *const WChar,
5854        a2: *const WChar,
5855        a3: *mut WChar,
5856        a4: i32,
5857    ) -> i32 {
5858        (self.GeoKernelCloud_PmTilesInspectJson)(a0, a1, a2, a3, a4)
5859    }
5860    /// Native declaration: `int GeoKernelCloud_PmTilesProbeJson(void* client, const wchar_t* url, const wchar_t* headersJson, wchar_t* buffer, int bufferLength)`.
5861    /// # Safety
5862    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5863    pub unsafe fn GeoKernelCloud_PmTilesProbeJson(
5864        &self,
5865        a0: *mut c_void,
5866        a1: *const WChar,
5867        a2: *const WChar,
5868        a3: *mut WChar,
5869        a4: i32,
5870    ) -> i32 {
5871        (self.GeoKernelCloud_PmTilesProbeJson)(a0, a1, a2, a3, a4)
5872    }
5873    /// Native declaration: `int GeoKernelCloud_SetHeadersJson(void* client, const wchar_t* headersJson)`.
5874    /// # Safety
5875    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5876    pub unsafe fn GeoKernelCloud_SetHeadersJson(&self, a0: *mut c_void, a1: *const WChar) -> i32 {
5877        (self.GeoKernelCloud_SetHeadersJson)(a0, a1)
5878    }
5879    /// Native declaration: `int GeoKernelCloud_SetTimeout(void* client, int timeoutMilliseconds)`.
5880    /// # Safety
5881    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5882    pub unsafe fn GeoKernelCloud_SetTimeout(&self, a0: *mut c_void, a1: i32) -> i32 {
5883        (self.GeoKernelCloud_SetTimeout)(a0, a1)
5884    }
5885    /// Native declaration: `int GeoKernelCloud_StacResolveCogLayerJson(void* client, const wchar_t* catalogUrl, const wchar_t* requestJson, const wchar_t* assetKey, int itemIndex, wchar_t* buffer, int bufferLength)`.
5886    /// # Safety
5887    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5888    pub unsafe fn GeoKernelCloud_StacResolveCogLayerJson(
5889        &self,
5890        a0: *mut c_void,
5891        a1: *const WChar,
5892        a2: *const WChar,
5893        a3: *const WChar,
5894        a4: i32,
5895        a5: *mut WChar,
5896        a6: i32,
5897    ) -> i32 {
5898        (self.GeoKernelCloud_StacResolveCogLayerJson)(a0, a1, a2, a3, a4, a5, a6)
5899    }
5900    /// Native declaration: `int GeoKernelCloud_StacSearchJson(void* client, const wchar_t* catalogUrl, const wchar_t* requestJson, wchar_t* buffer, int bufferLength)`.
5901    /// # Safety
5902    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
5903    pub unsafe fn GeoKernelCloud_StacSearchJson(
5904        &self,
5905        a0: *mut c_void,
5906        a1: *const WChar,
5907        a2: *const WChar,
5908        a3: *mut WChar,
5909        a4: i32,
5910    ) -> i32 {
5911        (self.GeoKernelCloud_StacSearchJson)(a0, a1, a2, a3, a4)
5912    }
5913}
5914/// Raw C ABI for `GeoKernel.Data.DuckDB`. Loaded modules remain resident until process exit.
5915pub struct DuckDbApi {
5916    _library: ManuallyDrop<libloading::Library>,
5917    GeoKernelDuckDb_BeginTransaction: unsafe extern "C" fn(*mut c_void) -> i32,
5918    GeoKernelDuckDb_CloseConnection: unsafe extern "C" fn(*mut c_void) -> (),
5919    GeoKernelDuckDb_ClosePreparedStatement: unsafe extern "C" fn(*mut c_void) -> (),
5920    GeoKernelDuckDb_CloseQueryCursor: unsafe extern "C" fn(*mut c_void) -> (),
5921    GeoKernelDuckDb_CloseQueryLayer: unsafe extern "C" fn(*mut c_void) -> (),
5922    GeoKernelDuckDb_CloseQueryResult: unsafe extern "C" fn(*mut c_void) -> (),
5923    GeoKernelDuckDb_Commit: unsafe extern "C" fn(*mut c_void) -> i32,
5924    GeoKernelDuckDb_CopyQueryResultBinary: unsafe extern "C" fn(*mut c_void, *mut u8, i64) -> i64,
5925    GeoKernelDuckDb_CreateConnection: unsafe extern "C" fn(*const WChar) -> *mut c_void,
5926    GeoKernelDuckDb_CreateGeoParquetQueryCursor:
5927        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar) -> *mut c_void,
5928    GeoKernelDuckDb_CreateGeoParquetQueryResult:
5929        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar) -> *mut c_void,
5930    GeoKernelDuckDb_CreatePreparedQueryCursor:
5931        unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
5932    GeoKernelDuckDb_CreatePreparedStatement:
5933        unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
5934    GeoKernelDuckDb_CreateQueryCursor:
5935        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar) -> *mut c_void,
5936    GeoKernelDuckDb_CreateQueryLayer:
5937        unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
5938    GeoKernelDuckDb_CreateQueryResult:
5939        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar) -> *mut c_void,
5940    GeoKernelDuckDb_ExecutePrepared: unsafe extern "C" fn(*mut c_void, *const WChar) -> *mut c_void,
5941    GeoKernelDuckDb_FetchQueryCursor: unsafe extern "C" fn(*mut c_void, i64) -> *mut c_void,
5942    GeoKernelDuckDb_InspectGeoParquetJson:
5943        unsafe extern "C" fn(*mut c_void, *const WChar, *mut WChar, i32) -> i32,
5944    GeoKernelDuckDb_Interrupt: unsafe extern "C" fn(*mut c_void) -> i32,
5945    GeoKernelDuckDb_LastError: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5946    GeoKernelDuckDb_LibraryVersion: unsafe extern "C" fn(*mut WChar, i32) -> i32,
5947    GeoKernelDuckDb_LoadSpatialExtension: unsafe extern "C" fn(*mut c_void, *const WChar) -> i32,
5948    GeoKernelDuckDb_PreparedStatementParameterCount: unsafe extern "C" fn(*mut c_void) -> i64,
5949    GeoKernelDuckDb_QueryCursorFinished: unsafe extern "C" fn(*mut c_void) -> i32,
5950    GeoKernelDuckDb_QueryGeoParquetJson:
5951        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5952    GeoKernelDuckDb_QueryJson:
5953        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5954    GeoKernelDuckDb_QueryResultBinarySize: unsafe extern "C" fn(*mut c_void) -> i64,
5955    GeoKernelDuckDb_RefreshQueryLayer: unsafe extern "C" fn(*mut c_void) -> i32,
5956    GeoKernelDuckDb_Rollback: unsafe extern "C" fn(*mut c_void) -> i32,
5957    GeoKernelDuckDb_WriteGeoParquetJson:
5958        unsafe extern "C" fn(*mut c_void, *const WChar, *const WChar, *mut WChar, i32) -> i32,
5959}
5960impl DuckDbApi {
5961    pub const SYMBOLS: &'static [&'static str] = &[
5962        "GeoKernelDuckDb_BeginTransaction",
5963        "GeoKernelDuckDb_CloseConnection",
5964        "GeoKernelDuckDb_ClosePreparedStatement",
5965        "GeoKernelDuckDb_CloseQueryCursor",
5966        "GeoKernelDuckDb_CloseQueryLayer",
5967        "GeoKernelDuckDb_CloseQueryResult",
5968        "GeoKernelDuckDb_Commit",
5969        "GeoKernelDuckDb_CopyQueryResultBinary",
5970        "GeoKernelDuckDb_CreateConnection",
5971        "GeoKernelDuckDb_CreateGeoParquetQueryCursor",
5972        "GeoKernelDuckDb_CreateGeoParquetQueryResult",
5973        "GeoKernelDuckDb_CreatePreparedQueryCursor",
5974        "GeoKernelDuckDb_CreatePreparedStatement",
5975        "GeoKernelDuckDb_CreateQueryCursor",
5976        "GeoKernelDuckDb_CreateQueryLayer",
5977        "GeoKernelDuckDb_CreateQueryResult",
5978        "GeoKernelDuckDb_ExecutePrepared",
5979        "GeoKernelDuckDb_FetchQueryCursor",
5980        "GeoKernelDuckDb_InspectGeoParquetJson",
5981        "GeoKernelDuckDb_Interrupt",
5982        "GeoKernelDuckDb_LastError",
5983        "GeoKernelDuckDb_LibraryVersion",
5984        "GeoKernelDuckDb_LoadSpatialExtension",
5985        "GeoKernelDuckDb_PreparedStatementParameterCount",
5986        "GeoKernelDuckDb_QueryCursorFinished",
5987        "GeoKernelDuckDb_QueryGeoParquetJson",
5988        "GeoKernelDuckDb_QueryJson",
5989        "GeoKernelDuckDb_QueryResultBinarySize",
5990        "GeoKernelDuckDb_RefreshQueryLayer",
5991        "GeoKernelDuckDb_Rollback",
5992        "GeoKernelDuckDb_WriteGeoParquetJson",
5993    ];
5994    /// Load a trusted, ABI-compatible GeoKernel runtime module.
5995    /// # Safety
5996    /// Library initializers must be safe and every symbol must match this SDK ABI.
5997    pub unsafe fn load(path: &Path) -> Result<Self, LoadError> {
5998        let library = crate::open(path)?;
5999        Ok(Self {
6000            GeoKernelDuckDb_BeginTransaction: *library
6001                .get(b"GeoKernelDuckDb_BeginTransaction\0")?,
6002            GeoKernelDuckDb_CloseConnection: *library.get(b"GeoKernelDuckDb_CloseConnection\0")?,
6003            GeoKernelDuckDb_ClosePreparedStatement: *library
6004                .get(b"GeoKernelDuckDb_ClosePreparedStatement\0")?,
6005            GeoKernelDuckDb_CloseQueryCursor: *library
6006                .get(b"GeoKernelDuckDb_CloseQueryCursor\0")?,
6007            GeoKernelDuckDb_CloseQueryLayer: *library.get(b"GeoKernelDuckDb_CloseQueryLayer\0")?,
6008            GeoKernelDuckDb_CloseQueryResult: *library
6009                .get(b"GeoKernelDuckDb_CloseQueryResult\0")?,
6010            GeoKernelDuckDb_Commit: *library.get(b"GeoKernelDuckDb_Commit\0")?,
6011            GeoKernelDuckDb_CopyQueryResultBinary: *library
6012                .get(b"GeoKernelDuckDb_CopyQueryResultBinary\0")?,
6013            GeoKernelDuckDb_CreateConnection: *library
6014                .get(b"GeoKernelDuckDb_CreateConnection\0")?,
6015            GeoKernelDuckDb_CreateGeoParquetQueryCursor: *library
6016                .get(b"GeoKernelDuckDb_CreateGeoParquetQueryCursor\0")?,
6017            GeoKernelDuckDb_CreateGeoParquetQueryResult: *library
6018                .get(b"GeoKernelDuckDb_CreateGeoParquetQueryResult\0")?,
6019            GeoKernelDuckDb_CreatePreparedQueryCursor: *library
6020                .get(b"GeoKernelDuckDb_CreatePreparedQueryCursor\0")?,
6021            GeoKernelDuckDb_CreatePreparedStatement: *library
6022                .get(b"GeoKernelDuckDb_CreatePreparedStatement\0")?,
6023            GeoKernelDuckDb_CreateQueryCursor: *library
6024                .get(b"GeoKernelDuckDb_CreateQueryCursor\0")?,
6025            GeoKernelDuckDb_CreateQueryLayer: *library
6026                .get(b"GeoKernelDuckDb_CreateQueryLayer\0")?,
6027            GeoKernelDuckDb_CreateQueryResult: *library
6028                .get(b"GeoKernelDuckDb_CreateQueryResult\0")?,
6029            GeoKernelDuckDb_ExecutePrepared: *library.get(b"GeoKernelDuckDb_ExecutePrepared\0")?,
6030            GeoKernelDuckDb_FetchQueryCursor: *library
6031                .get(b"GeoKernelDuckDb_FetchQueryCursor\0")?,
6032            GeoKernelDuckDb_InspectGeoParquetJson: *library
6033                .get(b"GeoKernelDuckDb_InspectGeoParquetJson\0")?,
6034            GeoKernelDuckDb_Interrupt: *library.get(b"GeoKernelDuckDb_Interrupt\0")?,
6035            GeoKernelDuckDb_LastError: *library.get(b"GeoKernelDuckDb_LastError\0")?,
6036            GeoKernelDuckDb_LibraryVersion: *library.get(b"GeoKernelDuckDb_LibraryVersion\0")?,
6037            GeoKernelDuckDb_LoadSpatialExtension: *library
6038                .get(b"GeoKernelDuckDb_LoadSpatialExtension\0")?,
6039            GeoKernelDuckDb_PreparedStatementParameterCount: *library
6040                .get(b"GeoKernelDuckDb_PreparedStatementParameterCount\0")?,
6041            GeoKernelDuckDb_QueryCursorFinished: *library
6042                .get(b"GeoKernelDuckDb_QueryCursorFinished\0")?,
6043            GeoKernelDuckDb_QueryGeoParquetJson: *library
6044                .get(b"GeoKernelDuckDb_QueryGeoParquetJson\0")?,
6045            GeoKernelDuckDb_QueryJson: *library.get(b"GeoKernelDuckDb_QueryJson\0")?,
6046            GeoKernelDuckDb_QueryResultBinarySize: *library
6047                .get(b"GeoKernelDuckDb_QueryResultBinarySize\0")?,
6048            GeoKernelDuckDb_RefreshQueryLayer: *library
6049                .get(b"GeoKernelDuckDb_RefreshQueryLayer\0")?,
6050            GeoKernelDuckDb_Rollback: *library.get(b"GeoKernelDuckDb_Rollback\0")?,
6051            GeoKernelDuckDb_WriteGeoParquetJson: *library
6052                .get(b"GeoKernelDuckDb_WriteGeoParquetJson\0")?,
6053            _library: library,
6054        })
6055    }
6056    /// Native declaration: `int GeoKernelDuckDb_BeginTransaction(void* connection)`.
6057    /// # Safety
6058    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6059    pub unsafe fn GeoKernelDuckDb_BeginTransaction(&self, a0: *mut c_void) -> i32 {
6060        (self.GeoKernelDuckDb_BeginTransaction)(a0)
6061    }
6062    /// Native declaration: `void GeoKernelDuckDb_CloseConnection(void* connection)`.
6063    /// # Safety
6064    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6065    pub unsafe fn GeoKernelDuckDb_CloseConnection(&self, a0: *mut c_void) {
6066        (self.GeoKernelDuckDb_CloseConnection)(a0)
6067    }
6068    /// Native declaration: `void GeoKernelDuckDb_ClosePreparedStatement(void* statement)`.
6069    /// # Safety
6070    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6071    pub unsafe fn GeoKernelDuckDb_ClosePreparedStatement(&self, a0: *mut c_void) {
6072        (self.GeoKernelDuckDb_ClosePreparedStatement)(a0)
6073    }
6074    /// Native declaration: `void GeoKernelDuckDb_CloseQueryCursor(void* cursor)`.
6075    /// # Safety
6076    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6077    pub unsafe fn GeoKernelDuckDb_CloseQueryCursor(&self, a0: *mut c_void) {
6078        (self.GeoKernelDuckDb_CloseQueryCursor)(a0)
6079    }
6080    /// Native declaration: `void GeoKernelDuckDb_CloseQueryLayer(void* layer)`.
6081    /// # Safety
6082    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6083    pub unsafe fn GeoKernelDuckDb_CloseQueryLayer(&self, a0: *mut c_void) {
6084        (self.GeoKernelDuckDb_CloseQueryLayer)(a0)
6085    }
6086    /// Native declaration: `void GeoKernelDuckDb_CloseQueryResult(void* result)`.
6087    /// # Safety
6088    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6089    pub unsafe fn GeoKernelDuckDb_CloseQueryResult(&self, a0: *mut c_void) {
6090        (self.GeoKernelDuckDb_CloseQueryResult)(a0)
6091    }
6092    /// Native declaration: `int GeoKernelDuckDb_Commit(void* connection)`.
6093    /// # Safety
6094    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6095    pub unsafe fn GeoKernelDuckDb_Commit(&self, a0: *mut c_void) -> i32 {
6096        (self.GeoKernelDuckDb_Commit)(a0)
6097    }
6098    /// Native declaration: `long long GeoKernelDuckDb_CopyQueryResultBinary( void* result, unsigned char* buffer, long long bufferLength)`.
6099    /// # Safety
6100    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6101    pub unsafe fn GeoKernelDuckDb_CopyQueryResultBinary(
6102        &self,
6103        a0: *mut c_void,
6104        a1: *mut u8,
6105        a2: i64,
6106    ) -> i64 {
6107        (self.GeoKernelDuckDb_CopyQueryResultBinary)(a0, a1, a2)
6108    }
6109    /// Native declaration: `void* GeoKernelDuckDb_CreateConnection(const wchar_t* databasePath)`.
6110    /// # Safety
6111    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6112    pub unsafe fn GeoKernelDuckDb_CreateConnection(&self, a0: *const WChar) -> *mut c_void {
6113        (self.GeoKernelDuckDb_CreateConnection)(a0)
6114    }
6115    /// Native declaration: `void* GeoKernelDuckDb_CreateGeoParquetQueryCursor(void* connection, const wchar_t* path, const wchar_t* requestJson)`.
6116    /// # Safety
6117    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6118    pub unsafe fn GeoKernelDuckDb_CreateGeoParquetQueryCursor(
6119        &self,
6120        a0: *mut c_void,
6121        a1: *const WChar,
6122        a2: *const WChar,
6123    ) -> *mut c_void {
6124        (self.GeoKernelDuckDb_CreateGeoParquetQueryCursor)(a0, a1, a2)
6125    }
6126    /// Native declaration: `void* GeoKernelDuckDb_CreateGeoParquetQueryResult( void* connection, const wchar_t* path, const wchar_t* requestJson)`.
6127    /// # Safety
6128    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6129    pub unsafe fn GeoKernelDuckDb_CreateGeoParquetQueryResult(
6130        &self,
6131        a0: *mut c_void,
6132        a1: *const WChar,
6133        a2: *const WChar,
6134    ) -> *mut c_void {
6135        (self.GeoKernelDuckDb_CreateGeoParquetQueryResult)(a0, a1, a2)
6136    }
6137    /// Native declaration: `void* GeoKernelDuckDb_CreatePreparedQueryCursor(void* statement, const wchar_t* parametersJson)`.
6138    /// # Safety
6139    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6140    pub unsafe fn GeoKernelDuckDb_CreatePreparedQueryCursor(
6141        &self,
6142        a0: *mut c_void,
6143        a1: *const WChar,
6144    ) -> *mut c_void {
6145        (self.GeoKernelDuckDb_CreatePreparedQueryCursor)(a0, a1)
6146    }
6147    /// Native declaration: `void* GeoKernelDuckDb_CreatePreparedStatement(void* connection, const wchar_t* sql)`.
6148    /// # Safety
6149    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6150    pub unsafe fn GeoKernelDuckDb_CreatePreparedStatement(
6151        &self,
6152        a0: *mut c_void,
6153        a1: *const WChar,
6154    ) -> *mut c_void {
6155        (self.GeoKernelDuckDb_CreatePreparedStatement)(a0, a1)
6156    }
6157    /// Native declaration: `void* GeoKernelDuckDb_CreateQueryCursor(void* connection, const wchar_t* sql, const wchar_t* parametersJson)`.
6158    /// # Safety
6159    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6160    pub unsafe fn GeoKernelDuckDb_CreateQueryCursor(
6161        &self,
6162        a0: *mut c_void,
6163        a1: *const WChar,
6164        a2: *const WChar,
6165    ) -> *mut c_void {
6166        (self.GeoKernelDuckDb_CreateQueryCursor)(a0, a1, a2)
6167    }
6168    /// Native declaration: `void* GeoKernelDuckDb_CreateQueryLayer(void* connection, const wchar_t* requestJson)`.
6169    /// # Safety
6170    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6171    pub unsafe fn GeoKernelDuckDb_CreateQueryLayer(
6172        &self,
6173        a0: *mut c_void,
6174        a1: *const WChar,
6175    ) -> *mut c_void {
6176        (self.GeoKernelDuckDb_CreateQueryLayer)(a0, a1)
6177    }
6178    /// Native declaration: `void* GeoKernelDuckDb_CreateQueryResult( void* connection, const wchar_t* sql, const wchar_t* parametersJson)`.
6179    /// # Safety
6180    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6181    pub unsafe fn GeoKernelDuckDb_CreateQueryResult(
6182        &self,
6183        a0: *mut c_void,
6184        a1: *const WChar,
6185        a2: *const WChar,
6186    ) -> *mut c_void {
6187        (self.GeoKernelDuckDb_CreateQueryResult)(a0, a1, a2)
6188    }
6189    /// Native declaration: `void* GeoKernelDuckDb_ExecutePrepared(void* statement, const wchar_t* parametersJson)`.
6190    /// # Safety
6191    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6192    pub unsafe fn GeoKernelDuckDb_ExecutePrepared(
6193        &self,
6194        a0: *mut c_void,
6195        a1: *const WChar,
6196    ) -> *mut c_void {
6197        (self.GeoKernelDuckDb_ExecutePrepared)(a0, a1)
6198    }
6199    /// Native declaration: `void* GeoKernelDuckDb_FetchQueryCursor(void* cursor, long long maximumRows)`.
6200    /// # Safety
6201    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6202    pub unsafe fn GeoKernelDuckDb_FetchQueryCursor(&self, a0: *mut c_void, a1: i64) -> *mut c_void {
6203        (self.GeoKernelDuckDb_FetchQueryCursor)(a0, a1)
6204    }
6205    /// Native declaration: `int GeoKernelDuckDb_InspectGeoParquetJson( void* connection, const wchar_t* path, wchar_t* buffer, int bufferLength)`.
6206    /// # Safety
6207    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6208    pub unsafe fn GeoKernelDuckDb_InspectGeoParquetJson(
6209        &self,
6210        a0: *mut c_void,
6211        a1: *const WChar,
6212        a2: *mut WChar,
6213        a3: i32,
6214    ) -> i32 {
6215        (self.GeoKernelDuckDb_InspectGeoParquetJson)(a0, a1, a2, a3)
6216    }
6217    /// Native declaration: `int GeoKernelDuckDb_Interrupt(void* connection)`.
6218    /// # Safety
6219    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6220    pub unsafe fn GeoKernelDuckDb_Interrupt(&self, a0: *mut c_void) -> i32 {
6221        (self.GeoKernelDuckDb_Interrupt)(a0)
6222    }
6223    /// Native declaration: `int GeoKernelDuckDb_LastError(wchar_t* buffer, int bufferLength)`.
6224    /// # Safety
6225    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6226    pub unsafe fn GeoKernelDuckDb_LastError(&self, a0: *mut WChar, a1: i32) -> i32 {
6227        (self.GeoKernelDuckDb_LastError)(a0, a1)
6228    }
6229    /// Native declaration: `int GeoKernelDuckDb_LibraryVersion(wchar_t* buffer, int bufferLength)`.
6230    /// # Safety
6231    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6232    pub unsafe fn GeoKernelDuckDb_LibraryVersion(&self, a0: *mut WChar, a1: i32) -> i32 {
6233        (self.GeoKernelDuckDb_LibraryVersion)(a0, a1)
6234    }
6235    /// Native declaration: `int GeoKernelDuckDb_LoadSpatialExtension( void* connection, const wchar_t* extensionDirectory)`.
6236    /// # Safety
6237    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6238    pub unsafe fn GeoKernelDuckDb_LoadSpatialExtension(
6239        &self,
6240        a0: *mut c_void,
6241        a1: *const WChar,
6242    ) -> i32 {
6243        (self.GeoKernelDuckDb_LoadSpatialExtension)(a0, a1)
6244    }
6245    /// Native declaration: `long long GeoKernelDuckDb_PreparedStatementParameterCount(void* statement)`.
6246    /// # Safety
6247    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6248    pub unsafe fn GeoKernelDuckDb_PreparedStatementParameterCount(&self, a0: *mut c_void) -> i64 {
6249        (self.GeoKernelDuckDb_PreparedStatementParameterCount)(a0)
6250    }
6251    /// Native declaration: `int GeoKernelDuckDb_QueryCursorFinished(void* cursor)`.
6252    /// # Safety
6253    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6254    pub unsafe fn GeoKernelDuckDb_QueryCursorFinished(&self, a0: *mut c_void) -> i32 {
6255        (self.GeoKernelDuckDb_QueryCursorFinished)(a0)
6256    }
6257    /// Native declaration: `int GeoKernelDuckDb_QueryGeoParquetJson( void* connection, const wchar_t* path, const wchar_t* requestJson, wchar_t* buffer, int bufferLength)`.
6258    /// # Safety
6259    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6260    pub unsafe fn GeoKernelDuckDb_QueryGeoParquetJson(
6261        &self,
6262        a0: *mut c_void,
6263        a1: *const WChar,
6264        a2: *const WChar,
6265        a3: *mut WChar,
6266        a4: i32,
6267    ) -> i32 {
6268        (self.GeoKernelDuckDb_QueryGeoParquetJson)(a0, a1, a2, a3, a4)
6269    }
6270    /// Native declaration: `int GeoKernelDuckDb_QueryJson( void* connection, const wchar_t* sql, const wchar_t* parametersJson, wchar_t* buffer, int bufferLength)`.
6271    /// # Safety
6272    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6273    pub unsafe fn GeoKernelDuckDb_QueryJson(
6274        &self,
6275        a0: *mut c_void,
6276        a1: *const WChar,
6277        a2: *const WChar,
6278        a3: *mut WChar,
6279        a4: i32,
6280    ) -> i32 {
6281        (self.GeoKernelDuckDb_QueryJson)(a0, a1, a2, a3, a4)
6282    }
6283    /// Native declaration: `long long GeoKernelDuckDb_QueryResultBinarySize(void* result)`.
6284    /// # Safety
6285    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6286    pub unsafe fn GeoKernelDuckDb_QueryResultBinarySize(&self, a0: *mut c_void) -> i64 {
6287        (self.GeoKernelDuckDb_QueryResultBinarySize)(a0)
6288    }
6289    /// Native declaration: `int GeoKernelDuckDb_RefreshQueryLayer(void* layer)`.
6290    /// # Safety
6291    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6292    pub unsafe fn GeoKernelDuckDb_RefreshQueryLayer(&self, a0: *mut c_void) -> i32 {
6293        (self.GeoKernelDuckDb_RefreshQueryLayer)(a0)
6294    }
6295    /// Native declaration: `int GeoKernelDuckDb_Rollback(void* connection)`.
6296    /// # Safety
6297    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6298    pub unsafe fn GeoKernelDuckDb_Rollback(&self, a0: *mut c_void) -> i32 {
6299        (self.GeoKernelDuckDb_Rollback)(a0)
6300    }
6301    /// Native declaration: `int GeoKernelDuckDb_WriteGeoParquetJson( void* connection, const wchar_t* path, const wchar_t* requestJson, wchar_t* buffer, int bufferLength)`.
6302    /// # Safety
6303    /// Obey the native pointer, ownership, buffer, thread, and callback contracts.
6304    pub unsafe fn GeoKernelDuckDb_WriteGeoParquetJson(
6305        &self,
6306        a0: *mut c_void,
6307        a1: *const WChar,
6308        a2: *const WChar,
6309        a3: *mut WChar,
6310        a4: i32,
6311    ) -> i32 {
6312        (self.GeoKernelDuckDb_WriteGeoParquetJson)(a0, a1, a2, a3, a4)
6313    }
6314}