1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7 clippy::approx_constant,
8 clippy::type_complexity,
9 clippy::unreadable_literal,
10 clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use glib_sys as glib;
15
16#[cfg(unix)]
17#[allow(unused_imports)]
18use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
19#[allow(unused_imports)]
20use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
21#[allow(unused_imports)]
22use std::ffi::{
23 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
24};
25
26#[allow(unused_imports)]
27use glib::{gboolean, gconstpointer, gpointer, GType};
28
29pub const G_TYPE_INVALID: GType = 0 << G_TYPE_FUNDAMENTAL_SHIFT;
30pub const G_TYPE_NONE: GType = 1 << G_TYPE_FUNDAMENTAL_SHIFT;
31pub const G_TYPE_INTERFACE: GType = 2 << G_TYPE_FUNDAMENTAL_SHIFT;
32pub const G_TYPE_CHAR: GType = 3 << G_TYPE_FUNDAMENTAL_SHIFT;
33pub const G_TYPE_UCHAR: GType = 4 << G_TYPE_FUNDAMENTAL_SHIFT;
34pub const G_TYPE_BOOLEAN: GType = 5 << G_TYPE_FUNDAMENTAL_SHIFT;
35pub const G_TYPE_INT: GType = 6 << G_TYPE_FUNDAMENTAL_SHIFT;
36pub const G_TYPE_UINT: GType = 7 << G_TYPE_FUNDAMENTAL_SHIFT;
37pub const G_TYPE_LONG: GType = 8 << G_TYPE_FUNDAMENTAL_SHIFT;
38pub const G_TYPE_ULONG: GType = 9 << G_TYPE_FUNDAMENTAL_SHIFT;
39pub const G_TYPE_INT64: GType = 10 << G_TYPE_FUNDAMENTAL_SHIFT;
40pub const G_TYPE_UINT64: GType = 11 << G_TYPE_FUNDAMENTAL_SHIFT;
41pub const G_TYPE_ENUM: GType = 12 << G_TYPE_FUNDAMENTAL_SHIFT;
42pub const G_TYPE_FLAGS: GType = 13 << G_TYPE_FUNDAMENTAL_SHIFT;
43pub const G_TYPE_FLOAT: GType = 14 << G_TYPE_FUNDAMENTAL_SHIFT;
44pub const G_TYPE_DOUBLE: GType = 15 << G_TYPE_FUNDAMENTAL_SHIFT;
45pub const G_TYPE_STRING: GType = 16 << G_TYPE_FUNDAMENTAL_SHIFT;
46pub const G_TYPE_POINTER: GType = 17 << G_TYPE_FUNDAMENTAL_SHIFT;
47pub const G_TYPE_BOXED: GType = 18 << G_TYPE_FUNDAMENTAL_SHIFT;
48pub const G_TYPE_PARAM: GType = 19 << G_TYPE_FUNDAMENTAL_SHIFT;
49pub const G_TYPE_OBJECT: GType = 20 << G_TYPE_FUNDAMENTAL_SHIFT;
50pub const G_TYPE_VARIANT: GType = 21 << G_TYPE_FUNDAMENTAL_SHIFT;
51
52pub type GSignalCMarshaller = GClosureMarshal;
54
55pub const G_PARAM_MASK: c_int = 255;
57pub const G_PARAM_STATIC_STRINGS: c_int = 224;
58pub const G_PARAM_USER_SHIFT: c_int = 8;
59pub const G_SIGNAL_FLAGS_MASK: c_int = 511;
60pub const G_SIGNAL_MATCH_MASK: c_int = 63;
61pub const G_TYPE_FLAG_RESERVED_ID_BIT: GType = 1;
62pub const G_TYPE_FUNDAMENTAL_MAX: c_int = 1020;
63pub const G_TYPE_FUNDAMENTAL_SHIFT: c_int = 2;
64pub const G_TYPE_RESERVED_BSE_FIRST: c_int = 32;
65pub const G_TYPE_RESERVED_BSE_LAST: c_int = 48;
66pub const G_TYPE_RESERVED_GLIB_FIRST: c_int = 22;
67pub const G_TYPE_RESERVED_GLIB_LAST: c_int = 31;
68pub const G_TYPE_RESERVED_USER_FIRST: c_int = 49;
69pub const G_VALUE_COLLECT_FORMAT_MAX_LENGTH: c_int = 8;
70pub const G_VALUE_INTERNED_STRING: c_int = 268435456;
71pub const G_VALUE_NOCOPY_CONTENTS: c_int = 134217728;
72
73pub type GBindingFlags = c_uint;
75pub const G_BINDING_DEFAULT: GBindingFlags = 0;
76pub const G_BINDING_BIDIRECTIONAL: GBindingFlags = 1;
77pub const G_BINDING_SYNC_CREATE: GBindingFlags = 2;
78pub const G_BINDING_INVERT_BOOLEAN: GBindingFlags = 4;
79
80pub type GConnectFlags = c_uint;
81pub const G_CONNECT_DEFAULT: GConnectFlags = 0;
82pub const G_CONNECT_AFTER: GConnectFlags = 1;
83pub const G_CONNECT_SWAPPED: GConnectFlags = 2;
84
85pub type GIOCondition = c_uint;
86pub const G_IO_IN: GIOCondition = 1;
87pub const G_IO_OUT: GIOCondition = 4;
88pub const G_IO_PRI: GIOCondition = 2;
89pub const G_IO_ERR: GIOCondition = 8;
90pub const G_IO_HUP: GIOCondition = 16;
91pub const G_IO_NVAL: GIOCondition = 32;
92
93pub type GParamFlags = c_uint;
94pub const G_PARAM_READABLE: GParamFlags = 1;
95pub const G_PARAM_WRITABLE: GParamFlags = 2;
96pub const G_PARAM_READWRITE: GParamFlags = 3;
97pub const G_PARAM_CONSTRUCT: GParamFlags = 4;
98pub const G_PARAM_CONSTRUCT_ONLY: GParamFlags = 8;
99pub const G_PARAM_LAX_VALIDATION: GParamFlags = 16;
100pub const G_PARAM_STATIC_NAME: GParamFlags = 32;
101pub const G_PARAM_PRIVATE: GParamFlags = 32;
102pub const G_PARAM_STATIC_NICK: GParamFlags = 64;
103pub const G_PARAM_STATIC_BLURB: GParamFlags = 128;
104pub const G_PARAM_EXPLICIT_NOTIFY: GParamFlags = 1073741824;
105pub const G_PARAM_DEPRECATED: GParamFlags = 2147483648;
106
107pub type GSignalFlags = c_uint;
108pub const G_SIGNAL_RUN_FIRST: GSignalFlags = 1;
109pub const G_SIGNAL_RUN_LAST: GSignalFlags = 2;
110pub const G_SIGNAL_RUN_CLEANUP: GSignalFlags = 4;
111pub const G_SIGNAL_NO_RECURSE: GSignalFlags = 8;
112pub const G_SIGNAL_DETAILED: GSignalFlags = 16;
113pub const G_SIGNAL_ACTION: GSignalFlags = 32;
114pub const G_SIGNAL_NO_HOOKS: GSignalFlags = 64;
115pub const G_SIGNAL_MUST_COLLECT: GSignalFlags = 128;
116pub const G_SIGNAL_DEPRECATED: GSignalFlags = 256;
117#[cfg(feature = "v2_68")]
118#[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
119pub const G_SIGNAL_ACCUMULATOR_FIRST_RUN: GSignalFlags = 131072;
120
121pub type GSignalMatchType = c_uint;
122pub const G_SIGNAL_MATCH_ID: GSignalMatchType = 1;
123pub const G_SIGNAL_MATCH_DETAIL: GSignalMatchType = 2;
124pub const G_SIGNAL_MATCH_CLOSURE: GSignalMatchType = 4;
125pub const G_SIGNAL_MATCH_FUNC: GSignalMatchType = 8;
126pub const G_SIGNAL_MATCH_DATA: GSignalMatchType = 16;
127pub const G_SIGNAL_MATCH_UNBLOCKED: GSignalMatchType = 32;
128
129pub type GTypeDebugFlags = c_uint;
130pub const G_TYPE_DEBUG_NONE: GTypeDebugFlags = 0;
131pub const G_TYPE_DEBUG_OBJECTS: GTypeDebugFlags = 1;
132pub const G_TYPE_DEBUG_SIGNALS: GTypeDebugFlags = 2;
133pub const G_TYPE_DEBUG_INSTANCE_COUNT: GTypeDebugFlags = 4;
134pub const G_TYPE_DEBUG_MASK: GTypeDebugFlags = 7;
135
136pub type GTypeFlags = c_uint;
137pub const G_TYPE_FLAG_NONE: GTypeFlags = 0;
138pub const G_TYPE_FLAG_ABSTRACT: GTypeFlags = 16;
139pub const G_TYPE_FLAG_VALUE_ABSTRACT: GTypeFlags = 32;
140pub const G_TYPE_FLAG_FINAL: GTypeFlags = 64;
141pub const G_TYPE_FLAG_DEPRECATED: GTypeFlags = 128;
142
143pub type GTypeFundamentalFlags = c_uint;
144pub const G_TYPE_FLAG_CLASSED: GTypeFundamentalFlags = 1;
145pub const G_TYPE_FLAG_INSTANTIATABLE: GTypeFundamentalFlags = 2;
146pub const G_TYPE_FLAG_DERIVABLE: GTypeFundamentalFlags = 4;
147pub const G_TYPE_FLAG_DEEP_DERIVABLE: GTypeFundamentalFlags = 8;
148
149#[derive(Copy, Clone)]
151#[repr(C)]
152pub union GTypeCValue {
153 pub v_int: c_int,
154 pub v_long: c_long,
155 pub v_int64: i64,
156 pub v_double: c_double,
157 pub v_pointer: gpointer,
158}
159
160impl ::std::fmt::Debug for GTypeCValue {
161 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
162 f.debug_struct(&format!("GTypeCValue @ {self:p}"))
163 .field("v_int", unsafe { &self.v_int })
164 .field("v_long", unsafe { &self.v_long })
165 .field("v_int64", unsafe { &self.v_int64 })
166 .field("v_double", unsafe { &self.v_double })
167 .field("v_pointer", unsafe { &self.v_pointer })
168 .finish()
169 }
170}
171
172#[derive(Copy, Clone)]
173#[repr(C)]
174pub union GValue_data {
175 pub v_int: c_int,
176 pub v_uint: c_uint,
177 pub v_long: c_long,
178 pub v_ulong: c_ulong,
179 pub v_int64: i64,
180 pub v_uint64: u64,
181 pub v_float: c_float,
182 pub v_double: c_double,
183 pub v_pointer: gpointer,
184}
185
186impl ::std::fmt::Debug for GValue_data {
187 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
188 f.debug_struct(&format!("GValue_data @ {self:p}"))
189 .field("v_int", unsafe { &self.v_int })
190 .field("v_uint", unsafe { &self.v_uint })
191 .field("v_long", unsafe { &self.v_long })
192 .field("v_ulong", unsafe { &self.v_ulong })
193 .field("v_int64", unsafe { &self.v_int64 })
194 .field("v_uint64", unsafe { &self.v_uint64 })
195 .field("v_float", unsafe { &self.v_float })
196 .field("v_double", unsafe { &self.v_double })
197 .field("v_pointer", unsafe { &self.v_pointer })
198 .finish()
199 }
200}
201
202#[derive(Copy, Clone)]
203#[repr(C)]
204pub union GWeakRef_priv {
205 pub p: gpointer,
206}
207
208impl ::std::fmt::Debug for GWeakRef_priv {
209 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
210 f.debug_struct(&format!("GWeakRef_priv @ {self:p}"))
211 .field("p", unsafe { &self.p })
212 .finish()
213 }
214}
215
216pub type GBaseFinalizeFunc = Option<unsafe extern "C" fn(gpointer)>;
218pub type GBaseInitFunc = Option<unsafe extern "C" fn(gpointer)>;
219pub type GBindingTransformFunc =
220 Option<unsafe extern "C" fn(*mut GBinding, *const GValue, *mut GValue, gpointer) -> gboolean>;
221pub type GBoxedCopyFunc = Option<unsafe extern "C" fn(gpointer) -> gpointer>;
222pub type GBoxedFreeFunc = Option<unsafe extern "C" fn(gpointer)>;
223pub type GCallback = Option<unsafe extern "C" fn()>;
224pub type GClassFinalizeFunc = Option<unsafe extern "C" fn(gpointer, gpointer)>;
225pub type GClassInitFunc = Option<unsafe extern "C" fn(gpointer, gpointer)>;
226pub type GClosureMarshal = Option<
227 unsafe extern "C" fn(*mut GClosure, *mut GValue, c_uint, *const GValue, gpointer, gpointer),
228>;
229pub type GClosureNotify = Option<unsafe extern "C" fn(gpointer, *mut GClosure)>;
230pub type GInstanceInitFunc = Option<unsafe extern "C" fn(*mut GTypeInstance, gpointer)>;
231pub type GInterfaceFinalizeFunc = Option<unsafe extern "C" fn(gpointer, gpointer)>;
232pub type GInterfaceInitFunc = Option<unsafe extern "C" fn(gpointer, gpointer)>;
233pub type GObjectFinalizeFunc = Option<unsafe extern "C" fn(*mut GObject)>;
234pub type GObjectGetPropertyFunc =
235 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut GValue, *mut GParamSpec)>;
236pub type GObjectSetPropertyFunc =
237 Option<unsafe extern "C" fn(*mut GObject, c_uint, *const GValue, *mut GParamSpec)>;
238pub type GSignalAccumulator = Option<
239 unsafe extern "C" fn(
240 *mut GSignalInvocationHint,
241 *mut GValue,
242 *const GValue,
243 gpointer,
244 ) -> gboolean,
245>;
246pub type GSignalEmissionHook = Option<
247 unsafe extern "C" fn(*mut GSignalInvocationHint, c_uint, *const GValue, gpointer) -> gboolean,
248>;
249pub type GToggleNotify = Option<unsafe extern "C" fn(gpointer, *mut GObject, gboolean)>;
250pub type GTypeClassCacheFunc = Option<unsafe extern "C" fn(gpointer, *mut GTypeClass) -> gboolean>;
251pub type GTypeInterfaceCheckFunc = Option<unsafe extern "C" fn(gpointer, gpointer)>;
252pub type GTypePluginCompleteInterfaceInfo =
253 Option<unsafe extern "C" fn(*mut GTypePlugin, GType, GType, *mut GInterfaceInfo)>;
254pub type GTypePluginCompleteTypeInfo =
255 Option<unsafe extern "C" fn(*mut GTypePlugin, GType, *mut GTypeInfo, *mut GTypeValueTable)>;
256pub type GTypePluginUnuse = Option<unsafe extern "C" fn(*mut GTypePlugin)>;
257pub type GTypePluginUse = Option<unsafe extern "C" fn(*mut GTypePlugin)>;
258pub type GTypeValueCollectFunc =
259 Option<unsafe extern "C" fn(*mut GValue, c_uint, *mut GTypeCValue, c_uint) -> *mut c_char>;
260pub type GTypeValueCopyFunc = Option<unsafe extern "C" fn(*const GValue, *mut GValue)>;
261pub type GTypeValueFreeFunc = Option<unsafe extern "C" fn(*mut GValue)>;
262pub type GTypeValueInitFunc = Option<unsafe extern "C" fn(*mut GValue)>;
263pub type GTypeValueLCopyFunc =
264 Option<unsafe extern "C" fn(*const GValue, c_uint, *mut GTypeCValue, c_uint) -> *mut c_char>;
265pub type GTypeValuePeekPointerFunc = Option<unsafe extern "C" fn(*const GValue) -> gpointer>;
266pub type GValueTransform = Option<unsafe extern "C" fn(*const GValue, *mut GValue)>;
268pub type GWeakNotify = Option<unsafe extern "C" fn(gpointer, *mut GObject)>;
269
270#[repr(C)]
272#[allow(dead_code)]
273pub struct GCClosure {
274 _truncated_record_marker: c_void,
275 }
277
278impl ::std::fmt::Debug for GCClosure {
279 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
280 f.debug_struct(&format!("GCClosure @ {self:p}")).finish()
281 }
282}
283
284#[repr(C)]
285#[allow(dead_code)]
286pub struct GClosure {
287 pub ref_count: c_uint,
288 _truncated_record_marker: c_void,
289 }
291
292impl ::std::fmt::Debug for GClosure {
293 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
294 f.debug_struct(&format!("GClosure @ {self:p}")).finish()
295 }
296}
297
298#[derive(Copy, Clone)]
299#[repr(C)]
300pub struct GClosureNotifyData {
301 pub data: gpointer,
302 pub notify: GClosureNotify,
303}
304
305impl ::std::fmt::Debug for GClosureNotifyData {
306 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
307 f.debug_struct(&format!("GClosureNotifyData @ {self:p}"))
308 .field("data", &self.data)
309 .field("notify", &self.notify)
310 .finish()
311 }
312}
313
314#[derive(Copy, Clone)]
315#[repr(C)]
316pub struct GEnumClass {
317 pub g_type_class: GTypeClass,
318 pub minimum: c_int,
319 pub maximum: c_int,
320 pub n_values: c_uint,
321 pub values: *mut GEnumValue,
322}
323
324impl ::std::fmt::Debug for GEnumClass {
325 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
326 f.debug_struct(&format!("GEnumClass @ {self:p}"))
327 .field("g_type_class", &self.g_type_class)
328 .field("minimum", &self.minimum)
329 .field("maximum", &self.maximum)
330 .field("n_values", &self.n_values)
331 .field("values", &self.values)
332 .finish()
333 }
334}
335
336#[derive(Copy, Clone)]
337#[repr(C)]
338pub struct GEnumValue {
339 pub value: c_int,
340 pub value_name: *const c_char,
341 pub value_nick: *const c_char,
342}
343
344impl ::std::fmt::Debug for GEnumValue {
345 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
346 f.debug_struct(&format!("GEnumValue @ {self:p}"))
347 .field("value", &self.value)
348 .field("value_name", &self.value_name)
349 .field("value_nick", &self.value_nick)
350 .finish()
351 }
352}
353
354#[derive(Copy, Clone)]
355#[repr(C)]
356pub struct GFlagsClass {
357 pub g_type_class: GTypeClass,
358 pub mask: c_uint,
359 pub n_values: c_uint,
360 pub values: *mut GFlagsValue,
361}
362
363impl ::std::fmt::Debug for GFlagsClass {
364 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
365 f.debug_struct(&format!("GFlagsClass @ {self:p}"))
366 .field("g_type_class", &self.g_type_class)
367 .field("mask", &self.mask)
368 .field("n_values", &self.n_values)
369 .field("values", &self.values)
370 .finish()
371 }
372}
373
374#[derive(Copy, Clone)]
375#[repr(C)]
376pub struct GFlagsValue {
377 pub value: c_uint,
378 pub value_name: *const c_char,
379 pub value_nick: *const c_char,
380}
381
382impl ::std::fmt::Debug for GFlagsValue {
383 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
384 f.debug_struct(&format!("GFlagsValue @ {self:p}"))
385 .field("value", &self.value)
386 .field("value_name", &self.value_name)
387 .field("value_nick", &self.value_nick)
388 .finish()
389 }
390}
391
392#[derive(Copy, Clone)]
393#[repr(C)]
394pub struct GInitiallyUnownedClass {
395 pub g_type_class: GTypeClass,
396 pub construct_properties: *mut glib::GSList,
397 pub constructor:
398 Option<unsafe extern "C" fn(GType, c_uint, *mut GObjectConstructParam) -> *mut GObject>,
399 pub set_property:
400 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut GValue, *mut GParamSpec)>,
401 pub get_property:
402 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut GValue, *mut GParamSpec)>,
403 pub dispose: Option<unsafe extern "C" fn(*mut GObject)>,
404 pub finalize: Option<unsafe extern "C" fn(*mut GObject)>,
405 pub dispatch_properties_changed:
406 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut *mut GParamSpec)>,
407 pub notify: Option<unsafe extern "C" fn(*mut GObject, *mut GParamSpec)>,
408 pub constructed: Option<unsafe extern "C" fn(*mut GObject)>,
409 pub flags: size_t,
410 pub n_construct_properties: size_t,
411 pub pspecs: gpointer,
412 pub n_pspecs: size_t,
413 pub pdummy: [gpointer; 3],
414}
415
416impl ::std::fmt::Debug for GInitiallyUnownedClass {
417 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
418 f.debug_struct(&format!("GInitiallyUnownedClass @ {self:p}"))
419 .field("g_type_class", &self.g_type_class)
420 .field("constructor", &self.constructor)
421 .field("set_property", &self.set_property)
422 .field("get_property", &self.get_property)
423 .field("dispose", &self.dispose)
424 .field("finalize", &self.finalize)
425 .field(
426 "dispatch_properties_changed",
427 &self.dispatch_properties_changed,
428 )
429 .field("notify", &self.notify)
430 .field("constructed", &self.constructed)
431 .finish()
432 }
433}
434
435#[derive(Copy, Clone)]
436#[repr(C)]
437pub struct GInterfaceInfo {
438 pub interface_init: GInterfaceInitFunc,
439 pub interface_finalize: GInterfaceFinalizeFunc,
440 pub interface_data: gpointer,
441}
442
443impl ::std::fmt::Debug for GInterfaceInfo {
444 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
445 f.debug_struct(&format!("GInterfaceInfo @ {self:p}"))
446 .field("interface_init", &self.interface_init)
447 .field("interface_finalize", &self.interface_finalize)
448 .field("interface_data", &self.interface_data)
449 .finish()
450 }
451}
452
453#[derive(Copy, Clone)]
454#[repr(C)]
455pub struct GObjectClass {
456 pub g_type_class: GTypeClass,
457 pub construct_properties: *mut glib::GSList,
458 pub constructor:
459 Option<unsafe extern "C" fn(GType, c_uint, *mut GObjectConstructParam) -> *mut GObject>,
460 pub set_property:
461 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut GValue, *mut GParamSpec)>,
462 pub get_property:
463 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut GValue, *mut GParamSpec)>,
464 pub dispose: Option<unsafe extern "C" fn(*mut GObject)>,
465 pub finalize: Option<unsafe extern "C" fn(*mut GObject)>,
466 pub dispatch_properties_changed:
467 Option<unsafe extern "C" fn(*mut GObject, c_uint, *mut *mut GParamSpec)>,
468 pub notify: Option<unsafe extern "C" fn(*mut GObject, *mut GParamSpec)>,
469 pub constructed: Option<unsafe extern "C" fn(*mut GObject)>,
470 pub flags: size_t,
471 pub n_construct_properties: size_t,
472 pub pspecs: gpointer,
473 pub n_pspecs: size_t,
474 pub pdummy: [gpointer; 3],
475}
476
477impl ::std::fmt::Debug for GObjectClass {
478 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
479 f.debug_struct(&format!("GObjectClass @ {self:p}"))
480 .field("g_type_class", &self.g_type_class)
481 .field("constructor", &self.constructor)
482 .field("set_property", &self.set_property)
483 .field("get_property", &self.get_property)
484 .field("dispose", &self.dispose)
485 .field("finalize", &self.finalize)
486 .field(
487 "dispatch_properties_changed",
488 &self.dispatch_properties_changed,
489 )
490 .field("notify", &self.notify)
491 .field("constructed", &self.constructed)
492 .finish()
493 }
494}
495
496#[derive(Copy, Clone)]
497#[repr(C)]
498pub struct GObjectConstructParam {
499 pub pspec: *mut GParamSpec,
500 pub value: *mut GValue,
501}
502
503impl ::std::fmt::Debug for GObjectConstructParam {
504 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
505 f.debug_struct(&format!("GObjectConstructParam @ {self:p}"))
506 .field("pspec", &self.pspec)
507 .field("value", &self.value)
508 .finish()
509 }
510}
511
512#[derive(Copy, Clone)]
513#[repr(C)]
514pub struct GParamSpecClass {
515 pub g_type_class: GTypeClass,
516 pub value_type: GType,
517 pub finalize: Option<unsafe extern "C" fn(*mut GParamSpec)>,
518 pub value_set_default: Option<unsafe extern "C" fn(*mut GParamSpec, *mut GValue)>,
519 pub value_validate: Option<unsafe extern "C" fn(*mut GParamSpec, *mut GValue) -> gboolean>,
520 pub values_cmp:
521 Option<unsafe extern "C" fn(*mut GParamSpec, *const GValue, *const GValue) -> c_int>,
522 pub value_is_valid: Option<unsafe extern "C" fn(*mut GParamSpec, *mut GValue) -> gboolean>,
523 pub dummy: [gpointer; 3],
524}
525
526impl ::std::fmt::Debug for GParamSpecClass {
527 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
528 f.debug_struct(&format!("GParamSpecClass @ {self:p}"))
529 .field("g_type_class", &self.g_type_class)
530 .field("value_type", &self.value_type)
531 .field("finalize", &self.finalize)
532 .field("value_set_default", &self.value_set_default)
533 .field("value_validate", &self.value_validate)
534 .field("values_cmp", &self.values_cmp)
535 .field("value_is_valid", &self.value_is_valid)
536 .finish()
537 }
538}
539
540#[repr(C)]
541#[allow(dead_code)]
542pub struct _GParamSpecPool {
543 _data: [u8; 0],
544 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
545}
546
547pub type GParamSpecPool = _GParamSpecPool;
548
549#[derive(Copy, Clone)]
550#[repr(C)]
551pub struct GParamSpecTypeInfo {
552 pub instance_size: u16,
553 pub n_preallocs: u16,
554 pub instance_init: Option<unsafe extern "C" fn(*mut GParamSpec)>,
555 pub value_type: GType,
556 pub finalize: Option<unsafe extern "C" fn(*mut GParamSpec)>,
557 pub value_set_default: Option<unsafe extern "C" fn(*mut GParamSpec, *mut GValue)>,
558 pub value_validate: Option<unsafe extern "C" fn(*mut GParamSpec, *mut GValue) -> gboolean>,
559 pub values_cmp:
560 Option<unsafe extern "C" fn(*mut GParamSpec, *const GValue, *const GValue) -> c_int>,
561}
562
563impl ::std::fmt::Debug for GParamSpecTypeInfo {
564 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
565 f.debug_struct(&format!("GParamSpecTypeInfo @ {self:p}"))
566 .field("instance_size", &self.instance_size)
567 .field("n_preallocs", &self.n_preallocs)
568 .field("instance_init", &self.instance_init)
569 .field("value_type", &self.value_type)
570 .field("finalize", &self.finalize)
571 .field("value_set_default", &self.value_set_default)
572 .field("value_validate", &self.value_validate)
573 .field("values_cmp", &self.values_cmp)
574 .finish()
575 }
576}
577
578#[derive(Copy, Clone)]
579#[repr(C)]
580pub struct GParameter {
581 pub name: *const c_char,
582 pub value: GValue,
583}
584
585impl ::std::fmt::Debug for GParameter {
586 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
587 f.debug_struct(&format!("GParameter @ {self:p}"))
588 .field("name", &self.name)
589 .field("value", &self.value)
590 .finish()
591 }
592}
593
594#[derive(Copy, Clone)]
595#[repr(C)]
596pub struct GSignalInvocationHint {
597 pub signal_id: c_uint,
598 pub detail: glib::GQuark,
599 pub run_type: GSignalFlags,
600}
601
602impl ::std::fmt::Debug for GSignalInvocationHint {
603 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
604 f.debug_struct(&format!("GSignalInvocationHint @ {self:p}"))
605 .field("signal_id", &self.signal_id)
606 .field("detail", &self.detail)
607 .field("run_type", &self.run_type)
608 .finish()
609 }
610}
611
612#[derive(Copy, Clone)]
613#[repr(C)]
614pub struct GSignalQuery {
615 pub signal_id: c_uint,
616 pub signal_name: *const c_char,
617 pub itype: GType,
618 pub signal_flags: GSignalFlags,
619 pub return_type: GType,
620 pub n_params: c_uint,
621 pub param_types: *const GType,
622}
623
624impl ::std::fmt::Debug for GSignalQuery {
625 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
626 f.debug_struct(&format!("GSignalQuery @ {self:p}"))
627 .field("signal_id", &self.signal_id)
628 .field("signal_name", &self.signal_name)
629 .field("itype", &self.itype)
630 .field("signal_flags", &self.signal_flags)
631 .field("return_type", &self.return_type)
632 .field("n_params", &self.n_params)
633 .field("param_types", &self.param_types)
634 .finish()
635 }
636}
637
638#[derive(Copy, Clone)]
639#[repr(C)]
640pub struct GTypeClass {
641 pub g_type: GType,
642}
643
644impl ::std::fmt::Debug for GTypeClass {
645 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
646 f.debug_struct(&format!("GTypeClass @ {self:p}")).finish()
647 }
648}
649
650#[derive(Copy, Clone)]
651#[repr(C)]
652pub struct GTypeFundamentalInfo {
653 pub type_flags: GTypeFundamentalFlags,
654}
655
656impl ::std::fmt::Debug for GTypeFundamentalInfo {
657 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
658 f.debug_struct(&format!("GTypeFundamentalInfo @ {self:p}"))
659 .field("type_flags", &self.type_flags)
660 .finish()
661 }
662}
663
664#[derive(Copy, Clone)]
665#[repr(C)]
666pub struct GTypeInfo {
667 pub class_size: u16,
668 pub base_init: GBaseInitFunc,
669 pub base_finalize: GBaseFinalizeFunc,
670 pub class_init: GClassInitFunc,
671 pub class_finalize: GClassFinalizeFunc,
672 pub class_data: gconstpointer,
673 pub instance_size: u16,
674 pub n_preallocs: u16,
675 pub instance_init: GInstanceInitFunc,
676 pub value_table: *const GTypeValueTable,
677}
678
679impl ::std::fmt::Debug for GTypeInfo {
680 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
681 f.debug_struct(&format!("GTypeInfo @ {self:p}"))
682 .field("class_size", &self.class_size)
683 .field("base_init", &self.base_init)
684 .field("base_finalize", &self.base_finalize)
685 .field("class_init", &self.class_init)
686 .field("class_finalize", &self.class_finalize)
687 .field("class_data", &self.class_data)
688 .field("instance_size", &self.instance_size)
689 .field("n_preallocs", &self.n_preallocs)
690 .field("instance_init", &self.instance_init)
691 .field("value_table", &self.value_table)
692 .finish()
693 }
694}
695
696#[derive(Copy, Clone)]
697#[repr(C)]
698pub struct GTypeInstance {
699 pub g_class: *mut GTypeClass,
700}
701
702impl ::std::fmt::Debug for GTypeInstance {
703 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
704 f.debug_struct(&format!("GTypeInstance @ {self:p}"))
705 .finish()
706 }
707}
708
709#[derive(Copy, Clone)]
710#[repr(C)]
711pub struct GTypeInterface {
712 pub g_type: GType,
713 pub g_instance_type: GType,
714}
715
716impl ::std::fmt::Debug for GTypeInterface {
717 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
718 f.debug_struct(&format!("GTypeInterface @ {self:p}"))
719 .finish()
720 }
721}
722
723#[derive(Copy, Clone)]
724#[repr(C)]
725pub struct GTypeModuleClass {
726 pub parent_class: GObjectClass,
727 pub load: Option<unsafe extern "C" fn(*mut GTypeModule) -> gboolean>,
728 pub unload: Option<unsafe extern "C" fn(*mut GTypeModule)>,
729 pub reserved1: Option<unsafe extern "C" fn()>,
730 pub reserved2: Option<unsafe extern "C" fn()>,
731 pub reserved3: Option<unsafe extern "C" fn()>,
732 pub reserved4: Option<unsafe extern "C" fn()>,
733}
734
735impl ::std::fmt::Debug for GTypeModuleClass {
736 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
737 f.debug_struct(&format!("GTypeModuleClass @ {self:p}"))
738 .field("parent_class", &self.parent_class)
739 .field("load", &self.load)
740 .field("unload", &self.unload)
741 .field("reserved1", &self.reserved1)
742 .field("reserved2", &self.reserved2)
743 .field("reserved3", &self.reserved3)
744 .field("reserved4", &self.reserved4)
745 .finish()
746 }
747}
748
749#[derive(Copy, Clone)]
750#[repr(C)]
751pub struct GTypePluginClass {
752 pub base_iface: GTypeInterface,
753 pub use_plugin: GTypePluginUse,
754 pub unuse_plugin: GTypePluginUnuse,
755 pub complete_type_info: GTypePluginCompleteTypeInfo,
756 pub complete_interface_info: GTypePluginCompleteInterfaceInfo,
757}
758
759impl ::std::fmt::Debug for GTypePluginClass {
760 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
761 f.debug_struct(&format!("GTypePluginClass @ {self:p}"))
762 .field("use_plugin", &self.use_plugin)
763 .field("unuse_plugin", &self.unuse_plugin)
764 .field("complete_type_info", &self.complete_type_info)
765 .field("complete_interface_info", &self.complete_interface_info)
766 .finish()
767 }
768}
769
770#[derive(Copy, Clone)]
771#[repr(C)]
772pub struct GTypeQuery {
773 pub type_: GType,
774 pub type_name: *const c_char,
775 pub class_size: c_uint,
776 pub instance_size: c_uint,
777}
778
779impl ::std::fmt::Debug for GTypeQuery {
780 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
781 f.debug_struct(&format!("GTypeQuery @ {self:p}"))
782 .field("type_", &self.type_)
783 .field("type_name", &self.type_name)
784 .field("class_size", &self.class_size)
785 .field("instance_size", &self.instance_size)
786 .finish()
787 }
788}
789
790#[derive(Copy, Clone)]
791#[repr(C)]
792pub struct GTypeValueTable {
793 pub value_init: GTypeValueInitFunc,
794 pub value_free: GTypeValueFreeFunc,
795 pub value_copy: GTypeValueCopyFunc,
796 pub value_peek_pointer: GTypeValuePeekPointerFunc,
797 pub collect_format: *const c_char,
798 pub collect_value: GTypeValueCollectFunc,
799 pub lcopy_format: *const c_char,
800 pub lcopy_value: GTypeValueLCopyFunc,
801}
802
803impl ::std::fmt::Debug for GTypeValueTable {
804 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
805 f.debug_struct(&format!("GTypeValueTable @ {self:p}"))
806 .field("value_init", &self.value_init)
807 .field("value_free", &self.value_free)
808 .field("value_copy", &self.value_copy)
809 .field("value_peek_pointer", &self.value_peek_pointer)
810 .field("collect_format", &self.collect_format)
811 .field("collect_value", &self.collect_value)
812 .field("lcopy_format", &self.lcopy_format)
813 .field("lcopy_value", &self.lcopy_value)
814 .finish()
815 }
816}
817
818#[derive(Copy, Clone)]
819#[repr(C)]
820pub struct GValue {
821 pub g_type: GType,
822 pub data: [GValue_data; 2],
823}
824
825impl ::std::fmt::Debug for GValue {
826 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
827 f.debug_struct(&format!("GValue @ {self:p}"))
828 .field("data", &self.data)
829 .finish()
830 }
831}
832
833#[derive(Copy, Clone)]
834#[repr(C)]
835pub struct GValueArray {
836 pub n_values: c_uint,
837 pub values: *mut GValue,
838 pub n_prealloced: c_uint,
839}
840
841impl ::std::fmt::Debug for GValueArray {
842 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
843 f.debug_struct(&format!("GValueArray @ {self:p}"))
844 .field("n_values", &self.n_values)
845 .field("values", &self.values)
846 .finish()
847 }
848}
849
850#[derive(Copy, Clone)]
851#[repr(C)]
852pub struct GWeakRef {
853 pub priv_: GWeakRef_priv,
854}
855
856impl ::std::fmt::Debug for GWeakRef {
857 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
858 f.debug_struct(&format!("GWeakRef @ {self:p}"))
859 .field("priv_", &self.priv_)
860 .finish()
861 }
862}
863
864#[repr(C)]
866#[allow(dead_code)]
867pub struct GBinding {
868 _data: [u8; 0],
869 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
870}
871
872impl ::std::fmt::Debug for GBinding {
873 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
874 f.debug_struct(&format!("GBinding @ {self:p}")).finish()
875 }
876}
877
878#[repr(C)]
879#[allow(dead_code)]
880pub struct GBindingGroup {
881 _data: [u8; 0],
882 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
883}
884
885impl ::std::fmt::Debug for GBindingGroup {
886 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
887 f.debug_struct(&format!("GBindingGroup @ {self:p}"))
888 .finish()
889 }
890}
891
892#[derive(Copy, Clone)]
893#[repr(C)]
894pub struct GInitiallyUnowned {
895 pub g_type_instance: GTypeInstance,
896 pub ref_count: c_uint,
897 pub qdata: *mut glib::GData,
898}
899
900impl ::std::fmt::Debug for GInitiallyUnowned {
901 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
902 f.debug_struct(&format!("GInitiallyUnowned @ {self:p}"))
903 .field("g_type_instance", &self.g_type_instance)
904 .finish()
905 }
906}
907
908#[derive(Copy, Clone)]
909#[repr(C)]
910pub struct GObject {
911 pub g_type_instance: GTypeInstance,
912 pub ref_count: c_uint,
913 pub qdata: *mut glib::GData,
914}
915
916impl ::std::fmt::Debug for GObject {
917 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
918 f.debug_struct(&format!("GObject @ {self:p}"))
919 .field("g_type_instance", &self.g_type_instance)
920 .finish()
921 }
922}
923
924#[derive(Copy, Clone)]
925#[repr(C)]
926pub struct GParamSpec {
927 pub g_type_instance: GTypeInstance,
928 pub name: *const c_char,
929 pub flags: GParamFlags,
930 pub value_type: GType,
931 pub owner_type: GType,
932 pub _nick: *mut c_char,
933 pub _blurb: *mut c_char,
934 pub qdata: *mut glib::GData,
935 pub ref_count: c_uint,
936 pub param_id: c_uint,
937}
938
939impl ::std::fmt::Debug for GParamSpec {
940 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
941 f.debug_struct(&format!("GParamSpec @ {self:p}"))
942 .field("g_type_instance", &self.g_type_instance)
943 .field("name", &self.name)
944 .field("flags", &self.flags)
945 .field("value_type", &self.value_type)
946 .field("owner_type", &self.owner_type)
947 .finish()
948 }
949}
950
951#[derive(Copy, Clone)]
952#[repr(C)]
953pub struct GParamSpecBoolean {
954 pub parent_instance: GParamSpec,
955 pub default_value: gboolean,
956}
957
958impl ::std::fmt::Debug for GParamSpecBoolean {
959 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
960 f.debug_struct(&format!("GParamSpecBoolean @ {self:p}"))
961 .field("parent_instance", &self.parent_instance)
962 .field("default_value", &self.default_value)
963 .finish()
964 }
965}
966
967#[derive(Copy, Clone)]
968#[repr(C)]
969pub struct GParamSpecBoxed {
970 pub parent_instance: GParamSpec,
971}
972
973impl ::std::fmt::Debug for GParamSpecBoxed {
974 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
975 f.debug_struct(&format!("GParamSpecBoxed @ {self:p}"))
976 .field("parent_instance", &self.parent_instance)
977 .finish()
978 }
979}
980
981#[derive(Copy, Clone)]
982#[repr(C)]
983pub struct GParamSpecChar {
984 pub parent_instance: GParamSpec,
985 pub minimum: i8,
986 pub maximum: i8,
987 pub default_value: i8,
988}
989
990impl ::std::fmt::Debug for GParamSpecChar {
991 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
992 f.debug_struct(&format!("GParamSpecChar @ {self:p}"))
993 .field("parent_instance", &self.parent_instance)
994 .field("minimum", &self.minimum)
995 .field("maximum", &self.maximum)
996 .field("default_value", &self.default_value)
997 .finish()
998 }
999}
1000
1001#[derive(Copy, Clone)]
1002#[repr(C)]
1003pub struct GParamSpecDouble {
1004 pub parent_instance: GParamSpec,
1005 pub minimum: c_double,
1006 pub maximum: c_double,
1007 pub default_value: c_double,
1008 pub epsilon: c_double,
1009}
1010
1011impl ::std::fmt::Debug for GParamSpecDouble {
1012 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1013 f.debug_struct(&format!("GParamSpecDouble @ {self:p}"))
1014 .field("parent_instance", &self.parent_instance)
1015 .field("minimum", &self.minimum)
1016 .field("maximum", &self.maximum)
1017 .field("default_value", &self.default_value)
1018 .field("epsilon", &self.epsilon)
1019 .finish()
1020 }
1021}
1022
1023#[derive(Copy, Clone)]
1024#[repr(C)]
1025pub struct GParamSpecEnum {
1026 pub parent_instance: GParamSpec,
1027 pub enum_class: *mut GEnumClass,
1028 pub default_value: c_int,
1029}
1030
1031impl ::std::fmt::Debug for GParamSpecEnum {
1032 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1033 f.debug_struct(&format!("GParamSpecEnum @ {self:p}"))
1034 .field("parent_instance", &self.parent_instance)
1035 .field("enum_class", &self.enum_class)
1036 .field("default_value", &self.default_value)
1037 .finish()
1038 }
1039}
1040
1041#[derive(Copy, Clone)]
1042#[repr(C)]
1043pub struct GParamSpecFlags {
1044 pub parent_instance: GParamSpec,
1045 pub flags_class: *mut GFlagsClass,
1046 pub default_value: c_uint,
1047}
1048
1049impl ::std::fmt::Debug for GParamSpecFlags {
1050 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1051 f.debug_struct(&format!("GParamSpecFlags @ {self:p}"))
1052 .field("parent_instance", &self.parent_instance)
1053 .field("flags_class", &self.flags_class)
1054 .field("default_value", &self.default_value)
1055 .finish()
1056 }
1057}
1058
1059#[derive(Copy, Clone)]
1060#[repr(C)]
1061pub struct GParamSpecFloat {
1062 pub parent_instance: GParamSpec,
1063 pub minimum: c_float,
1064 pub maximum: c_float,
1065 pub default_value: c_float,
1066 pub epsilon: c_float,
1067}
1068
1069impl ::std::fmt::Debug for GParamSpecFloat {
1070 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1071 f.debug_struct(&format!("GParamSpecFloat @ {self:p}"))
1072 .field("parent_instance", &self.parent_instance)
1073 .field("minimum", &self.minimum)
1074 .field("maximum", &self.maximum)
1075 .field("default_value", &self.default_value)
1076 .field("epsilon", &self.epsilon)
1077 .finish()
1078 }
1079}
1080
1081#[derive(Copy, Clone)]
1082#[repr(C)]
1083pub struct GParamSpecGType {
1084 pub parent_instance: GParamSpec,
1085 pub is_a_type: GType,
1086}
1087
1088impl ::std::fmt::Debug for GParamSpecGType {
1089 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1090 f.debug_struct(&format!("GParamSpecGType @ {self:p}"))
1091 .field("parent_instance", &self.parent_instance)
1092 .field("is_a_type", &self.is_a_type)
1093 .finish()
1094 }
1095}
1096
1097#[derive(Copy, Clone)]
1098#[repr(C)]
1099pub struct GParamSpecInt {
1100 pub parent_instance: GParamSpec,
1101 pub minimum: c_int,
1102 pub maximum: c_int,
1103 pub default_value: c_int,
1104}
1105
1106impl ::std::fmt::Debug for GParamSpecInt {
1107 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1108 f.debug_struct(&format!("GParamSpecInt @ {self:p}"))
1109 .field("parent_instance", &self.parent_instance)
1110 .field("minimum", &self.minimum)
1111 .field("maximum", &self.maximum)
1112 .field("default_value", &self.default_value)
1113 .finish()
1114 }
1115}
1116
1117#[derive(Copy, Clone)]
1118#[repr(C)]
1119pub struct GParamSpecInt64 {
1120 pub parent_instance: GParamSpec,
1121 pub minimum: i64,
1122 pub maximum: i64,
1123 pub default_value: i64,
1124}
1125
1126impl ::std::fmt::Debug for GParamSpecInt64 {
1127 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1128 f.debug_struct(&format!("GParamSpecInt64 @ {self:p}"))
1129 .field("parent_instance", &self.parent_instance)
1130 .field("minimum", &self.minimum)
1131 .field("maximum", &self.maximum)
1132 .field("default_value", &self.default_value)
1133 .finish()
1134 }
1135}
1136
1137#[derive(Copy, Clone)]
1138#[repr(C)]
1139pub struct GParamSpecLong {
1140 pub parent_instance: GParamSpec,
1141 pub minimum: c_long,
1142 pub maximum: c_long,
1143 pub default_value: c_long,
1144}
1145
1146impl ::std::fmt::Debug for GParamSpecLong {
1147 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1148 f.debug_struct(&format!("GParamSpecLong @ {self:p}"))
1149 .field("parent_instance", &self.parent_instance)
1150 .field("minimum", &self.minimum)
1151 .field("maximum", &self.maximum)
1152 .field("default_value", &self.default_value)
1153 .finish()
1154 }
1155}
1156
1157#[derive(Copy, Clone)]
1158#[repr(C)]
1159pub struct GParamSpecObject {
1160 pub parent_instance: GParamSpec,
1161}
1162
1163impl ::std::fmt::Debug for GParamSpecObject {
1164 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1165 f.debug_struct(&format!("GParamSpecObject @ {self:p}"))
1166 .field("parent_instance", &self.parent_instance)
1167 .finish()
1168 }
1169}
1170
1171#[derive(Copy, Clone)]
1172#[repr(C)]
1173pub struct GParamSpecOverride {
1174 pub parent_instance: GParamSpec,
1175 pub overridden: *mut GParamSpec,
1176}
1177
1178impl ::std::fmt::Debug for GParamSpecOverride {
1179 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1180 f.debug_struct(&format!("GParamSpecOverride @ {self:p}"))
1181 .finish()
1182 }
1183}
1184
1185#[derive(Copy, Clone)]
1186#[repr(C)]
1187pub struct GParamSpecParam {
1188 pub parent_instance: GParamSpec,
1189}
1190
1191impl ::std::fmt::Debug for GParamSpecParam {
1192 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1193 f.debug_struct(&format!("GParamSpecParam @ {self:p}"))
1194 .field("parent_instance", &self.parent_instance)
1195 .finish()
1196 }
1197}
1198
1199#[derive(Copy, Clone)]
1200#[repr(C)]
1201pub struct GParamSpecPointer {
1202 pub parent_instance: GParamSpec,
1203}
1204
1205impl ::std::fmt::Debug for GParamSpecPointer {
1206 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1207 f.debug_struct(&format!("GParamSpecPointer @ {self:p}"))
1208 .field("parent_instance", &self.parent_instance)
1209 .finish()
1210 }
1211}
1212
1213#[repr(C)]
1214#[allow(dead_code)]
1215pub struct GParamSpecString {
1216 pub parent_instance: GParamSpec,
1217 pub default_value: *mut c_char,
1218 pub cset_first: *mut c_char,
1219 pub cset_nth: *mut c_char,
1220 pub substitutor: c_char,
1221 pub null_fold_if_empty: c_uint,
1222 _truncated_record_marker: c_void,
1223 }
1225
1226impl ::std::fmt::Debug for GParamSpecString {
1227 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1228 f.debug_struct(&format!("GParamSpecString @ {self:p}"))
1229 .field("parent_instance", &self.parent_instance)
1230 .field("default_value", &self.default_value)
1231 .field("cset_first", &self.cset_first)
1232 .field("cset_nth", &self.cset_nth)
1233 .field("substitutor", &self.substitutor)
1234 .field("null_fold_if_empty", &self.null_fold_if_empty)
1235 .finish()
1236 }
1237}
1238
1239#[derive(Copy, Clone)]
1240#[repr(C)]
1241pub struct GParamSpecUChar {
1242 pub parent_instance: GParamSpec,
1243 pub minimum: u8,
1244 pub maximum: u8,
1245 pub default_value: u8,
1246}
1247
1248impl ::std::fmt::Debug for GParamSpecUChar {
1249 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1250 f.debug_struct(&format!("GParamSpecUChar @ {self:p}"))
1251 .field("parent_instance", &self.parent_instance)
1252 .field("minimum", &self.minimum)
1253 .field("maximum", &self.maximum)
1254 .field("default_value", &self.default_value)
1255 .finish()
1256 }
1257}
1258
1259#[derive(Copy, Clone)]
1260#[repr(C)]
1261pub struct GParamSpecUInt {
1262 pub parent_instance: GParamSpec,
1263 pub minimum: c_uint,
1264 pub maximum: c_uint,
1265 pub default_value: c_uint,
1266}
1267
1268impl ::std::fmt::Debug for GParamSpecUInt {
1269 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1270 f.debug_struct(&format!("GParamSpecUInt @ {self:p}"))
1271 .field("parent_instance", &self.parent_instance)
1272 .field("minimum", &self.minimum)
1273 .field("maximum", &self.maximum)
1274 .field("default_value", &self.default_value)
1275 .finish()
1276 }
1277}
1278
1279#[derive(Copy, Clone)]
1280#[repr(C)]
1281pub struct GParamSpecUInt64 {
1282 pub parent_instance: GParamSpec,
1283 pub minimum: u64,
1284 pub maximum: u64,
1285 pub default_value: u64,
1286}
1287
1288impl ::std::fmt::Debug for GParamSpecUInt64 {
1289 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1290 f.debug_struct(&format!("GParamSpecUInt64 @ {self:p}"))
1291 .field("parent_instance", &self.parent_instance)
1292 .field("minimum", &self.minimum)
1293 .field("maximum", &self.maximum)
1294 .field("default_value", &self.default_value)
1295 .finish()
1296 }
1297}
1298
1299#[derive(Copy, Clone)]
1300#[repr(C)]
1301pub struct GParamSpecULong {
1302 pub parent_instance: GParamSpec,
1303 pub minimum: c_ulong,
1304 pub maximum: c_ulong,
1305 pub default_value: c_ulong,
1306}
1307
1308impl ::std::fmt::Debug for GParamSpecULong {
1309 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1310 f.debug_struct(&format!("GParamSpecULong @ {self:p}"))
1311 .field("parent_instance", &self.parent_instance)
1312 .field("minimum", &self.minimum)
1313 .field("maximum", &self.maximum)
1314 .field("default_value", &self.default_value)
1315 .finish()
1316 }
1317}
1318
1319#[derive(Copy, Clone)]
1320#[repr(C)]
1321pub struct GParamSpecUnichar {
1322 pub parent_instance: GParamSpec,
1323 pub default_value: u32,
1324}
1325
1326impl ::std::fmt::Debug for GParamSpecUnichar {
1327 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1328 f.debug_struct(&format!("GParamSpecUnichar @ {self:p}"))
1329 .field("parent_instance", &self.parent_instance)
1330 .field("default_value", &self.default_value)
1331 .finish()
1332 }
1333}
1334
1335#[derive(Copy, Clone)]
1336#[repr(C)]
1337pub struct GParamSpecValueArray {
1338 pub parent_instance: GParamSpec,
1339 pub element_spec: *mut GParamSpec,
1340 pub fixed_n_elements: c_uint,
1341}
1342
1343impl ::std::fmt::Debug for GParamSpecValueArray {
1344 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1345 f.debug_struct(&format!("GParamSpecValueArray @ {self:p}"))
1346 .field("parent_instance", &self.parent_instance)
1347 .field("element_spec", &self.element_spec)
1348 .field("fixed_n_elements", &self.fixed_n_elements)
1349 .finish()
1350 }
1351}
1352
1353#[derive(Copy, Clone)]
1354#[repr(C)]
1355pub struct GParamSpecVariant {
1356 pub parent_instance: GParamSpec,
1357 pub type_: *mut glib::GVariantType,
1358 pub default_value: *mut glib::GVariant,
1359 pub padding: [gpointer; 4],
1360}
1361
1362impl ::std::fmt::Debug for GParamSpecVariant {
1363 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1364 f.debug_struct(&format!("GParamSpecVariant @ {self:p}"))
1365 .field("parent_instance", &self.parent_instance)
1366 .field("type_", &self.type_)
1367 .field("default_value", &self.default_value)
1368 .finish()
1369 }
1370}
1371
1372#[repr(C)]
1373#[allow(dead_code)]
1374pub struct GSignalGroup {
1375 _data: [u8; 0],
1376 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1377}
1378
1379impl ::std::fmt::Debug for GSignalGroup {
1380 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1381 f.debug_struct(&format!("GSignalGroup @ {self:p}")).finish()
1382 }
1383}
1384
1385#[derive(Copy, Clone)]
1386#[repr(C)]
1387pub struct GTypeModule {
1388 pub parent_instance: GObject,
1389 pub use_count: c_uint,
1390 pub type_infos: *mut glib::GSList,
1391 pub interface_infos: *mut glib::GSList,
1392 pub name: *mut c_char,
1393}
1394
1395impl ::std::fmt::Debug for GTypeModule {
1396 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1397 f.debug_struct(&format!("GTypeModule @ {self:p}"))
1398 .field("parent_instance", &self.parent_instance)
1399 .field("use_count", &self.use_count)
1400 .field("type_infos", &self.type_infos)
1401 .field("interface_infos", &self.interface_infos)
1402 .field("name", &self.name)
1403 .finish()
1404 }
1405}
1406
1407#[repr(C)]
1409#[allow(dead_code)]
1410pub struct GTypePlugin {
1411 _data: [u8; 0],
1412 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1413}
1414
1415impl ::std::fmt::Debug for GTypePlugin {
1416 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1417 write!(f, "GTypePlugin @ {self:p}")
1418 }
1419}
1420
1421extern "C" {
1422
1423 pub fn g_binding_flags_get_type() -> GType;
1427
1428 pub fn g_io_condition_get_type() -> GType;
1432
1433 pub fn g_cclosure_marshal_BOOLEAN__BOXED_BOXED(
1437 closure: *mut GClosure,
1438 return_value: *mut GValue,
1439 n_param_values: c_uint,
1440 param_values: *const GValue,
1441 invocation_hint: gpointer,
1442 marshal_data: gpointer,
1443 );
1444 pub fn g_cclosure_marshal_BOOLEAN__FLAGS(
1446 closure: *mut GClosure,
1447 return_value: *mut GValue,
1448 n_param_values: c_uint,
1449 param_values: *const GValue,
1450 invocation_hint: gpointer,
1451 marshal_data: gpointer,
1452 );
1453 pub fn g_cclosure_marshal_STRING__OBJECT_POINTER(
1455 closure: *mut GClosure,
1456 return_value: *mut GValue,
1457 n_param_values: c_uint,
1458 param_values: *const GValue,
1459 invocation_hint: gpointer,
1460 marshal_data: gpointer,
1461 );
1462 pub fn g_cclosure_marshal_VOID__BOOLEAN(
1464 closure: *mut GClosure,
1465 return_value: *mut GValue,
1466 n_param_values: c_uint,
1467 param_values: *const GValue,
1468 invocation_hint: gpointer,
1469 marshal_data: gpointer,
1470 );
1471 pub fn g_cclosure_marshal_VOID__BOXED(
1473 closure: *mut GClosure,
1474 return_value: *mut GValue,
1475 n_param_values: c_uint,
1476 param_values: *const GValue,
1477 invocation_hint: gpointer,
1478 marshal_data: gpointer,
1479 );
1480 pub fn g_cclosure_marshal_VOID__CHAR(
1482 closure: *mut GClosure,
1483 return_value: *mut GValue,
1484 n_param_values: c_uint,
1485 param_values: *const GValue,
1486 invocation_hint: gpointer,
1487 marshal_data: gpointer,
1488 );
1489 pub fn g_cclosure_marshal_VOID__DOUBLE(
1491 closure: *mut GClosure,
1492 return_value: *mut GValue,
1493 n_param_values: c_uint,
1494 param_values: *const GValue,
1495 invocation_hint: gpointer,
1496 marshal_data: gpointer,
1497 );
1498 pub fn g_cclosure_marshal_VOID__ENUM(
1500 closure: *mut GClosure,
1501 return_value: *mut GValue,
1502 n_param_values: c_uint,
1503 param_values: *const GValue,
1504 invocation_hint: gpointer,
1505 marshal_data: gpointer,
1506 );
1507 pub fn g_cclosure_marshal_VOID__FLAGS(
1509 closure: *mut GClosure,
1510 return_value: *mut GValue,
1511 n_param_values: c_uint,
1512 param_values: *const GValue,
1513 invocation_hint: gpointer,
1514 marshal_data: gpointer,
1515 );
1516 pub fn g_cclosure_marshal_VOID__FLOAT(
1518 closure: *mut GClosure,
1519 return_value: *mut GValue,
1520 n_param_values: c_uint,
1521 param_values: *const GValue,
1522 invocation_hint: gpointer,
1523 marshal_data: gpointer,
1524 );
1525 pub fn g_cclosure_marshal_VOID__INT(
1527 closure: *mut GClosure,
1528 return_value: *mut GValue,
1529 n_param_values: c_uint,
1530 param_values: *const GValue,
1531 invocation_hint: gpointer,
1532 marshal_data: gpointer,
1533 );
1534 pub fn g_cclosure_marshal_VOID__LONG(
1536 closure: *mut GClosure,
1537 return_value: *mut GValue,
1538 n_param_values: c_uint,
1539 param_values: *const GValue,
1540 invocation_hint: gpointer,
1541 marshal_data: gpointer,
1542 );
1543 pub fn g_cclosure_marshal_VOID__OBJECT(
1545 closure: *mut GClosure,
1546 return_value: *mut GValue,
1547 n_param_values: c_uint,
1548 param_values: *const GValue,
1549 invocation_hint: gpointer,
1550 marshal_data: gpointer,
1551 );
1552 pub fn g_cclosure_marshal_VOID__PARAM(
1554 closure: *mut GClosure,
1555 return_value: *mut GValue,
1556 n_param_values: c_uint,
1557 param_values: *const GValue,
1558 invocation_hint: gpointer,
1559 marshal_data: gpointer,
1560 );
1561 pub fn g_cclosure_marshal_VOID__POINTER(
1563 closure: *mut GClosure,
1564 return_value: *mut GValue,
1565 n_param_values: c_uint,
1566 param_values: *const GValue,
1567 invocation_hint: gpointer,
1568 marshal_data: gpointer,
1569 );
1570 pub fn g_cclosure_marshal_VOID__STRING(
1572 closure: *mut GClosure,
1573 return_value: *mut GValue,
1574 n_param_values: c_uint,
1575 param_values: *const GValue,
1576 invocation_hint: gpointer,
1577 marshal_data: gpointer,
1578 );
1579 pub fn g_cclosure_marshal_VOID__UCHAR(
1581 closure: *mut GClosure,
1582 return_value: *mut GValue,
1583 n_param_values: c_uint,
1584 param_values: *const GValue,
1585 invocation_hint: gpointer,
1586 marshal_data: gpointer,
1587 );
1588 pub fn g_cclosure_marshal_VOID__UINT(
1590 closure: *mut GClosure,
1591 return_value: *mut GValue,
1592 n_param_values: c_uint,
1593 param_values: *const GValue,
1594 invocation_hint: gpointer,
1595 marshal_data: gpointer,
1596 );
1597 pub fn g_cclosure_marshal_VOID__UINT_POINTER(
1598 closure: *mut GClosure,
1599 return_value: *mut GValue,
1600 n_param_values: c_uint,
1601 param_values: *const GValue,
1602 invocation_hint: gpointer,
1603 marshal_data: gpointer,
1604 );
1605 pub fn g_cclosure_marshal_VOID__ULONG(
1608 closure: *mut GClosure,
1609 return_value: *mut GValue,
1610 n_param_values: c_uint,
1611 param_values: *const GValue,
1612 invocation_hint: gpointer,
1613 marshal_data: gpointer,
1614 );
1615 pub fn g_cclosure_marshal_VOID__VARIANT(
1617 closure: *mut GClosure,
1618 return_value: *mut GValue,
1619 n_param_values: c_uint,
1620 param_values: *const GValue,
1621 invocation_hint: gpointer,
1622 marshal_data: gpointer,
1623 );
1624 pub fn g_cclosure_marshal_VOID__VOID(
1626 closure: *mut GClosure,
1627 return_value: *mut GValue,
1628 n_param_values: c_uint,
1629 param_values: *const GValue,
1630 invocation_hint: gpointer,
1631 marshal_data: gpointer,
1632 );
1633 pub fn g_cclosure_marshal_generic(
1635 closure: *mut GClosure,
1636 return_gvalue: *mut GValue,
1637 n_param_values: c_uint,
1638 param_values: *const GValue,
1639 invocation_hint: gpointer,
1640 marshal_data: gpointer,
1641 );
1642 pub fn g_cclosure_new(
1644 callback_func: GCallback,
1645 user_data: gpointer,
1646 destroy_data: GClosureNotify,
1647 ) -> *mut GClosure;
1648 pub fn g_cclosure_new_object(callback_func: GCallback, object: *mut GObject) -> *mut GClosure;
1649 pub fn g_cclosure_new_object_swap(
1650 callback_func: GCallback,
1651 object: *mut GObject,
1652 ) -> *mut GClosure;
1653 pub fn g_cclosure_new_swap(
1654 callback_func: GCallback,
1655 user_data: gpointer,
1656 destroy_data: GClosureNotify,
1657 ) -> *mut GClosure;
1658
1659 pub fn g_closure_get_type() -> GType;
1663 pub fn g_closure_new_object(sizeof_closure: c_uint, object: *mut GObject) -> *mut GClosure;
1664 pub fn g_closure_new_simple(sizeof_closure: c_uint, data: gpointer) -> *mut GClosure;
1665 pub fn g_closure_add_finalize_notifier(
1666 closure: *mut GClosure,
1667 notify_data: gpointer,
1668 notify_func: GClosureNotify,
1669 );
1670 pub fn g_closure_add_invalidate_notifier(
1671 closure: *mut GClosure,
1672 notify_data: gpointer,
1673 notify_func: GClosureNotify,
1674 );
1675 pub fn g_closure_add_marshal_guards(
1676 closure: *mut GClosure,
1677 pre_marshal_data: gpointer,
1678 pre_marshal_notify: GClosureNotify,
1679 post_marshal_data: gpointer,
1680 post_marshal_notify: GClosureNotify,
1681 );
1682 pub fn g_closure_invalidate(closure: *mut GClosure);
1683 pub fn g_closure_invoke(
1684 closure: *mut GClosure,
1685 return_value: *mut GValue,
1686 n_param_values: c_uint,
1687 param_values: *const GValue,
1688 invocation_hint: gpointer,
1689 );
1690 pub fn g_closure_ref(closure: *mut GClosure) -> *mut GClosure;
1691 pub fn g_closure_remove_finalize_notifier(
1692 closure: *mut GClosure,
1693 notify_data: gpointer,
1694 notify_func: GClosureNotify,
1695 );
1696 pub fn g_closure_remove_invalidate_notifier(
1697 closure: *mut GClosure,
1698 notify_data: gpointer,
1699 notify_func: GClosureNotify,
1700 );
1701 pub fn g_closure_set_marshal(closure: *mut GClosure, marshal: GClosureMarshal);
1702 pub fn g_closure_set_meta_marshal(
1703 closure: *mut GClosure,
1704 marshal_data: gpointer,
1705 meta_marshal: GClosureMarshal,
1706 );
1707 pub fn g_closure_sink(closure: *mut GClosure);
1708 pub fn g_closure_unref(closure: *mut GClosure);
1709
1710 pub fn g_object_class_find_property(
1714 oclass: *mut GObjectClass,
1715 property_name: *const c_char,
1716 ) -> *mut GParamSpec;
1717 pub fn g_object_class_install_properties(
1718 oclass: *mut GObjectClass,
1719 n_pspecs: c_uint,
1720 pspecs: *mut *mut GParamSpec,
1721 );
1722 pub fn g_object_class_install_property(
1723 oclass: *mut GObjectClass,
1724 property_id: c_uint,
1725 pspec: *mut GParamSpec,
1726 );
1727 pub fn g_object_class_list_properties(
1728 oclass: *mut GObjectClass,
1729 n_properties: *mut c_uint,
1730 ) -> *mut *mut GParamSpec;
1731 pub fn g_object_class_override_property(
1732 oclass: *mut GObjectClass,
1733 property_id: c_uint,
1734 name: *const c_char,
1735 );
1736
1737 #[cfg(feature = "v2_80")]
1741 #[cfg_attr(docsrs, doc(cfg(feature = "v2_80")))]
1742 pub fn g_param_spec_pool_free(pool: *mut GParamSpecPool);
1743 pub fn g_param_spec_pool_insert(
1744 pool: *mut GParamSpecPool,
1745 pspec: *mut GParamSpec,
1746 owner_type: GType,
1747 );
1748 pub fn g_param_spec_pool_list(
1749 pool: *mut GParamSpecPool,
1750 owner_type: GType,
1751 n_pspecs_p: *mut c_uint,
1752 ) -> *mut *mut GParamSpec;
1753 pub fn g_param_spec_pool_list_owned(
1754 pool: *mut GParamSpecPool,
1755 owner_type: GType,
1756 ) -> *mut glib::GList;
1757 pub fn g_param_spec_pool_lookup(
1758 pool: *mut GParamSpecPool,
1759 param_name: *const c_char,
1760 owner_type: GType,
1761 walk_ancestors: gboolean,
1762 ) -> *mut GParamSpec;
1763 pub fn g_param_spec_pool_remove(pool: *mut GParamSpecPool, pspec: *mut GParamSpec);
1764 pub fn g_param_spec_pool_new(type_prefixing: gboolean) -> *mut GParamSpecPool;
1765
1766 pub fn g_type_class_add_private(g_class: gpointer, private_size: size_t);
1770 pub fn g_type_class_get_instance_private_offset(g_class: gpointer) -> c_int;
1771 pub fn g_type_class_get_private(klass: *mut GTypeClass, private_type: GType) -> gpointer;
1772 pub fn g_type_class_peek_parent(g_class: gpointer) -> gpointer;
1773 pub fn g_type_class_unref(g_class: gpointer);
1774 pub fn g_type_class_unref_uncached(g_class: gpointer);
1775 pub fn g_type_class_adjust_private_offset(
1776 g_class: gpointer,
1777 private_size_or_offset: *mut c_int,
1778 );
1779 #[cfg(feature = "v2_84")]
1780 #[cfg_attr(docsrs, doc(cfg(feature = "v2_84")))]
1781 pub fn g_type_class_get(type_: GType) -> gpointer;
1782 pub fn g_type_class_peek(type_: GType) -> gpointer;
1783 pub fn g_type_class_peek_static(type_: GType) -> gpointer;
1784 pub fn g_type_class_ref(type_: GType) -> gpointer;
1785
1786 pub fn g_type_instance_get_private(
1790 instance: *mut GTypeInstance,
1791 private_type: GType,
1792 ) -> gpointer;
1793
1794 pub fn g_type_interface_peek_parent(g_iface: gpointer) -> gpointer;
1798 pub fn g_type_interface_add_prerequisite(interface_type: GType, prerequisite_type: GType);
1799 pub fn g_type_interface_get_plugin(
1800 instance_type: GType,
1801 interface_type: GType,
1802 ) -> *mut GTypePlugin;
1803 #[cfg(feature = "v2_68")]
1804 #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
1805 pub fn g_type_interface_instantiatable_prerequisite(interface_type: GType) -> GType;
1806 pub fn g_type_interface_peek(instance_class: gpointer, iface_type: GType) -> gpointer;
1807 pub fn g_type_interface_prerequisites(
1808 interface_type: GType,
1809 n_prerequisites: *mut c_uint,
1810 ) -> *mut GType;
1811
1812 pub fn g_type_value_table_peek(type_: GType) -> *mut GTypeValueTable;
1816
1817 pub fn g_value_get_type() -> GType;
1821 pub fn g_value_copy(src_value: *const GValue, dest_value: *mut GValue);
1822 pub fn g_value_dup_boxed(value: *const GValue) -> gpointer;
1823 pub fn g_value_dup_object(value: *const GValue) -> *mut GObject;
1824 pub fn g_value_dup_param(value: *const GValue) -> *mut GParamSpec;
1825 pub fn g_value_dup_string(value: *const GValue) -> *mut c_char;
1826 pub fn g_value_dup_variant(value: *const GValue) -> *mut glib::GVariant;
1827 pub fn g_value_fits_pointer(value: *const GValue) -> gboolean;
1828 pub fn g_value_get_boolean(value: *const GValue) -> gboolean;
1829 pub fn g_value_get_boxed(value: *const GValue) -> gpointer;
1830 pub fn g_value_get_char(value: *const GValue) -> c_char;
1831 pub fn g_value_get_double(value: *const GValue) -> c_double;
1832 pub fn g_value_get_enum(value: *const GValue) -> c_int;
1833 pub fn g_value_get_flags(value: *const GValue) -> c_uint;
1834 pub fn g_value_get_float(value: *const GValue) -> c_float;
1835 pub fn g_value_get_gtype(value: *const GValue) -> GType;
1836 pub fn g_value_get_int(value: *const GValue) -> c_int;
1837 pub fn g_value_get_int64(value: *const GValue) -> i64;
1838 pub fn g_value_get_long(value: *const GValue) -> c_long;
1839 pub fn g_value_get_object(value: *const GValue) -> *mut GObject;
1840 pub fn g_value_get_param(value: *const GValue) -> *mut GParamSpec;
1841 pub fn g_value_get_pointer(value: *const GValue) -> gpointer;
1842 pub fn g_value_get_schar(value: *const GValue) -> i8;
1843 pub fn g_value_get_string(value: *const GValue) -> *const c_char;
1844 pub fn g_value_get_uchar(value: *const GValue) -> c_uchar;
1845 pub fn g_value_get_uint(value: *const GValue) -> c_uint;
1846 pub fn g_value_get_uint64(value: *const GValue) -> u64;
1847 pub fn g_value_get_ulong(value: *const GValue) -> c_ulong;
1848 pub fn g_value_get_variant(value: *const GValue) -> *mut glib::GVariant;
1849 pub fn g_value_init(value: *mut GValue, g_type: GType) -> *mut GValue;
1850 pub fn g_value_init_from_instance(value: *mut GValue, instance: gpointer);
1851 pub fn g_value_peek_pointer(value: *const GValue) -> gpointer;
1852 pub fn g_value_reset(value: *mut GValue) -> *mut GValue;
1853 pub fn g_value_set_boolean(value: *mut GValue, v_boolean: gboolean);
1854 pub fn g_value_set_boxed(value: *mut GValue, v_boxed: gconstpointer);
1855 pub fn g_value_set_boxed_take_ownership(value: *mut GValue, v_boxed: gconstpointer);
1856 pub fn g_value_set_char(value: *mut GValue, v_char: c_char);
1857 pub fn g_value_set_double(value: *mut GValue, v_double: c_double);
1858 pub fn g_value_set_enum(value: *mut GValue, v_enum: c_int);
1859 pub fn g_value_set_flags(value: *mut GValue, v_flags: c_uint);
1860 pub fn g_value_set_float(value: *mut GValue, v_float: c_float);
1861 pub fn g_value_set_gtype(value: *mut GValue, v_gtype: GType);
1862 pub fn g_value_set_instance(value: *mut GValue, instance: gpointer);
1863 pub fn g_value_set_int(value: *mut GValue, v_int: c_int);
1864 pub fn g_value_set_int64(value: *mut GValue, v_int64: i64);
1865 #[cfg(feature = "v2_66")]
1866 #[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
1867 pub fn g_value_set_interned_string(value: *mut GValue, v_string: *const c_char);
1868 pub fn g_value_set_long(value: *mut GValue, v_long: c_long);
1869 pub fn g_value_set_object(value: *mut GValue, v_object: *mut GObject);
1870 pub fn g_value_set_object_take_ownership(value: *mut GValue, v_object: gpointer);
1871 pub fn g_value_set_param(value: *mut GValue, param: *mut GParamSpec);
1872 pub fn g_value_set_param_take_ownership(value: *mut GValue, param: *mut GParamSpec);
1873 pub fn g_value_set_pointer(value: *mut GValue, v_pointer: gpointer);
1874 pub fn g_value_set_schar(value: *mut GValue, v_char: i8);
1875 pub fn g_value_set_static_boxed(value: *mut GValue, v_boxed: gconstpointer);
1876 pub fn g_value_set_static_string(value: *mut GValue, v_string: *const c_char);
1877 pub fn g_value_set_string(value: *mut GValue, v_string: *const c_char);
1878 pub fn g_value_set_string_take_ownership(value: *mut GValue, v_string: *mut c_char);
1879 pub fn g_value_set_uchar(value: *mut GValue, v_uchar: c_uchar);
1880 pub fn g_value_set_uint(value: *mut GValue, v_uint: c_uint);
1881 pub fn g_value_set_uint64(value: *mut GValue, v_uint64: u64);
1882 pub fn g_value_set_ulong(value: *mut GValue, v_ulong: c_ulong);
1883 pub fn g_value_set_variant(value: *mut GValue, variant: *mut glib::GVariant);
1884 #[cfg(feature = "v2_80")]
1885 #[cfg_attr(docsrs, doc(cfg(feature = "v2_80")))]
1886 pub fn g_value_steal_string(value: *mut GValue) -> *mut c_char;
1887 pub fn g_value_take_boxed(value: *mut GValue, v_boxed: gconstpointer);
1888 pub fn g_value_take_object(value: *mut GValue, v_object: gpointer);
1889 pub fn g_value_take_param(value: *mut GValue, param: *mut GParamSpec);
1890 pub fn g_value_take_string(value: *mut GValue, v_string: *mut c_char);
1891 pub fn g_value_take_variant(value: *mut GValue, variant: *mut glib::GVariant);
1892 pub fn g_value_transform(src_value: *const GValue, dest_value: *mut GValue) -> gboolean;
1893 pub fn g_value_unset(value: *mut GValue);
1894 pub fn g_value_register_transform_func(
1895 src_type: GType,
1896 dest_type: GType,
1897 transform_func: GValueTransform,
1898 );
1899 pub fn g_value_type_compatible(src_type: GType, dest_type: GType) -> gboolean;
1900 pub fn g_value_type_transformable(src_type: GType, dest_type: GType) -> gboolean;
1901
1902 pub fn g_value_array_get_type() -> GType;
1906 pub fn g_value_array_new(n_prealloced: c_uint) -> *mut GValueArray;
1907 pub fn g_value_array_append(
1908 value_array: *mut GValueArray,
1909 value: *const GValue,
1910 ) -> *mut GValueArray;
1911 pub fn g_value_array_copy(value_array: *const GValueArray) -> *mut GValueArray;
1912 pub fn g_value_array_free(value_array: *mut GValueArray);
1913 pub fn g_value_array_get_nth(value_array: *mut GValueArray, index_: c_uint) -> *mut GValue;
1914 pub fn g_value_array_insert(
1915 value_array: *mut GValueArray,
1916 index_: c_uint,
1917 value: *const GValue,
1918 ) -> *mut GValueArray;
1919 pub fn g_value_array_prepend(
1920 value_array: *mut GValueArray,
1921 value: *const GValue,
1922 ) -> *mut GValueArray;
1923 pub fn g_value_array_remove(value_array: *mut GValueArray, index_: c_uint) -> *mut GValueArray;
1924 pub fn g_value_array_sort(
1925 value_array: *mut GValueArray,
1926 compare_func: glib::GCompareFunc,
1927 ) -> *mut GValueArray;
1928 pub fn g_value_array_sort_with_data(
1929 value_array: *mut GValueArray,
1930 compare_func: glib::GCompareDataFunc,
1931 user_data: gpointer,
1932 ) -> *mut GValueArray;
1933
1934 pub fn g_weak_ref_clear(weak_ref: *mut GWeakRef);
1938 pub fn g_weak_ref_get(weak_ref: *mut GWeakRef) -> *mut GObject;
1939 pub fn g_weak_ref_init(weak_ref: *mut GWeakRef, object: *mut GObject);
1940 pub fn g_weak_ref_set(weak_ref: *mut GWeakRef, object: *mut GObject);
1941
1942 pub fn g_binding_get_type() -> GType;
1946 #[cfg(feature = "v2_68")]
1947 #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
1948 pub fn g_binding_dup_source(binding: *mut GBinding) -> *mut GObject;
1949 #[cfg(feature = "v2_68")]
1950 #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
1951 pub fn g_binding_dup_target(binding: *mut GBinding) -> *mut GObject;
1952 pub fn g_binding_get_flags(binding: *mut GBinding) -> GBindingFlags;
1953 pub fn g_binding_get_source(binding: *mut GBinding) -> *mut GObject;
1954 pub fn g_binding_get_source_property(binding: *mut GBinding) -> *const c_char;
1955 pub fn g_binding_get_target(binding: *mut GBinding) -> *mut GObject;
1956 pub fn g_binding_get_target_property(binding: *mut GBinding) -> *const c_char;
1957 pub fn g_binding_unbind(binding: *mut GBinding);
1958
1959 #[cfg(feature = "v2_72")]
1963 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
1964 pub fn g_binding_group_get_type() -> GType;
1965 #[cfg(feature = "v2_72")]
1966 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
1967 pub fn g_binding_group_new() -> *mut GBindingGroup;
1968 #[cfg(feature = "v2_72")]
1969 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
1970 pub fn g_binding_group_bind(
1971 self_: *mut GBindingGroup,
1972 source_property: *const c_char,
1973 target: *mut GObject,
1974 target_property: *const c_char,
1975 flags: GBindingFlags,
1976 );
1977 #[cfg(feature = "v2_72")]
1978 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
1979 pub fn g_binding_group_bind_full(
1980 self_: *mut GBindingGroup,
1981 source_property: *const c_char,
1982 target: *mut GObject,
1983 target_property: *const c_char,
1984 flags: GBindingFlags,
1985 transform_to: GBindingTransformFunc,
1986 transform_from: GBindingTransformFunc,
1987 user_data: gpointer,
1988 user_data_destroy: glib::GDestroyNotify,
1989 );
1990 #[cfg(feature = "v2_72")]
1991 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
1992 pub fn g_binding_group_bind_with_closures(
1993 self_: *mut GBindingGroup,
1994 source_property: *const c_char,
1995 target: *mut GObject,
1996 target_property: *const c_char,
1997 flags: GBindingFlags,
1998 transform_to: *mut GClosure,
1999 transform_from: *mut GClosure,
2000 );
2001 #[cfg(feature = "v2_72")]
2002 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2003 pub fn g_binding_group_dup_source(self_: *mut GBindingGroup) -> *mut GObject;
2004 #[cfg(feature = "v2_72")]
2005 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2006 pub fn g_binding_group_set_source(self_: *mut GBindingGroup, source: *mut GObject);
2007
2008 pub fn g_initially_unowned_get_type() -> GType;
2012
2013 pub fn g_object_get_type() -> GType;
2017 pub fn g_object_new(
2018 object_type: GType,
2019 first_property_name: *const c_char,
2020 ...
2021 ) -> *mut GObject;
2022 pub fn g_object_new_with_properties(
2024 object_type: GType,
2025 n_properties: c_uint,
2026 names: *mut *const c_char,
2027 values: *const GValue,
2028 ) -> *mut GObject;
2029 pub fn g_object_newv(
2030 object_type: GType,
2031 n_parameters: c_uint,
2032 parameters: *mut GParameter,
2033 ) -> *mut GObject;
2034 pub fn g_object_compat_control(what: size_t, data: gpointer) -> size_t;
2035 pub fn g_object_interface_find_property(
2036 g_iface: gpointer,
2037 property_name: *const c_char,
2038 ) -> *mut GParamSpec;
2039 pub fn g_object_interface_install_property(g_iface: gpointer, pspec: *mut GParamSpec);
2040 pub fn g_object_interface_list_properties(
2041 g_iface: gpointer,
2042 n_properties_p: *mut c_uint,
2043 ) -> *mut *mut GParamSpec;
2044 pub fn g_object_add_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
2045 pub fn g_object_add_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
2046 pub fn g_object_bind_property(
2047 source: *mut GObject,
2048 source_property: *const c_char,
2049 target: *mut GObject,
2050 target_property: *const c_char,
2051 flags: GBindingFlags,
2052 ) -> *mut GBinding;
2053 pub fn g_object_bind_property_full(
2054 source: *mut GObject,
2055 source_property: *const c_char,
2056 target: *mut GObject,
2057 target_property: *const c_char,
2058 flags: GBindingFlags,
2059 transform_to: GBindingTransformFunc,
2060 transform_from: GBindingTransformFunc,
2061 user_data: gpointer,
2062 notify: glib::GDestroyNotify,
2063 ) -> *mut GBinding;
2064 pub fn g_object_bind_property_with_closures(
2065 source: *mut GObject,
2066 source_property: *const c_char,
2067 target: *mut GObject,
2068 target_property: *const c_char,
2069 flags: GBindingFlags,
2070 transform_to: *mut GClosure,
2071 transform_from: *mut GClosure,
2072 ) -> *mut GBinding;
2073 pub fn g_object_connect(object: *mut GObject, signal_spec: *const c_char, ...) -> *mut GObject;
2074 pub fn g_object_disconnect(object: *mut GObject, signal_spec: *const c_char, ...);
2075 pub fn g_object_dup_data(
2076 object: *mut GObject,
2077 key: *const c_char,
2078 dup_func: glib::GDuplicateFunc,
2079 user_data: gpointer,
2080 ) -> gpointer;
2081 pub fn g_object_dup_qdata(
2082 object: *mut GObject,
2083 quark: glib::GQuark,
2084 dup_func: glib::GDuplicateFunc,
2085 user_data: gpointer,
2086 ) -> gpointer;
2087 pub fn g_object_force_floating(object: *mut GObject);
2088 pub fn g_object_freeze_notify(object: *mut GObject);
2089 pub fn g_object_get(object: *mut GObject, first_property_name: *const c_char, ...);
2090 pub fn g_object_get_data(object: *mut GObject, key: *const c_char) -> gpointer;
2091 pub fn g_object_get_property(
2092 object: *mut GObject,
2093 property_name: *const c_char,
2094 value: *mut GValue,
2095 );
2096 pub fn g_object_get_qdata(object: *mut GObject, quark: glib::GQuark) -> gpointer;
2097 pub fn g_object_getv(
2099 object: *mut GObject,
2100 n_properties: c_uint,
2101 names: *mut *const c_char,
2102 values: *mut GValue,
2103 );
2104 pub fn g_object_is_floating(object: *mut GObject) -> gboolean;
2105 pub fn g_object_notify(object: *mut GObject, property_name: *const c_char);
2106 pub fn g_object_notify_by_pspec(object: *mut GObject, pspec: *mut GParamSpec);
2107 pub fn g_object_ref(object: *mut GObject) -> *mut GObject;
2108 pub fn g_object_ref_sink(object: *mut GObject) -> *mut GObject;
2109 pub fn g_object_remove_toggle_ref(object: *mut GObject, notify: GToggleNotify, data: gpointer);
2110 pub fn g_object_remove_weak_pointer(object: *mut GObject, weak_pointer_location: *mut gpointer);
2111 pub fn g_object_replace_data(
2112 object: *mut GObject,
2113 key: *const c_char,
2114 oldval: gpointer,
2115 newval: gpointer,
2116 destroy: glib::GDestroyNotify,
2117 old_destroy: *mut glib::GDestroyNotify,
2118 ) -> gboolean;
2119 pub fn g_object_replace_qdata(
2120 object: *mut GObject,
2121 quark: glib::GQuark,
2122 oldval: gpointer,
2123 newval: gpointer,
2124 destroy: glib::GDestroyNotify,
2125 old_destroy: *mut glib::GDestroyNotify,
2126 ) -> gboolean;
2127 pub fn g_object_run_dispose(object: *mut GObject);
2128 pub fn g_object_set(object: *mut GObject, first_property_name: *const c_char, ...);
2129 pub fn g_object_set_data(object: *mut GObject, key: *const c_char, data: gpointer);
2130 pub fn g_object_set_data_full(
2131 object: *mut GObject,
2132 key: *const c_char,
2133 data: gpointer,
2134 destroy: glib::GDestroyNotify,
2135 );
2136 pub fn g_object_set_property(
2137 object: *mut GObject,
2138 property_name: *const c_char,
2139 value: *const GValue,
2140 );
2141 pub fn g_object_set_qdata(object: *mut GObject, quark: glib::GQuark, data: gpointer);
2142 pub fn g_object_set_qdata_full(
2143 object: *mut GObject,
2144 quark: glib::GQuark,
2145 data: gpointer,
2146 destroy: glib::GDestroyNotify,
2147 );
2148 pub fn g_object_setv(
2150 object: *mut GObject,
2151 n_properties: c_uint,
2152 names: *mut *const c_char,
2153 values: *const GValue,
2154 );
2155 pub fn g_object_steal_data(object: *mut GObject, key: *const c_char) -> gpointer;
2156 pub fn g_object_steal_qdata(object: *mut GObject, quark: glib::GQuark) -> gpointer;
2157 #[cfg(feature = "v2_70")]
2158 #[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
2159 pub fn g_object_take_ref(object: *mut GObject) -> *mut GObject;
2160 pub fn g_object_thaw_notify(object: *mut GObject);
2161 pub fn g_object_unref(object: *mut GObject);
2162 pub fn g_object_watch_closure(object: *mut GObject, closure: *mut GClosure);
2163 pub fn g_object_weak_ref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
2164 pub fn g_object_weak_unref(object: *mut GObject, notify: GWeakNotify, data: gpointer);
2165
2166 pub fn g_param_spec_internal(
2170 param_type: GType,
2171 name: *const c_char,
2172 nick: *const c_char,
2173 blurb: *const c_char,
2174 flags: GParamFlags,
2175 ) -> *mut GParamSpec;
2176 #[cfg(feature = "v2_66")]
2177 #[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
2178 pub fn g_param_spec_is_valid_name(name: *const c_char) -> gboolean;
2179 pub fn g_param_spec_get_blurb(pspec: *mut GParamSpec) -> *const c_char;
2180 pub fn g_param_spec_get_default_value(pspec: *mut GParamSpec) -> *const GValue;
2181 pub fn g_param_spec_get_name(pspec: *mut GParamSpec) -> *const c_char;
2182 pub fn g_param_spec_get_name_quark(pspec: *mut GParamSpec) -> glib::GQuark;
2183 pub fn g_param_spec_get_nick(pspec: *mut GParamSpec) -> *const c_char;
2184 pub fn g_param_spec_get_qdata(pspec: *mut GParamSpec, quark: glib::GQuark) -> gpointer;
2185 pub fn g_param_spec_get_redirect_target(pspec: *mut GParamSpec) -> *mut GParamSpec;
2186 pub fn g_param_spec_ref(pspec: *mut GParamSpec) -> *mut GParamSpec;
2187 pub fn g_param_spec_ref_sink(pspec: *mut GParamSpec) -> *mut GParamSpec;
2188 pub fn g_param_spec_set_qdata(pspec: *mut GParamSpec, quark: glib::GQuark, data: gpointer);
2189 pub fn g_param_spec_set_qdata_full(
2190 pspec: *mut GParamSpec,
2191 quark: glib::GQuark,
2192 data: gpointer,
2193 destroy: glib::GDestroyNotify,
2194 );
2195 pub fn g_param_spec_sink(pspec: *mut GParamSpec);
2196 pub fn g_param_spec_steal_qdata(pspec: *mut GParamSpec, quark: glib::GQuark) -> gpointer;
2197 pub fn g_param_spec_unref(pspec: *mut GParamSpec);
2198
2199 #[cfg(feature = "v2_72")]
2203 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2204 pub fn g_signal_group_get_type() -> GType;
2205 #[cfg(feature = "v2_72")]
2206 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2207 pub fn g_signal_group_new(target_type: GType) -> *mut GSignalGroup;
2208 #[cfg(feature = "v2_72")]
2209 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2210 pub fn g_signal_group_block(self_: *mut GSignalGroup);
2211 #[cfg(feature = "v2_72")]
2212 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2213 pub fn g_signal_group_connect(
2214 self_: *mut GSignalGroup,
2215 detailed_signal: *const c_char,
2216 c_handler: GCallback,
2217 data: gpointer,
2218 );
2219 #[cfg(feature = "v2_72")]
2220 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2221 pub fn g_signal_group_connect_after(
2222 self_: *mut GSignalGroup,
2223 detailed_signal: *const c_char,
2224 c_handler: GCallback,
2225 data: gpointer,
2226 );
2227 #[cfg(feature = "v2_74")]
2228 #[cfg_attr(docsrs, doc(cfg(feature = "v2_74")))]
2229 pub fn g_signal_group_connect_closure(
2230 self_: *mut GSignalGroup,
2231 detailed_signal: *const c_char,
2232 closure: *mut GClosure,
2233 after: gboolean,
2234 );
2235 #[cfg(feature = "v2_72")]
2236 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2237 pub fn g_signal_group_connect_data(
2238 self_: *mut GSignalGroup,
2239 detailed_signal: *const c_char,
2240 c_handler: GCallback,
2241 data: gpointer,
2242 notify: GClosureNotify,
2243 flags: GConnectFlags,
2244 );
2245 #[cfg(feature = "v2_72")]
2246 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2247 pub fn g_signal_group_connect_object(
2248 self_: *mut GSignalGroup,
2249 detailed_signal: *const c_char,
2250 c_handler: GCallback,
2251 object: gpointer,
2252 flags: GConnectFlags,
2253 );
2254 #[cfg(feature = "v2_72")]
2255 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2256 pub fn g_signal_group_connect_swapped(
2257 self_: *mut GSignalGroup,
2258 detailed_signal: *const c_char,
2259 c_handler: GCallback,
2260 data: gpointer,
2261 );
2262 #[cfg(feature = "v2_72")]
2263 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2264 pub fn g_signal_group_dup_target(self_: *mut GSignalGroup) -> *mut GObject;
2265 #[cfg(feature = "v2_72")]
2266 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2267 pub fn g_signal_group_set_target(self_: *mut GSignalGroup, target: *mut GObject);
2268 #[cfg(feature = "v2_72")]
2269 #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2270 pub fn g_signal_group_unblock(self_: *mut GSignalGroup);
2271
2272 pub fn g_type_module_get_type() -> GType;
2276 pub fn g_type_module_add_interface(
2277 module: *mut GTypeModule,
2278 instance_type: GType,
2279 interface_type: GType,
2280 interface_info: *const GInterfaceInfo,
2281 );
2282 pub fn g_type_module_register_enum(
2283 module: *mut GTypeModule,
2284 name: *const c_char,
2285 const_static_values: *const GEnumValue,
2286 ) -> GType;
2287 pub fn g_type_module_register_flags(
2288 module: *mut GTypeModule,
2289 name: *const c_char,
2290 const_static_values: *const GFlagsValue,
2291 ) -> GType;
2292 pub fn g_type_module_register_type(
2293 module: *mut GTypeModule,
2294 parent_type: GType,
2295 type_name: *const c_char,
2296 type_info: *const GTypeInfo,
2297 flags: GTypeFlags,
2298 ) -> GType;
2299 pub fn g_type_module_set_name(module: *mut GTypeModule, name: *const c_char);
2300 pub fn g_type_module_unuse(module: *mut GTypeModule);
2301 pub fn g_type_module_use(module: *mut GTypeModule) -> gboolean;
2302
2303 pub fn g_type_plugin_get_type() -> GType;
2307 pub fn g_type_plugin_complete_interface_info(
2308 plugin: *mut GTypePlugin,
2309 instance_type: GType,
2310 interface_type: GType,
2311 info: *mut GInterfaceInfo,
2312 );
2313 pub fn g_type_plugin_complete_type_info(
2314 plugin: *mut GTypePlugin,
2315 g_type: GType,
2316 info: *mut GTypeInfo,
2317 value_table: *mut GTypeValueTable,
2318 );
2319 pub fn g_type_plugin_unuse(plugin: *mut GTypePlugin);
2320 pub fn g_type_plugin_use(plugin: *mut GTypePlugin);
2321
2322 pub fn g_boxed_copy(boxed_type: GType, src_boxed: gconstpointer) -> gpointer;
2326 pub fn g_boxed_free(boxed_type: GType, boxed: gpointer);
2327 pub fn g_boxed_type_register_static(
2328 name: *const c_char,
2329 boxed_copy: GBoxedCopyFunc,
2330 boxed_free: GBoxedFreeFunc,
2331 ) -> GType;
2332 pub fn g_clear_object(object_ptr: *mut *mut GObject);
2333 #[cfg(feature = "v2_62")]
2334 #[cfg_attr(docsrs, doc(cfg(feature = "v2_62")))]
2335 pub fn g_clear_signal_handler(handler_id_ptr: *mut c_ulong, instance: *mut GObject);
2336 pub fn g_enum_complete_type_info(
2337 g_enum_type: GType,
2338 info: *mut GTypeInfo,
2339 const_values: *const GEnumValue,
2340 );
2341 pub fn g_enum_get_value(enum_class: *mut GEnumClass, value: c_int) -> *mut GEnumValue;
2342 pub fn g_enum_get_value_by_name(
2343 enum_class: *mut GEnumClass,
2344 name: *const c_char,
2345 ) -> *mut GEnumValue;
2346 pub fn g_enum_get_value_by_nick(
2347 enum_class: *mut GEnumClass,
2348 nick: *const c_char,
2349 ) -> *mut GEnumValue;
2350 pub fn g_enum_register_static(
2351 name: *const c_char,
2352 const_static_values: *const GEnumValue,
2353 ) -> GType;
2354 pub fn g_enum_to_string(g_enum_type: GType, value: c_int) -> *mut c_char;
2355 pub fn g_flags_complete_type_info(
2356 g_flags_type: GType,
2357 info: *mut GTypeInfo,
2358 const_values: *const GFlagsValue,
2359 );
2360 pub fn g_flags_get_first_value(
2361 flags_class: *mut GFlagsClass,
2362 value: c_uint,
2363 ) -> *mut GFlagsValue;
2364 pub fn g_flags_get_value_by_name(
2365 flags_class: *mut GFlagsClass,
2366 name: *const c_char,
2367 ) -> *mut GFlagsValue;
2368 pub fn g_flags_get_value_by_nick(
2369 flags_class: *mut GFlagsClass,
2370 nick: *const c_char,
2371 ) -> *mut GFlagsValue;
2372 pub fn g_flags_register_static(
2373 name: *const c_char,
2374 const_static_values: *const GFlagsValue,
2375 ) -> GType;
2376 pub fn g_flags_to_string(flags_type: GType, value: c_uint) -> *mut c_char;
2377 pub fn g_gtype_get_type() -> GType;
2378 pub fn g_param_spec_boolean(
2379 name: *const c_char,
2380 nick: *const c_char,
2381 blurb: *const c_char,
2382 default_value: gboolean,
2383 flags: GParamFlags,
2384 ) -> *mut GParamSpec;
2385 pub fn g_param_spec_boxed(
2386 name: *const c_char,
2387 nick: *const c_char,
2388 blurb: *const c_char,
2389 boxed_type: GType,
2390 flags: GParamFlags,
2391 ) -> *mut GParamSpec;
2392 pub fn g_param_spec_char(
2393 name: *const c_char,
2394 nick: *const c_char,
2395 blurb: *const c_char,
2396 minimum: i8,
2397 maximum: i8,
2398 default_value: i8,
2399 flags: GParamFlags,
2400 ) -> *mut GParamSpec;
2401 pub fn g_param_spec_double(
2402 name: *const c_char,
2403 nick: *const c_char,
2404 blurb: *const c_char,
2405 minimum: c_double,
2406 maximum: c_double,
2407 default_value: c_double,
2408 flags: GParamFlags,
2409 ) -> *mut GParamSpec;
2410 pub fn g_param_spec_enum(
2411 name: *const c_char,
2412 nick: *const c_char,
2413 blurb: *const c_char,
2414 enum_type: GType,
2415 default_value: c_int,
2416 flags: GParamFlags,
2417 ) -> *mut GParamSpec;
2418 pub fn g_param_spec_flags(
2419 name: *const c_char,
2420 nick: *const c_char,
2421 blurb: *const c_char,
2422 flags_type: GType,
2423 default_value: c_uint,
2424 flags: GParamFlags,
2425 ) -> *mut GParamSpec;
2426 pub fn g_param_spec_float(
2427 name: *const c_char,
2428 nick: *const c_char,
2429 blurb: *const c_char,
2430 minimum: c_float,
2431 maximum: c_float,
2432 default_value: c_float,
2433 flags: GParamFlags,
2434 ) -> *mut GParamSpec;
2435 pub fn g_param_spec_gtype(
2436 name: *const c_char,
2437 nick: *const c_char,
2438 blurb: *const c_char,
2439 is_a_type: GType,
2440 flags: GParamFlags,
2441 ) -> *mut GParamSpec;
2442 pub fn g_param_spec_int(
2443 name: *const c_char,
2444 nick: *const c_char,
2445 blurb: *const c_char,
2446 minimum: c_int,
2447 maximum: c_int,
2448 default_value: c_int,
2449 flags: GParamFlags,
2450 ) -> *mut GParamSpec;
2451 pub fn g_param_spec_int64(
2452 name: *const c_char,
2453 nick: *const c_char,
2454 blurb: *const c_char,
2455 minimum: i64,
2456 maximum: i64,
2457 default_value: i64,
2458 flags: GParamFlags,
2459 ) -> *mut GParamSpec;
2460 pub fn g_param_spec_long(
2461 name: *const c_char,
2462 nick: *const c_char,
2463 blurb: *const c_char,
2464 minimum: c_long,
2465 maximum: c_long,
2466 default_value: c_long,
2467 flags: GParamFlags,
2468 ) -> *mut GParamSpec;
2469 pub fn g_param_spec_object(
2470 name: *const c_char,
2471 nick: *const c_char,
2472 blurb: *const c_char,
2473 object_type: GType,
2474 flags: GParamFlags,
2475 ) -> *mut GParamSpec;
2476 pub fn g_param_spec_override(
2477 name: *const c_char,
2478 overridden: *mut GParamSpec,
2479 ) -> *mut GParamSpec;
2480 pub fn g_param_spec_param(
2481 name: *const c_char,
2482 nick: *const c_char,
2483 blurb: *const c_char,
2484 param_type: GType,
2485 flags: GParamFlags,
2486 ) -> *mut GParamSpec;
2487 pub fn g_param_spec_pointer(
2488 name: *const c_char,
2489 nick: *const c_char,
2490 blurb: *const c_char,
2491 flags: GParamFlags,
2492 ) -> *mut GParamSpec;
2493 pub fn g_param_spec_string(
2494 name: *const c_char,
2495 nick: *const c_char,
2496 blurb: *const c_char,
2497 default_value: *const c_char,
2498 flags: GParamFlags,
2499 ) -> *mut GParamSpec;
2500 pub fn g_param_spec_uchar(
2501 name: *const c_char,
2502 nick: *const c_char,
2503 blurb: *const c_char,
2504 minimum: u8,
2505 maximum: u8,
2506 default_value: u8,
2507 flags: GParamFlags,
2508 ) -> *mut GParamSpec;
2509 pub fn g_param_spec_uint(
2510 name: *const c_char,
2511 nick: *const c_char,
2512 blurb: *const c_char,
2513 minimum: c_uint,
2514 maximum: c_uint,
2515 default_value: c_uint,
2516 flags: GParamFlags,
2517 ) -> *mut GParamSpec;
2518 pub fn g_param_spec_uint64(
2519 name: *const c_char,
2520 nick: *const c_char,
2521 blurb: *const c_char,
2522 minimum: u64,
2523 maximum: u64,
2524 default_value: u64,
2525 flags: GParamFlags,
2526 ) -> *mut GParamSpec;
2527 pub fn g_param_spec_ulong(
2528 name: *const c_char,
2529 nick: *const c_char,
2530 blurb: *const c_char,
2531 minimum: c_ulong,
2532 maximum: c_ulong,
2533 default_value: c_ulong,
2534 flags: GParamFlags,
2535 ) -> *mut GParamSpec;
2536 pub fn g_param_spec_unichar(
2537 name: *const c_char,
2538 nick: *const c_char,
2539 blurb: *const c_char,
2540 default_value: u32,
2541 flags: GParamFlags,
2542 ) -> *mut GParamSpec;
2543 pub fn g_param_spec_value_array(
2544 name: *const c_char,
2545 nick: *const c_char,
2546 blurb: *const c_char,
2547 element_spec: *mut GParamSpec,
2548 flags: GParamFlags,
2549 ) -> *mut GParamSpec;
2550 pub fn g_param_spec_variant(
2551 name: *const c_char,
2552 nick: *const c_char,
2553 blurb: *const c_char,
2554 type_: *const glib::GVariantType,
2555 default_value: *mut glib::GVariant,
2556 flags: GParamFlags,
2557 ) -> *mut GParamSpec;
2558 pub fn g_param_type_register_static(
2559 name: *const c_char,
2560 pspec_info: *const GParamSpecTypeInfo,
2561 ) -> GType;
2562 pub fn g_param_value_convert(
2563 pspec: *mut GParamSpec,
2564 src_value: *const GValue,
2565 dest_value: *mut GValue,
2566 strict_validation: gboolean,
2567 ) -> gboolean;
2568 pub fn g_param_value_defaults(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
2569 #[cfg(feature = "v2_74")]
2570 #[cfg_attr(docsrs, doc(cfg(feature = "v2_74")))]
2571 pub fn g_param_value_is_valid(pspec: *mut GParamSpec, value: *const GValue) -> gboolean;
2572 pub fn g_param_value_set_default(pspec: *mut GParamSpec, value: *mut GValue);
2573 pub fn g_param_value_validate(pspec: *mut GParamSpec, value: *mut GValue) -> gboolean;
2574 pub fn g_param_values_cmp(
2575 pspec: *mut GParamSpec,
2576 value1: *const GValue,
2577 value2: *const GValue,
2578 ) -> c_int;
2579 pub fn g_pointer_type_register_static(name: *const c_char) -> GType;
2580 pub fn g_signal_accumulator_first_wins(
2581 ihint: *mut GSignalInvocationHint,
2582 return_accu: *mut GValue,
2583 handler_return: *const GValue,
2584 dummy: gpointer,
2585 ) -> gboolean;
2586 pub fn g_signal_accumulator_true_handled(
2587 ihint: *mut GSignalInvocationHint,
2588 return_accu: *mut GValue,
2589 handler_return: *const GValue,
2590 dummy: gpointer,
2591 ) -> gboolean;
2592 pub fn g_signal_add_emission_hook(
2593 signal_id: c_uint,
2594 detail: glib::GQuark,
2595 hook_func: GSignalEmissionHook,
2596 hook_data: gpointer,
2597 data_destroy: glib::GDestroyNotify,
2598 ) -> c_ulong;
2599 pub fn g_signal_chain_from_overridden(
2600 instance_and_params: *const GValue,
2601 return_value: *mut GValue,
2602 );
2603 pub fn g_signal_chain_from_overridden_handler(instance: gpointer, ...);
2604 pub fn g_signal_connect_closure(
2605 instance: *mut GObject,
2606 detailed_signal: *const c_char,
2607 closure: *mut GClosure,
2608 after: gboolean,
2609 ) -> c_ulong;
2610 pub fn g_signal_connect_closure_by_id(
2611 instance: *mut GObject,
2612 signal_id: c_uint,
2613 detail: glib::GQuark,
2614 closure: *mut GClosure,
2615 after: gboolean,
2616 ) -> c_ulong;
2617 pub fn g_signal_connect_data(
2618 instance: *mut GObject,
2619 detailed_signal: *const c_char,
2620 c_handler: GCallback,
2621 data: gpointer,
2622 destroy_data: GClosureNotify,
2623 connect_flags: GConnectFlags,
2624 ) -> c_ulong;
2625 pub fn g_signal_connect_object(
2626 instance: gpointer,
2627 detailed_signal: *const c_char,
2628 c_handler: GCallback,
2629 gobject: *mut GObject,
2630 connect_flags: GConnectFlags,
2631 ) -> c_ulong;
2632 pub fn g_signal_emit(instance: *mut GObject, signal_id: c_uint, detail: glib::GQuark, ...);
2633 pub fn g_signal_emit_by_name(instance: *mut GObject, detailed_signal: *const c_char, ...);
2634 pub fn g_signal_emitv(
2636 instance_and_params: *const GValue,
2637 signal_id: c_uint,
2638 detail: glib::GQuark,
2639 return_value: *mut GValue,
2640 );
2641 pub fn g_signal_get_invocation_hint(instance: *mut GObject) -> *mut GSignalInvocationHint;
2642 pub fn g_signal_handler_block(instance: *mut GObject, handler_id: c_ulong);
2643 pub fn g_signal_handler_disconnect(instance: *mut GObject, handler_id: c_ulong);
2644 pub fn g_signal_handler_find(
2645 instance: *mut GObject,
2646 mask: GSignalMatchType,
2647 signal_id: c_uint,
2648 detail: glib::GQuark,
2649 closure: *mut GClosure,
2650 func: gpointer,
2651 data: gpointer,
2652 ) -> c_ulong;
2653 pub fn g_signal_handler_is_connected(instance: *mut GObject, handler_id: c_ulong) -> gboolean;
2654 pub fn g_signal_handler_unblock(instance: *mut GObject, handler_id: c_ulong);
2655 pub fn g_signal_handlers_block_matched(
2656 instance: *mut GObject,
2657 mask: GSignalMatchType,
2658 signal_id: c_uint,
2659 detail: glib::GQuark,
2660 closure: *mut GClosure,
2661 func: gpointer,
2662 data: gpointer,
2663 ) -> c_uint;
2664 pub fn g_signal_handlers_destroy(instance: *mut GObject);
2665 pub fn g_signal_handlers_disconnect_matched(
2666 instance: *mut GObject,
2667 mask: GSignalMatchType,
2668 signal_id: c_uint,
2669 detail: glib::GQuark,
2670 closure: *mut GClosure,
2671 func: gpointer,
2672 data: gpointer,
2673 ) -> c_uint;
2674 pub fn g_signal_handlers_unblock_matched(
2675 instance: *mut GObject,
2676 mask: GSignalMatchType,
2677 signal_id: c_uint,
2678 detail: glib::GQuark,
2679 closure: *mut GClosure,
2680 func: gpointer,
2681 data: gpointer,
2682 ) -> c_uint;
2683 pub fn g_signal_has_handler_pending(
2684 instance: *mut GObject,
2685 signal_id: c_uint,
2686 detail: glib::GQuark,
2687 may_be_blocked: gboolean,
2688 ) -> gboolean;
2689 #[cfg(feature = "v2_66")]
2690 #[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
2691 pub fn g_signal_is_valid_name(name: *const c_char) -> gboolean;
2692 pub fn g_signal_list_ids(itype: GType, n_ids: *mut c_uint) -> *mut c_uint;
2693 pub fn g_signal_lookup(name: *const c_char, itype: GType) -> c_uint;
2694 pub fn g_signal_name(signal_id: c_uint) -> *const c_char;
2695 pub fn g_signal_new(
2696 signal_name: *const c_char,
2697 itype: GType,
2698 signal_flags: GSignalFlags,
2699 class_offset: c_uint,
2700 accumulator: GSignalAccumulator,
2701 accu_data: gpointer,
2702 c_marshaller: GSignalCMarshaller,
2703 return_type: GType,
2704 n_params: c_uint,
2705 ...
2706 ) -> c_uint;
2707 pub fn g_signal_new_class_handler(
2708 signal_name: *const c_char,
2709 itype: GType,
2710 signal_flags: GSignalFlags,
2711 class_handler: GCallback,
2712 accumulator: GSignalAccumulator,
2713 accu_data: gpointer,
2714 c_marshaller: GSignalCMarshaller,
2715 return_type: GType,
2716 n_params: c_uint,
2717 ...
2718 ) -> c_uint;
2719 pub fn g_signal_newv(
2721 signal_name: *const c_char,
2722 itype: GType,
2723 signal_flags: GSignalFlags,
2724 class_closure: *mut GClosure,
2725 accumulator: GSignalAccumulator,
2726 accu_data: gpointer,
2727 c_marshaller: GSignalCMarshaller,
2728 return_type: GType,
2729 n_params: c_uint,
2730 param_types: *mut GType,
2731 ) -> c_uint;
2732 pub fn g_signal_override_class_closure(
2733 signal_id: c_uint,
2734 instance_type: GType,
2735 class_closure: *mut GClosure,
2736 );
2737 pub fn g_signal_override_class_handler(
2738 signal_name: *const c_char,
2739 instance_type: GType,
2740 class_handler: GCallback,
2741 );
2742 pub fn g_signal_parse_name(
2743 detailed_signal: *const c_char,
2744 itype: GType,
2745 signal_id_p: *mut c_uint,
2746 detail_p: *mut glib::GQuark,
2747 force_detail_quark: gboolean,
2748 ) -> gboolean;
2749 pub fn g_signal_query(signal_id: c_uint, query: *mut GSignalQuery);
2750 pub fn g_signal_remove_emission_hook(signal_id: c_uint, hook_id: c_ulong);
2751 pub fn g_signal_stop_emission(instance: *mut GObject, signal_id: c_uint, detail: glib::GQuark);
2753 pub fn g_signal_stop_emission_by_name(instance: *mut GObject, detailed_signal: *const c_char);
2754 pub fn g_signal_type_cclosure_new(itype: GType, struct_offset: c_uint) -> *mut GClosure;
2755 pub fn g_strdup_value_contents(value: *const GValue) -> *mut c_char;
2756 pub fn g_type_add_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
2757 pub fn g_type_add_class_private(class_type: GType, private_size: size_t);
2758 pub fn g_type_add_instance_private(class_type: GType, private_size: size_t) -> c_int;
2759 pub fn g_type_add_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
2760 pub fn g_type_add_interface_dynamic(
2761 instance_type: GType,
2762 interface_type: GType,
2763 plugin: *mut GTypePlugin,
2764 );
2765 pub fn g_type_add_interface_static(
2766 instance_type: GType,
2767 interface_type: GType,
2768 info: *const GInterfaceInfo,
2769 );
2770 pub fn g_type_check_class_cast(g_class: *mut GTypeClass, is_a_type: GType) -> *mut GTypeClass;
2771 pub fn g_type_check_class_is_a(g_class: *mut GTypeClass, is_a_type: GType) -> gboolean;
2772 pub fn g_type_check_instance(instance: *mut GTypeInstance) -> gboolean;
2773 pub fn g_type_check_instance_cast(
2774 instance: *mut GTypeInstance,
2775 iface_type: GType,
2776 ) -> *mut GTypeInstance;
2777 pub fn g_type_check_instance_is_a(instance: *mut GTypeInstance, iface_type: GType) -> gboolean;
2778 pub fn g_type_check_instance_is_fundamentally_a(
2779 instance: *mut GTypeInstance,
2780 fundamental_type: GType,
2781 ) -> gboolean;
2782 pub fn g_type_check_is_value_type(type_: GType) -> gboolean;
2783 pub fn g_type_check_value(value: *const GValue) -> gboolean;
2784 pub fn g_type_check_value_holds(value: *const GValue, type_: GType) -> gboolean;
2785 pub fn g_type_children(type_: GType, n_children: *mut c_uint) -> *mut GType;
2786 pub fn g_type_create_instance(type_: GType) -> *mut GTypeInstance;
2787 #[cfg(feature = "v2_84")]
2788 #[cfg_attr(docsrs, doc(cfg(feature = "v2_84")))]
2789 pub fn g_type_default_interface_get(g_type: GType) -> gpointer;
2790 pub fn g_type_default_interface_peek(g_type: GType) -> gpointer;
2791 pub fn g_type_default_interface_ref(g_type: GType) -> gpointer;
2792 pub fn g_type_default_interface_unref(g_iface: gpointer);
2793 pub fn g_type_depth(type_: GType) -> c_uint;
2794 pub fn g_type_ensure(type_: GType);
2795 pub fn g_type_free_instance(instance: *mut GTypeInstance);
2796 pub fn g_type_from_name(name: *const c_char) -> GType;
2797 pub fn g_type_fundamental(type_id: GType) -> GType;
2798 pub fn g_type_fundamental_next() -> GType;
2799 pub fn g_type_get_instance_count(type_: GType) -> c_int;
2800 pub fn g_type_get_plugin(type_: GType) -> *mut GTypePlugin;
2801 pub fn g_type_get_qdata(type_: GType, quark: glib::GQuark) -> gpointer;
2802 pub fn g_type_get_type_registration_serial() -> c_uint;
2803 pub fn g_type_init();
2804 pub fn g_type_init_with_debug_flags(debug_flags: GTypeDebugFlags);
2805 pub fn g_type_interfaces(type_: GType, n_interfaces: *mut c_uint) -> *mut GType;
2806 pub fn g_type_is_a(type_: GType, is_a_type: GType) -> gboolean;
2807 pub fn g_type_name(type_: GType) -> *const c_char;
2808 pub fn g_type_name_from_class(g_class: *mut GTypeClass) -> *const c_char;
2809 pub fn g_type_name_from_instance(instance: *mut GTypeInstance) -> *const c_char;
2810 pub fn g_type_next_base(leaf_type: GType, root_type: GType) -> GType;
2811 pub fn g_type_parent(type_: GType) -> GType;
2812 pub fn g_type_qname(type_: GType) -> glib::GQuark;
2813 pub fn g_type_query(type_: GType, query: *mut GTypeQuery);
2814 pub fn g_type_register_dynamic(
2815 parent_type: GType,
2816 type_name: *const c_char,
2817 plugin: *mut GTypePlugin,
2818 flags: GTypeFlags,
2819 ) -> GType;
2820 pub fn g_type_register_fundamental(
2821 type_id: GType,
2822 type_name: *const c_char,
2823 info: *const GTypeInfo,
2824 finfo: *const GTypeFundamentalInfo,
2825 flags: GTypeFlags,
2826 ) -> GType;
2827 pub fn g_type_register_static(
2828 parent_type: GType,
2829 type_name: *const c_char,
2830 info: *const GTypeInfo,
2831 flags: GTypeFlags,
2832 ) -> GType;
2833 pub fn g_type_register_static_simple(
2834 parent_type: GType,
2835 type_name: *const c_char,
2836 class_size: c_uint,
2837 class_init: GClassInitFunc,
2838 instance_size: c_uint,
2839 instance_init: GInstanceInitFunc,
2840 flags: GTypeFlags,
2841 ) -> GType;
2842 pub fn g_type_remove_class_cache_func(cache_data: gpointer, cache_func: GTypeClassCacheFunc);
2843 pub fn g_type_remove_interface_check(check_data: gpointer, check_func: GTypeInterfaceCheckFunc);
2844 pub fn g_type_set_qdata(type_: GType, quark: glib::GQuark, data: gpointer);
2845 pub fn g_type_test_flags(type_: GType, flags: c_uint) -> gboolean;
2846 pub fn g_variant_get_gtype() -> GType;
2847
2848}