[go: up one dir, main page]

gio/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
9#[non_exhaustive]
10#[doc(alias = "GBusType")]
11pub enum BusType {
12    #[doc(alias = "G_BUS_TYPE_STARTER")]
13    Starter,
14    #[doc(alias = "G_BUS_TYPE_NONE")]
15    None,
16    #[doc(alias = "G_BUS_TYPE_SYSTEM")]
17    System,
18    #[doc(alias = "G_BUS_TYPE_SESSION")]
19    Session,
20    #[doc(hidden)]
21    __Unknown(i32),
22}
23
24#[doc(hidden)]
25impl IntoGlib for BusType {
26    type GlibType = ffi::GBusType;
27
28    #[inline]
29    fn into_glib(self) -> ffi::GBusType {
30        match self {
31            Self::Starter => ffi::G_BUS_TYPE_STARTER,
32            Self::None => ffi::G_BUS_TYPE_NONE,
33            Self::System => ffi::G_BUS_TYPE_SYSTEM,
34            Self::Session => ffi::G_BUS_TYPE_SESSION,
35            Self::__Unknown(value) => value,
36        }
37    }
38}
39
40#[doc(hidden)]
41impl FromGlib<ffi::GBusType> for BusType {
42    #[inline]
43    unsafe fn from_glib(value: ffi::GBusType) -> Self {
44        match value {
45            ffi::G_BUS_TYPE_STARTER => Self::Starter,
46            ffi::G_BUS_TYPE_NONE => Self::None,
47            ffi::G_BUS_TYPE_SYSTEM => Self::System,
48            ffi::G_BUS_TYPE_SESSION => Self::Session,
49            value => Self::__Unknown(value),
50        }
51    }
52}
53
54impl StaticType for BusType {
55    #[inline]
56    #[doc(alias = "g_bus_type_get_type")]
57    fn static_type() -> glib::Type {
58        unsafe { from_glib(ffi::g_bus_type_get_type()) }
59    }
60}
61
62impl glib::HasParamSpec for BusType {
63    type ParamSpec = glib::ParamSpecEnum;
64    type SetValue = Self;
65    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
66
67    fn param_spec_builder() -> Self::BuilderFn {
68        Self::ParamSpec::builder_with_default
69    }
70}
71
72impl glib::value::ValueType for BusType {
73    type Type = Self;
74}
75
76unsafe impl<'a> glib::value::FromValue<'a> for BusType {
77    type Checker = glib::value::GenericValueTypeChecker<Self>;
78
79    #[inline]
80    unsafe fn from_value(value: &'a glib::Value) -> Self {
81        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
82    }
83}
84
85impl ToValue for BusType {
86    #[inline]
87    fn to_value(&self) -> glib::Value {
88        let mut value = glib::Value::for_value_type::<Self>();
89        unsafe {
90            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
91        }
92        value
93    }
94
95    #[inline]
96    fn value_type(&self) -> glib::Type {
97        Self::static_type()
98    }
99}
100
101impl From<BusType> for glib::Value {
102    #[inline]
103    fn from(v: BusType) -> Self {
104        ToValue::to_value(&v)
105    }
106}
107
108#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
109#[non_exhaustive]
110#[doc(alias = "GConverterResult")]
111pub enum ConverterResult {
112    #[doc(alias = "G_CONVERTER_ERROR")]
113    Error,
114    #[doc(alias = "G_CONVERTER_CONVERTED")]
115    Converted,
116    #[doc(alias = "G_CONVERTER_FINISHED")]
117    Finished,
118    #[doc(alias = "G_CONVERTER_FLUSHED")]
119    Flushed,
120    #[doc(hidden)]
121    __Unknown(i32),
122}
123
124#[doc(hidden)]
125impl IntoGlib for ConverterResult {
126    type GlibType = ffi::GConverterResult;
127
128    #[inline]
129    fn into_glib(self) -> ffi::GConverterResult {
130        match self {
131            Self::Error => ffi::G_CONVERTER_ERROR,
132            Self::Converted => ffi::G_CONVERTER_CONVERTED,
133            Self::Finished => ffi::G_CONVERTER_FINISHED,
134            Self::Flushed => ffi::G_CONVERTER_FLUSHED,
135            Self::__Unknown(value) => value,
136        }
137    }
138}
139
140#[doc(hidden)]
141impl FromGlib<ffi::GConverterResult> for ConverterResult {
142    #[inline]
143    unsafe fn from_glib(value: ffi::GConverterResult) -> Self {
144        match value {
145            ffi::G_CONVERTER_ERROR => Self::Error,
146            ffi::G_CONVERTER_CONVERTED => Self::Converted,
147            ffi::G_CONVERTER_FINISHED => Self::Finished,
148            ffi::G_CONVERTER_FLUSHED => Self::Flushed,
149            value => Self::__Unknown(value),
150        }
151    }
152}
153
154impl StaticType for ConverterResult {
155    #[inline]
156    #[doc(alias = "g_converter_result_get_type")]
157    fn static_type() -> glib::Type {
158        unsafe { from_glib(ffi::g_converter_result_get_type()) }
159    }
160}
161
162impl glib::HasParamSpec for ConverterResult {
163    type ParamSpec = glib::ParamSpecEnum;
164    type SetValue = Self;
165    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
166
167    fn param_spec_builder() -> Self::BuilderFn {
168        Self::ParamSpec::builder_with_default
169    }
170}
171
172impl glib::value::ValueType for ConverterResult {
173    type Type = Self;
174}
175
176unsafe impl<'a> glib::value::FromValue<'a> for ConverterResult {
177    type Checker = glib::value::GenericValueTypeChecker<Self>;
178
179    #[inline]
180    unsafe fn from_value(value: &'a glib::Value) -> Self {
181        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
182    }
183}
184
185impl ToValue for ConverterResult {
186    #[inline]
187    fn to_value(&self) -> glib::Value {
188        let mut value = glib::Value::for_value_type::<Self>();
189        unsafe {
190            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
191        }
192        value
193    }
194
195    #[inline]
196    fn value_type(&self) -> glib::Type {
197        Self::static_type()
198    }
199}
200
201impl From<ConverterResult> for glib::Value {
202    #[inline]
203    fn from(v: ConverterResult) -> Self {
204        ToValue::to_value(&v)
205    }
206}
207
208#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
209#[non_exhaustive]
210#[doc(alias = "GCredentialsType")]
211pub enum CredentialsType {
212    #[doc(alias = "G_CREDENTIALS_TYPE_INVALID")]
213    Invalid,
214    #[doc(alias = "G_CREDENTIALS_TYPE_LINUX_UCRED")]
215    LinuxUcred,
216    #[doc(alias = "G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED")]
217    FreebsdCmsgcred,
218    #[doc(alias = "G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED")]
219    OpenbsdSockpeercred,
220    #[doc(alias = "G_CREDENTIALS_TYPE_SOLARIS_UCRED")]
221    SolarisUcred,
222    #[doc(alias = "G_CREDENTIALS_TYPE_NETBSD_UNPCBID")]
223    NetbsdUnpcbid,
224    #[doc(alias = "G_CREDENTIALS_TYPE_APPLE_XUCRED")]
225    AppleXucred,
226    #[cfg(feature = "v2_72")]
227    #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
228    #[doc(alias = "G_CREDENTIALS_TYPE_WIN32_PID")]
229    Win32Pid,
230    #[doc(hidden)]
231    __Unknown(i32),
232}
233
234#[doc(hidden)]
235impl IntoGlib for CredentialsType {
236    type GlibType = ffi::GCredentialsType;
237
238    #[inline]
239    fn into_glib(self) -> ffi::GCredentialsType {
240        match self {
241            Self::Invalid => ffi::G_CREDENTIALS_TYPE_INVALID,
242            Self::LinuxUcred => ffi::G_CREDENTIALS_TYPE_LINUX_UCRED,
243            Self::FreebsdCmsgcred => ffi::G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED,
244            Self::OpenbsdSockpeercred => ffi::G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED,
245            Self::SolarisUcred => ffi::G_CREDENTIALS_TYPE_SOLARIS_UCRED,
246            Self::NetbsdUnpcbid => ffi::G_CREDENTIALS_TYPE_NETBSD_UNPCBID,
247            Self::AppleXucred => ffi::G_CREDENTIALS_TYPE_APPLE_XUCRED,
248            #[cfg(feature = "v2_72")]
249            Self::Win32Pid => ffi::G_CREDENTIALS_TYPE_WIN32_PID,
250            Self::__Unknown(value) => value,
251        }
252    }
253}
254
255#[doc(hidden)]
256impl FromGlib<ffi::GCredentialsType> for CredentialsType {
257    #[inline]
258    unsafe fn from_glib(value: ffi::GCredentialsType) -> Self {
259        match value {
260            ffi::G_CREDENTIALS_TYPE_INVALID => Self::Invalid,
261            ffi::G_CREDENTIALS_TYPE_LINUX_UCRED => Self::LinuxUcred,
262            ffi::G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED => Self::FreebsdCmsgcred,
263            ffi::G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED => Self::OpenbsdSockpeercred,
264            ffi::G_CREDENTIALS_TYPE_SOLARIS_UCRED => Self::SolarisUcred,
265            ffi::G_CREDENTIALS_TYPE_NETBSD_UNPCBID => Self::NetbsdUnpcbid,
266            ffi::G_CREDENTIALS_TYPE_APPLE_XUCRED => Self::AppleXucred,
267            #[cfg(feature = "v2_72")]
268            ffi::G_CREDENTIALS_TYPE_WIN32_PID => Self::Win32Pid,
269            value => Self::__Unknown(value),
270        }
271    }
272}
273
274impl StaticType for CredentialsType {
275    #[inline]
276    #[doc(alias = "g_credentials_type_get_type")]
277    fn static_type() -> glib::Type {
278        unsafe { from_glib(ffi::g_credentials_type_get_type()) }
279    }
280}
281
282impl glib::HasParamSpec for CredentialsType {
283    type ParamSpec = glib::ParamSpecEnum;
284    type SetValue = Self;
285    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
286
287    fn param_spec_builder() -> Self::BuilderFn {
288        Self::ParamSpec::builder_with_default
289    }
290}
291
292impl glib::value::ValueType for CredentialsType {
293    type Type = Self;
294}
295
296unsafe impl<'a> glib::value::FromValue<'a> for CredentialsType {
297    type Checker = glib::value::GenericValueTypeChecker<Self>;
298
299    #[inline]
300    unsafe fn from_value(value: &'a glib::Value) -> Self {
301        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
302    }
303}
304
305impl ToValue for CredentialsType {
306    #[inline]
307    fn to_value(&self) -> glib::Value {
308        let mut value = glib::Value::for_value_type::<Self>();
309        unsafe {
310            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
311        }
312        value
313    }
314
315    #[inline]
316    fn value_type(&self) -> glib::Type {
317        Self::static_type()
318    }
319}
320
321impl From<CredentialsType> for glib::Value {
322    #[inline]
323    fn from(v: CredentialsType) -> Self {
324        ToValue::to_value(&v)
325    }
326}
327
328#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
329#[non_exhaustive]
330#[doc(alias = "GDBusError")]
331pub enum DBusError {
332    #[doc(alias = "G_DBUS_ERROR_FAILED")]
333    Failed,
334    #[doc(alias = "G_DBUS_ERROR_NO_MEMORY")]
335    NoMemory,
336    #[doc(alias = "G_DBUS_ERROR_SERVICE_UNKNOWN")]
337    ServiceUnknown,
338    #[doc(alias = "G_DBUS_ERROR_NAME_HAS_NO_OWNER")]
339    NameHasNoOwner,
340    #[doc(alias = "G_DBUS_ERROR_NO_REPLY")]
341    NoReply,
342    #[doc(alias = "G_DBUS_ERROR_IO_ERROR")]
343    IoError,
344    #[doc(alias = "G_DBUS_ERROR_BAD_ADDRESS")]
345    BadAddress,
346    #[doc(alias = "G_DBUS_ERROR_NOT_SUPPORTED")]
347    NotSupported,
348    #[doc(alias = "G_DBUS_ERROR_LIMITS_EXCEEDED")]
349    LimitsExceeded,
350    #[doc(alias = "G_DBUS_ERROR_ACCESS_DENIED")]
351    AccessDenied,
352    #[doc(alias = "G_DBUS_ERROR_AUTH_FAILED")]
353    AuthFailed,
354    #[doc(alias = "G_DBUS_ERROR_NO_SERVER")]
355    NoServer,
356    #[doc(alias = "G_DBUS_ERROR_TIMEOUT")]
357    Timeout,
358    #[doc(alias = "G_DBUS_ERROR_NO_NETWORK")]
359    NoNetwork,
360    #[doc(alias = "G_DBUS_ERROR_ADDRESS_IN_USE")]
361    AddressInUse,
362    #[doc(alias = "G_DBUS_ERROR_DISCONNECTED")]
363    Disconnected,
364    #[doc(alias = "G_DBUS_ERROR_INVALID_ARGS")]
365    InvalidArgs,
366    #[doc(alias = "G_DBUS_ERROR_FILE_NOT_FOUND")]
367    FileNotFound,
368    #[doc(alias = "G_DBUS_ERROR_FILE_EXISTS")]
369    FileExists,
370    #[doc(alias = "G_DBUS_ERROR_UNKNOWN_METHOD")]
371    UnknownMethod,
372    #[doc(alias = "G_DBUS_ERROR_TIMED_OUT")]
373    TimedOut,
374    #[doc(alias = "G_DBUS_ERROR_MATCH_RULE_NOT_FOUND")]
375    MatchRuleNotFound,
376    #[doc(alias = "G_DBUS_ERROR_MATCH_RULE_INVALID")]
377    MatchRuleInvalid,
378    #[doc(alias = "G_DBUS_ERROR_SPAWN_EXEC_FAILED")]
379    SpawnExecFailed,
380    #[doc(alias = "G_DBUS_ERROR_SPAWN_FORK_FAILED")]
381    SpawnForkFailed,
382    #[doc(alias = "G_DBUS_ERROR_SPAWN_CHILD_EXITED")]
383    SpawnChildExited,
384    #[doc(alias = "G_DBUS_ERROR_SPAWN_CHILD_SIGNALED")]
385    SpawnChildSignaled,
386    #[doc(alias = "G_DBUS_ERROR_SPAWN_FAILED")]
387    SpawnFailed,
388    #[doc(alias = "G_DBUS_ERROR_SPAWN_SETUP_FAILED")]
389    SpawnSetupFailed,
390    #[doc(alias = "G_DBUS_ERROR_SPAWN_CONFIG_INVALID")]
391    SpawnConfigInvalid,
392    #[doc(alias = "G_DBUS_ERROR_SPAWN_SERVICE_INVALID")]
393    SpawnServiceInvalid,
394    #[doc(alias = "G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND")]
395    SpawnServiceNotFound,
396    #[doc(alias = "G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID")]
397    SpawnPermissionsInvalid,
398    #[doc(alias = "G_DBUS_ERROR_SPAWN_FILE_INVALID")]
399    SpawnFileInvalid,
400    #[doc(alias = "G_DBUS_ERROR_SPAWN_NO_MEMORY")]
401    SpawnNoMemory,
402    #[doc(alias = "G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN")]
403    UnixProcessIdUnknown,
404    #[doc(alias = "G_DBUS_ERROR_INVALID_SIGNATURE")]
405    InvalidSignature,
406    #[doc(alias = "G_DBUS_ERROR_INVALID_FILE_CONTENT")]
407    InvalidFileContent,
408    #[doc(alias = "G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN")]
409    SelinuxSecurityContextUnknown,
410    #[doc(alias = "G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN")]
411    AdtAuditDataUnknown,
412    #[doc(alias = "G_DBUS_ERROR_OBJECT_PATH_IN_USE")]
413    ObjectPathInUse,
414    #[doc(alias = "G_DBUS_ERROR_UNKNOWN_OBJECT")]
415    UnknownObject,
416    #[doc(alias = "G_DBUS_ERROR_UNKNOWN_INTERFACE")]
417    UnknownInterface,
418    #[doc(alias = "G_DBUS_ERROR_UNKNOWN_PROPERTY")]
419    UnknownProperty,
420    #[doc(alias = "G_DBUS_ERROR_PROPERTY_READ_ONLY")]
421    PropertyReadOnly,
422    #[doc(hidden)]
423    __Unknown(i32),
424}
425
426impl DBusError {
427    #[doc(alias = "g_dbus_error_encode_gerror")]
428    pub fn encode_gerror(error: &glib::Error) -> glib::GString {
429        unsafe { from_glib_full(ffi::g_dbus_error_encode_gerror(error.to_glib_none().0)) }
430    }
431
432    #[doc(alias = "g_dbus_error_get_remote_error")]
433    #[doc(alias = "get_remote_error")]
434    pub fn remote_error(error: &glib::Error) -> Option<glib::GString> {
435        unsafe { from_glib_full(ffi::g_dbus_error_get_remote_error(error.to_glib_none().0)) }
436    }
437
438    #[doc(alias = "g_dbus_error_is_remote_error")]
439    pub fn is_remote_error(error: &glib::Error) -> bool {
440        unsafe { from_glib(ffi::g_dbus_error_is_remote_error(error.to_glib_none().0)) }
441    }
442
443    #[doc(alias = "g_dbus_error_new_for_dbus_error")]
444    pub fn new_for_dbus_error(dbus_error_name: &str, dbus_error_message: &str) -> glib::Error {
445        unsafe {
446            from_glib_full(ffi::g_dbus_error_new_for_dbus_error(
447                dbus_error_name.to_glib_none().0,
448                dbus_error_message.to_glib_none().0,
449            ))
450        }
451    }
452
453    #[doc(alias = "g_dbus_error_register_error")]
454    pub fn register_error(
455        error_domain: glib::Quark,
456        error_code: i32,
457        dbus_error_name: &str,
458    ) -> bool {
459        unsafe {
460            from_glib(ffi::g_dbus_error_register_error(
461                error_domain.into_glib(),
462                error_code,
463                dbus_error_name.to_glib_none().0,
464            ))
465        }
466    }
467
468    //#[doc(alias = "g_dbus_error_register_error_domain")]
469    //pub fn register_error_domain(error_domain_quark_name: &str, quark_volatile: usize, entries: /*Ignored*/&[DBusErrorEntry]) {
470    //    unsafe { TODO: call ffi:g_dbus_error_register_error_domain() }
471    //}
472
473    //#[doc(alias = "g_dbus_error_set_dbus_error")]
474    //pub fn set_dbus_error(error: &mut glib::Error, dbus_error_name: &str, dbus_error_message: &str, format: Option<&str>, : /*Unknown conversion*//*Unimplemented*/Basic: VarArgs) {
475    //    unsafe { TODO: call ffi:g_dbus_error_set_dbus_error() }
476    //}
477
478    //#[doc(alias = "g_dbus_error_set_dbus_error_valist")]
479    //pub fn set_dbus_error_valist(error: &mut glib::Error, dbus_error_name: &str, dbus_error_message: &str, format: Option<&str>, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
480    //    unsafe { TODO: call ffi:g_dbus_error_set_dbus_error_valist() }
481    //}
482
483    #[doc(alias = "g_dbus_error_strip_remote_error")]
484    pub fn strip_remote_error(error: &mut glib::Error) -> bool {
485        unsafe {
486            from_glib(ffi::g_dbus_error_strip_remote_error(
487                error.to_glib_none_mut().0,
488            ))
489        }
490    }
491
492    #[doc(alias = "g_dbus_error_unregister_error")]
493    pub fn unregister_error(
494        error_domain: glib::Quark,
495        error_code: i32,
496        dbus_error_name: &str,
497    ) -> bool {
498        unsafe {
499            from_glib(ffi::g_dbus_error_unregister_error(
500                error_domain.into_glib(),
501                error_code,
502                dbus_error_name.to_glib_none().0,
503            ))
504        }
505    }
506}
507
508#[doc(hidden)]
509impl IntoGlib for DBusError {
510    type GlibType = ffi::GDBusError;
511
512    fn into_glib(self) -> ffi::GDBusError {
513        match self {
514            Self::Failed => ffi::G_DBUS_ERROR_FAILED,
515            Self::NoMemory => ffi::G_DBUS_ERROR_NO_MEMORY,
516            Self::ServiceUnknown => ffi::G_DBUS_ERROR_SERVICE_UNKNOWN,
517            Self::NameHasNoOwner => ffi::G_DBUS_ERROR_NAME_HAS_NO_OWNER,
518            Self::NoReply => ffi::G_DBUS_ERROR_NO_REPLY,
519            Self::IoError => ffi::G_DBUS_ERROR_IO_ERROR,
520            Self::BadAddress => ffi::G_DBUS_ERROR_BAD_ADDRESS,
521            Self::NotSupported => ffi::G_DBUS_ERROR_NOT_SUPPORTED,
522            Self::LimitsExceeded => ffi::G_DBUS_ERROR_LIMITS_EXCEEDED,
523            Self::AccessDenied => ffi::G_DBUS_ERROR_ACCESS_DENIED,
524            Self::AuthFailed => ffi::G_DBUS_ERROR_AUTH_FAILED,
525            Self::NoServer => ffi::G_DBUS_ERROR_NO_SERVER,
526            Self::Timeout => ffi::G_DBUS_ERROR_TIMEOUT,
527            Self::NoNetwork => ffi::G_DBUS_ERROR_NO_NETWORK,
528            Self::AddressInUse => ffi::G_DBUS_ERROR_ADDRESS_IN_USE,
529            Self::Disconnected => ffi::G_DBUS_ERROR_DISCONNECTED,
530            Self::InvalidArgs => ffi::G_DBUS_ERROR_INVALID_ARGS,
531            Self::FileNotFound => ffi::G_DBUS_ERROR_FILE_NOT_FOUND,
532            Self::FileExists => ffi::G_DBUS_ERROR_FILE_EXISTS,
533            Self::UnknownMethod => ffi::G_DBUS_ERROR_UNKNOWN_METHOD,
534            Self::TimedOut => ffi::G_DBUS_ERROR_TIMED_OUT,
535            Self::MatchRuleNotFound => ffi::G_DBUS_ERROR_MATCH_RULE_NOT_FOUND,
536            Self::MatchRuleInvalid => ffi::G_DBUS_ERROR_MATCH_RULE_INVALID,
537            Self::SpawnExecFailed => ffi::G_DBUS_ERROR_SPAWN_EXEC_FAILED,
538            Self::SpawnForkFailed => ffi::G_DBUS_ERROR_SPAWN_FORK_FAILED,
539            Self::SpawnChildExited => ffi::G_DBUS_ERROR_SPAWN_CHILD_EXITED,
540            Self::SpawnChildSignaled => ffi::G_DBUS_ERROR_SPAWN_CHILD_SIGNALED,
541            Self::SpawnFailed => ffi::G_DBUS_ERROR_SPAWN_FAILED,
542            Self::SpawnSetupFailed => ffi::G_DBUS_ERROR_SPAWN_SETUP_FAILED,
543            Self::SpawnConfigInvalid => ffi::G_DBUS_ERROR_SPAWN_CONFIG_INVALID,
544            Self::SpawnServiceInvalid => ffi::G_DBUS_ERROR_SPAWN_SERVICE_INVALID,
545            Self::SpawnServiceNotFound => ffi::G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND,
546            Self::SpawnPermissionsInvalid => ffi::G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID,
547            Self::SpawnFileInvalid => ffi::G_DBUS_ERROR_SPAWN_FILE_INVALID,
548            Self::SpawnNoMemory => ffi::G_DBUS_ERROR_SPAWN_NO_MEMORY,
549            Self::UnixProcessIdUnknown => ffi::G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN,
550            Self::InvalidSignature => ffi::G_DBUS_ERROR_INVALID_SIGNATURE,
551            Self::InvalidFileContent => ffi::G_DBUS_ERROR_INVALID_FILE_CONTENT,
552            Self::SelinuxSecurityContextUnknown => {
553                ffi::G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN
554            }
555            Self::AdtAuditDataUnknown => ffi::G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN,
556            Self::ObjectPathInUse => ffi::G_DBUS_ERROR_OBJECT_PATH_IN_USE,
557            Self::UnknownObject => ffi::G_DBUS_ERROR_UNKNOWN_OBJECT,
558            Self::UnknownInterface => ffi::G_DBUS_ERROR_UNKNOWN_INTERFACE,
559            Self::UnknownProperty => ffi::G_DBUS_ERROR_UNKNOWN_PROPERTY,
560            Self::PropertyReadOnly => ffi::G_DBUS_ERROR_PROPERTY_READ_ONLY,
561            Self::__Unknown(value) => value,
562        }
563    }
564}
565
566#[doc(hidden)]
567impl FromGlib<ffi::GDBusError> for DBusError {
568    unsafe fn from_glib(value: ffi::GDBusError) -> Self {
569        match value {
570            ffi::G_DBUS_ERROR_FAILED => Self::Failed,
571            ffi::G_DBUS_ERROR_NO_MEMORY => Self::NoMemory,
572            ffi::G_DBUS_ERROR_SERVICE_UNKNOWN => Self::ServiceUnknown,
573            ffi::G_DBUS_ERROR_NAME_HAS_NO_OWNER => Self::NameHasNoOwner,
574            ffi::G_DBUS_ERROR_NO_REPLY => Self::NoReply,
575            ffi::G_DBUS_ERROR_IO_ERROR => Self::IoError,
576            ffi::G_DBUS_ERROR_BAD_ADDRESS => Self::BadAddress,
577            ffi::G_DBUS_ERROR_NOT_SUPPORTED => Self::NotSupported,
578            ffi::G_DBUS_ERROR_LIMITS_EXCEEDED => Self::LimitsExceeded,
579            ffi::G_DBUS_ERROR_ACCESS_DENIED => Self::AccessDenied,
580            ffi::G_DBUS_ERROR_AUTH_FAILED => Self::AuthFailed,
581            ffi::G_DBUS_ERROR_NO_SERVER => Self::NoServer,
582            ffi::G_DBUS_ERROR_TIMEOUT => Self::Timeout,
583            ffi::G_DBUS_ERROR_NO_NETWORK => Self::NoNetwork,
584            ffi::G_DBUS_ERROR_ADDRESS_IN_USE => Self::AddressInUse,
585            ffi::G_DBUS_ERROR_DISCONNECTED => Self::Disconnected,
586            ffi::G_DBUS_ERROR_INVALID_ARGS => Self::InvalidArgs,
587            ffi::G_DBUS_ERROR_FILE_NOT_FOUND => Self::FileNotFound,
588            ffi::G_DBUS_ERROR_FILE_EXISTS => Self::FileExists,
589            ffi::G_DBUS_ERROR_UNKNOWN_METHOD => Self::UnknownMethod,
590            ffi::G_DBUS_ERROR_TIMED_OUT => Self::TimedOut,
591            ffi::G_DBUS_ERROR_MATCH_RULE_NOT_FOUND => Self::MatchRuleNotFound,
592            ffi::G_DBUS_ERROR_MATCH_RULE_INVALID => Self::MatchRuleInvalid,
593            ffi::G_DBUS_ERROR_SPAWN_EXEC_FAILED => Self::SpawnExecFailed,
594            ffi::G_DBUS_ERROR_SPAWN_FORK_FAILED => Self::SpawnForkFailed,
595            ffi::G_DBUS_ERROR_SPAWN_CHILD_EXITED => Self::SpawnChildExited,
596            ffi::G_DBUS_ERROR_SPAWN_CHILD_SIGNALED => Self::SpawnChildSignaled,
597            ffi::G_DBUS_ERROR_SPAWN_FAILED => Self::SpawnFailed,
598            ffi::G_DBUS_ERROR_SPAWN_SETUP_FAILED => Self::SpawnSetupFailed,
599            ffi::G_DBUS_ERROR_SPAWN_CONFIG_INVALID => Self::SpawnConfigInvalid,
600            ffi::G_DBUS_ERROR_SPAWN_SERVICE_INVALID => Self::SpawnServiceInvalid,
601            ffi::G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND => Self::SpawnServiceNotFound,
602            ffi::G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID => Self::SpawnPermissionsInvalid,
603            ffi::G_DBUS_ERROR_SPAWN_FILE_INVALID => Self::SpawnFileInvalid,
604            ffi::G_DBUS_ERROR_SPAWN_NO_MEMORY => Self::SpawnNoMemory,
605            ffi::G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN => Self::UnixProcessIdUnknown,
606            ffi::G_DBUS_ERROR_INVALID_SIGNATURE => Self::InvalidSignature,
607            ffi::G_DBUS_ERROR_INVALID_FILE_CONTENT => Self::InvalidFileContent,
608            ffi::G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN => {
609                Self::SelinuxSecurityContextUnknown
610            }
611            ffi::G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN => Self::AdtAuditDataUnknown,
612            ffi::G_DBUS_ERROR_OBJECT_PATH_IN_USE => Self::ObjectPathInUse,
613            ffi::G_DBUS_ERROR_UNKNOWN_OBJECT => Self::UnknownObject,
614            ffi::G_DBUS_ERROR_UNKNOWN_INTERFACE => Self::UnknownInterface,
615            ffi::G_DBUS_ERROR_UNKNOWN_PROPERTY => Self::UnknownProperty,
616            ffi::G_DBUS_ERROR_PROPERTY_READ_ONLY => Self::PropertyReadOnly,
617            value => Self::__Unknown(value),
618        }
619    }
620}
621
622impl glib::error::ErrorDomain for DBusError {
623    #[inline]
624    fn domain() -> glib::Quark {
625        unsafe { from_glib(ffi::g_dbus_error_quark()) }
626    }
627
628    #[inline]
629    fn code(self) -> i32 {
630        self.into_glib()
631    }
632
633    #[inline]
634    #[allow(clippy::match_single_binding)]
635    fn from(code: i32) -> Option<Self> {
636        match unsafe { from_glib(code) } {
637            Self::__Unknown(_) => Some(Self::Failed),
638            value => Some(value),
639        }
640    }
641}
642
643impl StaticType for DBusError {
644    #[inline]
645    #[doc(alias = "g_dbus_error_get_type")]
646    fn static_type() -> glib::Type {
647        unsafe { from_glib(ffi::g_dbus_error_get_type()) }
648    }
649}
650
651impl glib::HasParamSpec for DBusError {
652    type ParamSpec = glib::ParamSpecEnum;
653    type SetValue = Self;
654    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
655
656    fn param_spec_builder() -> Self::BuilderFn {
657        Self::ParamSpec::builder_with_default
658    }
659}
660
661impl glib::value::ValueType for DBusError {
662    type Type = Self;
663}
664
665unsafe impl<'a> glib::value::FromValue<'a> for DBusError {
666    type Checker = glib::value::GenericValueTypeChecker<Self>;
667
668    #[inline]
669    unsafe fn from_value(value: &'a glib::Value) -> Self {
670        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
671    }
672}
673
674impl ToValue for DBusError {
675    #[inline]
676    fn to_value(&self) -> glib::Value {
677        let mut value = glib::Value::for_value_type::<Self>();
678        unsafe {
679            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
680        }
681        value
682    }
683
684    #[inline]
685    fn value_type(&self) -> glib::Type {
686        Self::static_type()
687    }
688}
689
690impl From<DBusError> for glib::Value {
691    #[inline]
692    fn from(v: DBusError) -> Self {
693        ToValue::to_value(&v)
694    }
695}
696
697#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
698#[non_exhaustive]
699#[doc(alias = "GDBusMessageByteOrder")]
700pub enum DBusMessageByteOrder {
701    #[doc(alias = "G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN")]
702    BigEndian,
703    #[doc(alias = "G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN")]
704    LittleEndian,
705    #[doc(hidden)]
706    __Unknown(i32),
707}
708
709#[doc(hidden)]
710impl IntoGlib for DBusMessageByteOrder {
711    type GlibType = ffi::GDBusMessageByteOrder;
712
713    #[inline]
714    fn into_glib(self) -> ffi::GDBusMessageByteOrder {
715        match self {
716            Self::BigEndian => ffi::G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN,
717            Self::LittleEndian => ffi::G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN,
718            Self::__Unknown(value) => value,
719        }
720    }
721}
722
723#[doc(hidden)]
724impl FromGlib<ffi::GDBusMessageByteOrder> for DBusMessageByteOrder {
725    #[inline]
726    unsafe fn from_glib(value: ffi::GDBusMessageByteOrder) -> Self {
727        match value {
728            ffi::G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN => Self::BigEndian,
729            ffi::G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN => Self::LittleEndian,
730            value => Self::__Unknown(value),
731        }
732    }
733}
734
735impl StaticType for DBusMessageByteOrder {
736    #[inline]
737    #[doc(alias = "g_dbus_message_byte_order_get_type")]
738    fn static_type() -> glib::Type {
739        unsafe { from_glib(ffi::g_dbus_message_byte_order_get_type()) }
740    }
741}
742
743impl glib::HasParamSpec for DBusMessageByteOrder {
744    type ParamSpec = glib::ParamSpecEnum;
745    type SetValue = Self;
746    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
747
748    fn param_spec_builder() -> Self::BuilderFn {
749        Self::ParamSpec::builder_with_default
750    }
751}
752
753impl glib::value::ValueType for DBusMessageByteOrder {
754    type Type = Self;
755}
756
757unsafe impl<'a> glib::value::FromValue<'a> for DBusMessageByteOrder {
758    type Checker = glib::value::GenericValueTypeChecker<Self>;
759
760    #[inline]
761    unsafe fn from_value(value: &'a glib::Value) -> Self {
762        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
763    }
764}
765
766impl ToValue for DBusMessageByteOrder {
767    #[inline]
768    fn to_value(&self) -> glib::Value {
769        let mut value = glib::Value::for_value_type::<Self>();
770        unsafe {
771            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
772        }
773        value
774    }
775
776    #[inline]
777    fn value_type(&self) -> glib::Type {
778        Self::static_type()
779    }
780}
781
782impl From<DBusMessageByteOrder> for glib::Value {
783    #[inline]
784    fn from(v: DBusMessageByteOrder) -> Self {
785        ToValue::to_value(&v)
786    }
787}
788
789#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
790#[non_exhaustive]
791#[doc(alias = "GDBusMessageHeaderField")]
792pub enum DBusMessageHeaderField {
793    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_INVALID")]
794    Invalid,
795    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_PATH")]
796    Path,
797    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE")]
798    Interface,
799    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_MEMBER")]
800    Member,
801    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME")]
802    ErrorName,
803    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL")]
804    ReplySerial,
805    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION")]
806    Destination,
807    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_SENDER")]
808    Sender,
809    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE")]
810    Signature,
811    #[doc(alias = "G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS")]
812    NumUnixFds,
813    #[doc(hidden)]
814    __Unknown(i32),
815}
816
817#[doc(hidden)]
818impl IntoGlib for DBusMessageHeaderField {
819    type GlibType = ffi::GDBusMessageHeaderField;
820
821    #[inline]
822    fn into_glib(self) -> ffi::GDBusMessageHeaderField {
823        match self {
824            Self::Invalid => ffi::G_DBUS_MESSAGE_HEADER_FIELD_INVALID,
825            Self::Path => ffi::G_DBUS_MESSAGE_HEADER_FIELD_PATH,
826            Self::Interface => ffi::G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE,
827            Self::Member => ffi::G_DBUS_MESSAGE_HEADER_FIELD_MEMBER,
828            Self::ErrorName => ffi::G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME,
829            Self::ReplySerial => ffi::G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL,
830            Self::Destination => ffi::G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION,
831            Self::Sender => ffi::G_DBUS_MESSAGE_HEADER_FIELD_SENDER,
832            Self::Signature => ffi::G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE,
833            Self::NumUnixFds => ffi::G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS,
834            Self::__Unknown(value) => value,
835        }
836    }
837}
838
839#[doc(hidden)]
840impl FromGlib<ffi::GDBusMessageHeaderField> for DBusMessageHeaderField {
841    #[inline]
842    unsafe fn from_glib(value: ffi::GDBusMessageHeaderField) -> Self {
843        match value {
844            ffi::G_DBUS_MESSAGE_HEADER_FIELD_INVALID => Self::Invalid,
845            ffi::G_DBUS_MESSAGE_HEADER_FIELD_PATH => Self::Path,
846            ffi::G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE => Self::Interface,
847            ffi::G_DBUS_MESSAGE_HEADER_FIELD_MEMBER => Self::Member,
848            ffi::G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME => Self::ErrorName,
849            ffi::G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL => Self::ReplySerial,
850            ffi::G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION => Self::Destination,
851            ffi::G_DBUS_MESSAGE_HEADER_FIELD_SENDER => Self::Sender,
852            ffi::G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE => Self::Signature,
853            ffi::G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS => Self::NumUnixFds,
854            value => Self::__Unknown(value),
855        }
856    }
857}
858
859impl StaticType for DBusMessageHeaderField {
860    #[inline]
861    #[doc(alias = "g_dbus_message_header_field_get_type")]
862    fn static_type() -> glib::Type {
863        unsafe { from_glib(ffi::g_dbus_message_header_field_get_type()) }
864    }
865}
866
867impl glib::HasParamSpec for DBusMessageHeaderField {
868    type ParamSpec = glib::ParamSpecEnum;
869    type SetValue = Self;
870    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
871
872    fn param_spec_builder() -> Self::BuilderFn {
873        Self::ParamSpec::builder_with_default
874    }
875}
876
877impl glib::value::ValueType for DBusMessageHeaderField {
878    type Type = Self;
879}
880
881unsafe impl<'a> glib::value::FromValue<'a> for DBusMessageHeaderField {
882    type Checker = glib::value::GenericValueTypeChecker<Self>;
883
884    #[inline]
885    unsafe fn from_value(value: &'a glib::Value) -> Self {
886        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
887    }
888}
889
890impl ToValue for DBusMessageHeaderField {
891    #[inline]
892    fn to_value(&self) -> glib::Value {
893        let mut value = glib::Value::for_value_type::<Self>();
894        unsafe {
895            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
896        }
897        value
898    }
899
900    #[inline]
901    fn value_type(&self) -> glib::Type {
902        Self::static_type()
903    }
904}
905
906impl From<DBusMessageHeaderField> for glib::Value {
907    #[inline]
908    fn from(v: DBusMessageHeaderField) -> Self {
909        ToValue::to_value(&v)
910    }
911}
912
913#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
914#[non_exhaustive]
915#[doc(alias = "GDBusMessageType")]
916pub enum DBusMessageType {
917    #[doc(alias = "G_DBUS_MESSAGE_TYPE_INVALID")]
918    Invalid,
919    #[doc(alias = "G_DBUS_MESSAGE_TYPE_METHOD_CALL")]
920    MethodCall,
921    #[doc(alias = "G_DBUS_MESSAGE_TYPE_METHOD_RETURN")]
922    MethodReturn,
923    #[doc(alias = "G_DBUS_MESSAGE_TYPE_ERROR")]
924    Error,
925    #[doc(alias = "G_DBUS_MESSAGE_TYPE_SIGNAL")]
926    Signal,
927    #[doc(hidden)]
928    __Unknown(i32),
929}
930
931#[doc(hidden)]
932impl IntoGlib for DBusMessageType {
933    type GlibType = ffi::GDBusMessageType;
934
935    #[inline]
936    fn into_glib(self) -> ffi::GDBusMessageType {
937        match self {
938            Self::Invalid => ffi::G_DBUS_MESSAGE_TYPE_INVALID,
939            Self::MethodCall => ffi::G_DBUS_MESSAGE_TYPE_METHOD_CALL,
940            Self::MethodReturn => ffi::G_DBUS_MESSAGE_TYPE_METHOD_RETURN,
941            Self::Error => ffi::G_DBUS_MESSAGE_TYPE_ERROR,
942            Self::Signal => ffi::G_DBUS_MESSAGE_TYPE_SIGNAL,
943            Self::__Unknown(value) => value,
944        }
945    }
946}
947
948#[doc(hidden)]
949impl FromGlib<ffi::GDBusMessageType> for DBusMessageType {
950    #[inline]
951    unsafe fn from_glib(value: ffi::GDBusMessageType) -> Self {
952        match value {
953            ffi::G_DBUS_MESSAGE_TYPE_INVALID => Self::Invalid,
954            ffi::G_DBUS_MESSAGE_TYPE_METHOD_CALL => Self::MethodCall,
955            ffi::G_DBUS_MESSAGE_TYPE_METHOD_RETURN => Self::MethodReturn,
956            ffi::G_DBUS_MESSAGE_TYPE_ERROR => Self::Error,
957            ffi::G_DBUS_MESSAGE_TYPE_SIGNAL => Self::Signal,
958            value => Self::__Unknown(value),
959        }
960    }
961}
962
963impl StaticType for DBusMessageType {
964    #[inline]
965    #[doc(alias = "g_dbus_message_type_get_type")]
966    fn static_type() -> glib::Type {
967        unsafe { from_glib(ffi::g_dbus_message_type_get_type()) }
968    }
969}
970
971impl glib::HasParamSpec for DBusMessageType {
972    type ParamSpec = glib::ParamSpecEnum;
973    type SetValue = Self;
974    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
975
976    fn param_spec_builder() -> Self::BuilderFn {
977        Self::ParamSpec::builder_with_default
978    }
979}
980
981impl glib::value::ValueType for DBusMessageType {
982    type Type = Self;
983}
984
985unsafe impl<'a> glib::value::FromValue<'a> for DBusMessageType {
986    type Checker = glib::value::GenericValueTypeChecker<Self>;
987
988    #[inline]
989    unsafe fn from_value(value: &'a glib::Value) -> Self {
990        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
991    }
992}
993
994impl ToValue for DBusMessageType {
995    #[inline]
996    fn to_value(&self) -> glib::Value {
997        let mut value = glib::Value::for_value_type::<Self>();
998        unsafe {
999            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1000        }
1001        value
1002    }
1003
1004    #[inline]
1005    fn value_type(&self) -> glib::Type {
1006        Self::static_type()
1007    }
1008}
1009
1010impl From<DBusMessageType> for glib::Value {
1011    #[inline]
1012    fn from(v: DBusMessageType) -> Self {
1013        ToValue::to_value(&v)
1014    }
1015}
1016
1017#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1018#[non_exhaustive]
1019#[doc(alias = "GDataStreamByteOrder")]
1020pub enum DataStreamByteOrder {
1021    #[doc(alias = "G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN")]
1022    BigEndian,
1023    #[doc(alias = "G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN")]
1024    LittleEndian,
1025    #[doc(alias = "G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN")]
1026    HostEndian,
1027    #[doc(hidden)]
1028    __Unknown(i32),
1029}
1030
1031#[doc(hidden)]
1032impl IntoGlib for DataStreamByteOrder {
1033    type GlibType = ffi::GDataStreamByteOrder;
1034
1035    #[inline]
1036    fn into_glib(self) -> ffi::GDataStreamByteOrder {
1037        match self {
1038            Self::BigEndian => ffi::G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
1039            Self::LittleEndian => ffi::G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN,
1040            Self::HostEndian => ffi::G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN,
1041            Self::__Unknown(value) => value,
1042        }
1043    }
1044}
1045
1046#[doc(hidden)]
1047impl FromGlib<ffi::GDataStreamByteOrder> for DataStreamByteOrder {
1048    #[inline]
1049    unsafe fn from_glib(value: ffi::GDataStreamByteOrder) -> Self {
1050        match value {
1051            ffi::G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN => Self::BigEndian,
1052            ffi::G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN => Self::LittleEndian,
1053            ffi::G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN => Self::HostEndian,
1054            value => Self::__Unknown(value),
1055        }
1056    }
1057}
1058
1059impl StaticType for DataStreamByteOrder {
1060    #[inline]
1061    #[doc(alias = "g_data_stream_byte_order_get_type")]
1062    fn static_type() -> glib::Type {
1063        unsafe { from_glib(ffi::g_data_stream_byte_order_get_type()) }
1064    }
1065}
1066
1067impl glib::HasParamSpec for DataStreamByteOrder {
1068    type ParamSpec = glib::ParamSpecEnum;
1069    type SetValue = Self;
1070    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1071
1072    fn param_spec_builder() -> Self::BuilderFn {
1073        Self::ParamSpec::builder_with_default
1074    }
1075}
1076
1077impl glib::value::ValueType for DataStreamByteOrder {
1078    type Type = Self;
1079}
1080
1081unsafe impl<'a> glib::value::FromValue<'a> for DataStreamByteOrder {
1082    type Checker = glib::value::GenericValueTypeChecker<Self>;
1083
1084    #[inline]
1085    unsafe fn from_value(value: &'a glib::Value) -> Self {
1086        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1087    }
1088}
1089
1090impl ToValue for DataStreamByteOrder {
1091    #[inline]
1092    fn to_value(&self) -> glib::Value {
1093        let mut value = glib::Value::for_value_type::<Self>();
1094        unsafe {
1095            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1096        }
1097        value
1098    }
1099
1100    #[inline]
1101    fn value_type(&self) -> glib::Type {
1102        Self::static_type()
1103    }
1104}
1105
1106impl From<DataStreamByteOrder> for glib::Value {
1107    #[inline]
1108    fn from(v: DataStreamByteOrder) -> Self {
1109        ToValue::to_value(&v)
1110    }
1111}
1112
1113#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1114#[non_exhaustive]
1115#[doc(alias = "GDataStreamNewlineType")]
1116pub enum DataStreamNewlineType {
1117    #[doc(alias = "G_DATA_STREAM_NEWLINE_TYPE_LF")]
1118    Lf,
1119    #[doc(alias = "G_DATA_STREAM_NEWLINE_TYPE_CR")]
1120    Cr,
1121    #[doc(alias = "G_DATA_STREAM_NEWLINE_TYPE_CR_LF")]
1122    CrLf,
1123    #[doc(alias = "G_DATA_STREAM_NEWLINE_TYPE_ANY")]
1124    Any,
1125    #[doc(hidden)]
1126    __Unknown(i32),
1127}
1128
1129#[doc(hidden)]
1130impl IntoGlib for DataStreamNewlineType {
1131    type GlibType = ffi::GDataStreamNewlineType;
1132
1133    #[inline]
1134    fn into_glib(self) -> ffi::GDataStreamNewlineType {
1135        match self {
1136            Self::Lf => ffi::G_DATA_STREAM_NEWLINE_TYPE_LF,
1137            Self::Cr => ffi::G_DATA_STREAM_NEWLINE_TYPE_CR,
1138            Self::CrLf => ffi::G_DATA_STREAM_NEWLINE_TYPE_CR_LF,
1139            Self::Any => ffi::G_DATA_STREAM_NEWLINE_TYPE_ANY,
1140            Self::__Unknown(value) => value,
1141        }
1142    }
1143}
1144
1145#[doc(hidden)]
1146impl FromGlib<ffi::GDataStreamNewlineType> for DataStreamNewlineType {
1147    #[inline]
1148    unsafe fn from_glib(value: ffi::GDataStreamNewlineType) -> Self {
1149        match value {
1150            ffi::G_DATA_STREAM_NEWLINE_TYPE_LF => Self::Lf,
1151            ffi::G_DATA_STREAM_NEWLINE_TYPE_CR => Self::Cr,
1152            ffi::G_DATA_STREAM_NEWLINE_TYPE_CR_LF => Self::CrLf,
1153            ffi::G_DATA_STREAM_NEWLINE_TYPE_ANY => Self::Any,
1154            value => Self::__Unknown(value),
1155        }
1156    }
1157}
1158
1159impl StaticType for DataStreamNewlineType {
1160    #[inline]
1161    #[doc(alias = "g_data_stream_newline_type_get_type")]
1162    fn static_type() -> glib::Type {
1163        unsafe { from_glib(ffi::g_data_stream_newline_type_get_type()) }
1164    }
1165}
1166
1167impl glib::HasParamSpec for DataStreamNewlineType {
1168    type ParamSpec = glib::ParamSpecEnum;
1169    type SetValue = Self;
1170    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1171
1172    fn param_spec_builder() -> Self::BuilderFn {
1173        Self::ParamSpec::builder_with_default
1174    }
1175}
1176
1177impl glib::value::ValueType for DataStreamNewlineType {
1178    type Type = Self;
1179}
1180
1181unsafe impl<'a> glib::value::FromValue<'a> for DataStreamNewlineType {
1182    type Checker = glib::value::GenericValueTypeChecker<Self>;
1183
1184    #[inline]
1185    unsafe fn from_value(value: &'a glib::Value) -> Self {
1186        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1187    }
1188}
1189
1190impl ToValue for DataStreamNewlineType {
1191    #[inline]
1192    fn to_value(&self) -> glib::Value {
1193        let mut value = glib::Value::for_value_type::<Self>();
1194        unsafe {
1195            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1196        }
1197        value
1198    }
1199
1200    #[inline]
1201    fn value_type(&self) -> glib::Type {
1202        Self::static_type()
1203    }
1204}
1205
1206impl From<DataStreamNewlineType> for glib::Value {
1207    #[inline]
1208    fn from(v: DataStreamNewlineType) -> Self {
1209        ToValue::to_value(&v)
1210    }
1211}
1212
1213#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1214#[non_exhaustive]
1215#[doc(alias = "GDriveStartStopType")]
1216pub enum DriveStartStopType {
1217    #[doc(alias = "G_DRIVE_START_STOP_TYPE_UNKNOWN")]
1218    Unknown,
1219    #[doc(alias = "G_DRIVE_START_STOP_TYPE_SHUTDOWN")]
1220    Shutdown,
1221    #[doc(alias = "G_DRIVE_START_STOP_TYPE_NETWORK")]
1222    Network,
1223    #[doc(alias = "G_DRIVE_START_STOP_TYPE_MULTIDISK")]
1224    Multidisk,
1225    #[doc(alias = "G_DRIVE_START_STOP_TYPE_PASSWORD")]
1226    Password,
1227    #[doc(hidden)]
1228    __Unknown(i32),
1229}
1230
1231#[doc(hidden)]
1232impl IntoGlib for DriveStartStopType {
1233    type GlibType = ffi::GDriveStartStopType;
1234
1235    #[inline]
1236    fn into_glib(self) -> ffi::GDriveStartStopType {
1237        match self {
1238            Self::Unknown => ffi::G_DRIVE_START_STOP_TYPE_UNKNOWN,
1239            Self::Shutdown => ffi::G_DRIVE_START_STOP_TYPE_SHUTDOWN,
1240            Self::Network => ffi::G_DRIVE_START_STOP_TYPE_NETWORK,
1241            Self::Multidisk => ffi::G_DRIVE_START_STOP_TYPE_MULTIDISK,
1242            Self::Password => ffi::G_DRIVE_START_STOP_TYPE_PASSWORD,
1243            Self::__Unknown(value) => value,
1244        }
1245    }
1246}
1247
1248#[doc(hidden)]
1249impl FromGlib<ffi::GDriveStartStopType> for DriveStartStopType {
1250    #[inline]
1251    unsafe fn from_glib(value: ffi::GDriveStartStopType) -> Self {
1252        match value {
1253            ffi::G_DRIVE_START_STOP_TYPE_UNKNOWN => Self::Unknown,
1254            ffi::G_DRIVE_START_STOP_TYPE_SHUTDOWN => Self::Shutdown,
1255            ffi::G_DRIVE_START_STOP_TYPE_NETWORK => Self::Network,
1256            ffi::G_DRIVE_START_STOP_TYPE_MULTIDISK => Self::Multidisk,
1257            ffi::G_DRIVE_START_STOP_TYPE_PASSWORD => Self::Password,
1258            value => Self::__Unknown(value),
1259        }
1260    }
1261}
1262
1263impl StaticType for DriveStartStopType {
1264    #[inline]
1265    #[doc(alias = "g_drive_start_stop_type_get_type")]
1266    fn static_type() -> glib::Type {
1267        unsafe { from_glib(ffi::g_drive_start_stop_type_get_type()) }
1268    }
1269}
1270
1271impl glib::HasParamSpec for DriveStartStopType {
1272    type ParamSpec = glib::ParamSpecEnum;
1273    type SetValue = Self;
1274    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1275
1276    fn param_spec_builder() -> Self::BuilderFn {
1277        Self::ParamSpec::builder_with_default
1278    }
1279}
1280
1281impl glib::value::ValueType for DriveStartStopType {
1282    type Type = Self;
1283}
1284
1285unsafe impl<'a> glib::value::FromValue<'a> for DriveStartStopType {
1286    type Checker = glib::value::GenericValueTypeChecker<Self>;
1287
1288    #[inline]
1289    unsafe fn from_value(value: &'a glib::Value) -> Self {
1290        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1291    }
1292}
1293
1294impl ToValue for DriveStartStopType {
1295    #[inline]
1296    fn to_value(&self) -> glib::Value {
1297        let mut value = glib::Value::for_value_type::<Self>();
1298        unsafe {
1299            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1300        }
1301        value
1302    }
1303
1304    #[inline]
1305    fn value_type(&self) -> glib::Type {
1306        Self::static_type()
1307    }
1308}
1309
1310impl From<DriveStartStopType> for glib::Value {
1311    #[inline]
1312    fn from(v: DriveStartStopType) -> Self {
1313        ToValue::to_value(&v)
1314    }
1315}
1316
1317#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1318#[non_exhaustive]
1319#[doc(alias = "GEmblemOrigin")]
1320pub enum EmblemOrigin {
1321    #[doc(alias = "G_EMBLEM_ORIGIN_UNKNOWN")]
1322    Unknown,
1323    #[doc(alias = "G_EMBLEM_ORIGIN_DEVICE")]
1324    Device,
1325    #[doc(alias = "G_EMBLEM_ORIGIN_LIVEMETADATA")]
1326    Livemetadata,
1327    #[doc(alias = "G_EMBLEM_ORIGIN_TAG")]
1328    Tag,
1329    #[doc(hidden)]
1330    __Unknown(i32),
1331}
1332
1333#[doc(hidden)]
1334impl IntoGlib for EmblemOrigin {
1335    type GlibType = ffi::GEmblemOrigin;
1336
1337    #[inline]
1338    fn into_glib(self) -> ffi::GEmblemOrigin {
1339        match self {
1340            Self::Unknown => ffi::G_EMBLEM_ORIGIN_UNKNOWN,
1341            Self::Device => ffi::G_EMBLEM_ORIGIN_DEVICE,
1342            Self::Livemetadata => ffi::G_EMBLEM_ORIGIN_LIVEMETADATA,
1343            Self::Tag => ffi::G_EMBLEM_ORIGIN_TAG,
1344            Self::__Unknown(value) => value,
1345        }
1346    }
1347}
1348
1349#[doc(hidden)]
1350impl FromGlib<ffi::GEmblemOrigin> for EmblemOrigin {
1351    #[inline]
1352    unsafe fn from_glib(value: ffi::GEmblemOrigin) -> Self {
1353        match value {
1354            ffi::G_EMBLEM_ORIGIN_UNKNOWN => Self::Unknown,
1355            ffi::G_EMBLEM_ORIGIN_DEVICE => Self::Device,
1356            ffi::G_EMBLEM_ORIGIN_LIVEMETADATA => Self::Livemetadata,
1357            ffi::G_EMBLEM_ORIGIN_TAG => Self::Tag,
1358            value => Self::__Unknown(value),
1359        }
1360    }
1361}
1362
1363impl StaticType for EmblemOrigin {
1364    #[inline]
1365    #[doc(alias = "g_emblem_origin_get_type")]
1366    fn static_type() -> glib::Type {
1367        unsafe { from_glib(ffi::g_emblem_origin_get_type()) }
1368    }
1369}
1370
1371impl glib::HasParamSpec for EmblemOrigin {
1372    type ParamSpec = glib::ParamSpecEnum;
1373    type SetValue = Self;
1374    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1375
1376    fn param_spec_builder() -> Self::BuilderFn {
1377        Self::ParamSpec::builder_with_default
1378    }
1379}
1380
1381impl glib::value::ValueType for EmblemOrigin {
1382    type Type = Self;
1383}
1384
1385unsafe impl<'a> glib::value::FromValue<'a> for EmblemOrigin {
1386    type Checker = glib::value::GenericValueTypeChecker<Self>;
1387
1388    #[inline]
1389    unsafe fn from_value(value: &'a glib::Value) -> Self {
1390        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1391    }
1392}
1393
1394impl ToValue for EmblemOrigin {
1395    #[inline]
1396    fn to_value(&self) -> glib::Value {
1397        let mut value = glib::Value::for_value_type::<Self>();
1398        unsafe {
1399            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1400        }
1401        value
1402    }
1403
1404    #[inline]
1405    fn value_type(&self) -> glib::Type {
1406        Self::static_type()
1407    }
1408}
1409
1410impl From<EmblemOrigin> for glib::Value {
1411    #[inline]
1412    fn from(v: EmblemOrigin) -> Self {
1413        ToValue::to_value(&v)
1414    }
1415}
1416
1417#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1418#[non_exhaustive]
1419#[doc(alias = "GFileAttributeStatus")]
1420pub enum FileAttributeStatus {
1421    #[doc(alias = "G_FILE_ATTRIBUTE_STATUS_UNSET")]
1422    Unset,
1423    #[doc(alias = "G_FILE_ATTRIBUTE_STATUS_SET")]
1424    Set,
1425    #[doc(alias = "G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING")]
1426    ErrorSetting,
1427    #[doc(hidden)]
1428    __Unknown(i32),
1429}
1430
1431#[doc(hidden)]
1432impl IntoGlib for FileAttributeStatus {
1433    type GlibType = ffi::GFileAttributeStatus;
1434
1435    #[inline]
1436    fn into_glib(self) -> ffi::GFileAttributeStatus {
1437        match self {
1438            Self::Unset => ffi::G_FILE_ATTRIBUTE_STATUS_UNSET,
1439            Self::Set => ffi::G_FILE_ATTRIBUTE_STATUS_SET,
1440            Self::ErrorSetting => ffi::G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING,
1441            Self::__Unknown(value) => value,
1442        }
1443    }
1444}
1445
1446#[doc(hidden)]
1447impl FromGlib<ffi::GFileAttributeStatus> for FileAttributeStatus {
1448    #[inline]
1449    unsafe fn from_glib(value: ffi::GFileAttributeStatus) -> Self {
1450        match value {
1451            ffi::G_FILE_ATTRIBUTE_STATUS_UNSET => Self::Unset,
1452            ffi::G_FILE_ATTRIBUTE_STATUS_SET => Self::Set,
1453            ffi::G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING => Self::ErrorSetting,
1454            value => Self::__Unknown(value),
1455        }
1456    }
1457}
1458
1459impl StaticType for FileAttributeStatus {
1460    #[inline]
1461    #[doc(alias = "g_file_attribute_status_get_type")]
1462    fn static_type() -> glib::Type {
1463        unsafe { from_glib(ffi::g_file_attribute_status_get_type()) }
1464    }
1465}
1466
1467impl glib::HasParamSpec for FileAttributeStatus {
1468    type ParamSpec = glib::ParamSpecEnum;
1469    type SetValue = Self;
1470    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1471
1472    fn param_spec_builder() -> Self::BuilderFn {
1473        Self::ParamSpec::builder_with_default
1474    }
1475}
1476
1477impl glib::value::ValueType for FileAttributeStatus {
1478    type Type = Self;
1479}
1480
1481unsafe impl<'a> glib::value::FromValue<'a> for FileAttributeStatus {
1482    type Checker = glib::value::GenericValueTypeChecker<Self>;
1483
1484    #[inline]
1485    unsafe fn from_value(value: &'a glib::Value) -> Self {
1486        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1487    }
1488}
1489
1490impl ToValue for FileAttributeStatus {
1491    #[inline]
1492    fn to_value(&self) -> glib::Value {
1493        let mut value = glib::Value::for_value_type::<Self>();
1494        unsafe {
1495            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1496        }
1497        value
1498    }
1499
1500    #[inline]
1501    fn value_type(&self) -> glib::Type {
1502        Self::static_type()
1503    }
1504}
1505
1506impl From<FileAttributeStatus> for glib::Value {
1507    #[inline]
1508    fn from(v: FileAttributeStatus) -> Self {
1509        ToValue::to_value(&v)
1510    }
1511}
1512
1513#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1514#[non_exhaustive]
1515#[doc(alias = "GFileAttributeType")]
1516pub enum FileAttributeType {
1517    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_INVALID")]
1518    Invalid,
1519    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_STRING")]
1520    String,
1521    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_BYTE_STRING")]
1522    ByteString,
1523    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_BOOLEAN")]
1524    Boolean,
1525    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_UINT32")]
1526    Uint32,
1527    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_INT32")]
1528    Int32,
1529    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_UINT64")]
1530    Uint64,
1531    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_INT64")]
1532    Int64,
1533    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_OBJECT")]
1534    Object,
1535    #[doc(alias = "G_FILE_ATTRIBUTE_TYPE_STRINGV")]
1536    Stringv,
1537    #[doc(hidden)]
1538    __Unknown(i32),
1539}
1540
1541#[doc(hidden)]
1542impl IntoGlib for FileAttributeType {
1543    type GlibType = ffi::GFileAttributeType;
1544
1545    #[inline]
1546    fn into_glib(self) -> ffi::GFileAttributeType {
1547        match self {
1548            Self::Invalid => ffi::G_FILE_ATTRIBUTE_TYPE_INVALID,
1549            Self::String => ffi::G_FILE_ATTRIBUTE_TYPE_STRING,
1550            Self::ByteString => ffi::G_FILE_ATTRIBUTE_TYPE_BYTE_STRING,
1551            Self::Boolean => ffi::G_FILE_ATTRIBUTE_TYPE_BOOLEAN,
1552            Self::Uint32 => ffi::G_FILE_ATTRIBUTE_TYPE_UINT32,
1553            Self::Int32 => ffi::G_FILE_ATTRIBUTE_TYPE_INT32,
1554            Self::Uint64 => ffi::G_FILE_ATTRIBUTE_TYPE_UINT64,
1555            Self::Int64 => ffi::G_FILE_ATTRIBUTE_TYPE_INT64,
1556            Self::Object => ffi::G_FILE_ATTRIBUTE_TYPE_OBJECT,
1557            Self::Stringv => ffi::G_FILE_ATTRIBUTE_TYPE_STRINGV,
1558            Self::__Unknown(value) => value,
1559        }
1560    }
1561}
1562
1563#[doc(hidden)]
1564impl FromGlib<ffi::GFileAttributeType> for FileAttributeType {
1565    #[inline]
1566    unsafe fn from_glib(value: ffi::GFileAttributeType) -> Self {
1567        match value {
1568            ffi::G_FILE_ATTRIBUTE_TYPE_INVALID => Self::Invalid,
1569            ffi::G_FILE_ATTRIBUTE_TYPE_STRING => Self::String,
1570            ffi::G_FILE_ATTRIBUTE_TYPE_BYTE_STRING => Self::ByteString,
1571            ffi::G_FILE_ATTRIBUTE_TYPE_BOOLEAN => Self::Boolean,
1572            ffi::G_FILE_ATTRIBUTE_TYPE_UINT32 => Self::Uint32,
1573            ffi::G_FILE_ATTRIBUTE_TYPE_INT32 => Self::Int32,
1574            ffi::G_FILE_ATTRIBUTE_TYPE_UINT64 => Self::Uint64,
1575            ffi::G_FILE_ATTRIBUTE_TYPE_INT64 => Self::Int64,
1576            ffi::G_FILE_ATTRIBUTE_TYPE_OBJECT => Self::Object,
1577            ffi::G_FILE_ATTRIBUTE_TYPE_STRINGV => Self::Stringv,
1578            value => Self::__Unknown(value),
1579        }
1580    }
1581}
1582
1583impl StaticType for FileAttributeType {
1584    #[inline]
1585    #[doc(alias = "g_file_attribute_type_get_type")]
1586    fn static_type() -> glib::Type {
1587        unsafe { from_glib(ffi::g_file_attribute_type_get_type()) }
1588    }
1589}
1590
1591impl glib::HasParamSpec for FileAttributeType {
1592    type ParamSpec = glib::ParamSpecEnum;
1593    type SetValue = Self;
1594    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1595
1596    fn param_spec_builder() -> Self::BuilderFn {
1597        Self::ParamSpec::builder_with_default
1598    }
1599}
1600
1601impl glib::value::ValueType for FileAttributeType {
1602    type Type = Self;
1603}
1604
1605unsafe impl<'a> glib::value::FromValue<'a> for FileAttributeType {
1606    type Checker = glib::value::GenericValueTypeChecker<Self>;
1607
1608    #[inline]
1609    unsafe fn from_value(value: &'a glib::Value) -> Self {
1610        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1611    }
1612}
1613
1614impl ToValue for FileAttributeType {
1615    #[inline]
1616    fn to_value(&self) -> glib::Value {
1617        let mut value = glib::Value::for_value_type::<Self>();
1618        unsafe {
1619            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1620        }
1621        value
1622    }
1623
1624    #[inline]
1625    fn value_type(&self) -> glib::Type {
1626        Self::static_type()
1627    }
1628}
1629
1630impl From<FileAttributeType> for glib::Value {
1631    #[inline]
1632    fn from(v: FileAttributeType) -> Self {
1633        ToValue::to_value(&v)
1634    }
1635}
1636
1637#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1638#[non_exhaustive]
1639#[doc(alias = "GFileMonitorEvent")]
1640pub enum FileMonitorEvent {
1641    #[doc(alias = "G_FILE_MONITOR_EVENT_CHANGED")]
1642    Changed,
1643    #[doc(alias = "G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT")]
1644    ChangesDoneHint,
1645    #[doc(alias = "G_FILE_MONITOR_EVENT_DELETED")]
1646    Deleted,
1647    #[doc(alias = "G_FILE_MONITOR_EVENT_CREATED")]
1648    Created,
1649    #[doc(alias = "G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED")]
1650    AttributeChanged,
1651    #[doc(alias = "G_FILE_MONITOR_EVENT_PRE_UNMOUNT")]
1652    PreUnmount,
1653    #[doc(alias = "G_FILE_MONITOR_EVENT_UNMOUNTED")]
1654    Unmounted,
1655    #[doc(alias = "G_FILE_MONITOR_EVENT_MOVED")]
1656    Moved,
1657    #[doc(alias = "G_FILE_MONITOR_EVENT_RENAMED")]
1658    Renamed,
1659    #[doc(alias = "G_FILE_MONITOR_EVENT_MOVED_IN")]
1660    MovedIn,
1661    #[doc(alias = "G_FILE_MONITOR_EVENT_MOVED_OUT")]
1662    MovedOut,
1663    #[doc(hidden)]
1664    __Unknown(i32),
1665}
1666
1667#[doc(hidden)]
1668impl IntoGlib for FileMonitorEvent {
1669    type GlibType = ffi::GFileMonitorEvent;
1670
1671    #[inline]
1672    fn into_glib(self) -> ffi::GFileMonitorEvent {
1673        match self {
1674            Self::Changed => ffi::G_FILE_MONITOR_EVENT_CHANGED,
1675            Self::ChangesDoneHint => ffi::G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT,
1676            Self::Deleted => ffi::G_FILE_MONITOR_EVENT_DELETED,
1677            Self::Created => ffi::G_FILE_MONITOR_EVENT_CREATED,
1678            Self::AttributeChanged => ffi::G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED,
1679            Self::PreUnmount => ffi::G_FILE_MONITOR_EVENT_PRE_UNMOUNT,
1680            Self::Unmounted => ffi::G_FILE_MONITOR_EVENT_UNMOUNTED,
1681            Self::Moved => ffi::G_FILE_MONITOR_EVENT_MOVED,
1682            Self::Renamed => ffi::G_FILE_MONITOR_EVENT_RENAMED,
1683            Self::MovedIn => ffi::G_FILE_MONITOR_EVENT_MOVED_IN,
1684            Self::MovedOut => ffi::G_FILE_MONITOR_EVENT_MOVED_OUT,
1685            Self::__Unknown(value) => value,
1686        }
1687    }
1688}
1689
1690#[doc(hidden)]
1691impl FromGlib<ffi::GFileMonitorEvent> for FileMonitorEvent {
1692    #[inline]
1693    unsafe fn from_glib(value: ffi::GFileMonitorEvent) -> Self {
1694        match value {
1695            ffi::G_FILE_MONITOR_EVENT_CHANGED => Self::Changed,
1696            ffi::G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT => Self::ChangesDoneHint,
1697            ffi::G_FILE_MONITOR_EVENT_DELETED => Self::Deleted,
1698            ffi::G_FILE_MONITOR_EVENT_CREATED => Self::Created,
1699            ffi::G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED => Self::AttributeChanged,
1700            ffi::G_FILE_MONITOR_EVENT_PRE_UNMOUNT => Self::PreUnmount,
1701            ffi::G_FILE_MONITOR_EVENT_UNMOUNTED => Self::Unmounted,
1702            ffi::G_FILE_MONITOR_EVENT_MOVED => Self::Moved,
1703            ffi::G_FILE_MONITOR_EVENT_RENAMED => Self::Renamed,
1704            ffi::G_FILE_MONITOR_EVENT_MOVED_IN => Self::MovedIn,
1705            ffi::G_FILE_MONITOR_EVENT_MOVED_OUT => Self::MovedOut,
1706            value => Self::__Unknown(value),
1707        }
1708    }
1709}
1710
1711impl StaticType for FileMonitorEvent {
1712    #[inline]
1713    #[doc(alias = "g_file_monitor_event_get_type")]
1714    fn static_type() -> glib::Type {
1715        unsafe { from_glib(ffi::g_file_monitor_event_get_type()) }
1716    }
1717}
1718
1719impl glib::HasParamSpec for FileMonitorEvent {
1720    type ParamSpec = glib::ParamSpecEnum;
1721    type SetValue = Self;
1722    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1723
1724    fn param_spec_builder() -> Self::BuilderFn {
1725        Self::ParamSpec::builder_with_default
1726    }
1727}
1728
1729impl glib::value::ValueType for FileMonitorEvent {
1730    type Type = Self;
1731}
1732
1733unsafe impl<'a> glib::value::FromValue<'a> for FileMonitorEvent {
1734    type Checker = glib::value::GenericValueTypeChecker<Self>;
1735
1736    #[inline]
1737    unsafe fn from_value(value: &'a glib::Value) -> Self {
1738        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1739    }
1740}
1741
1742impl ToValue for FileMonitorEvent {
1743    #[inline]
1744    fn to_value(&self) -> glib::Value {
1745        let mut value = glib::Value::for_value_type::<Self>();
1746        unsafe {
1747            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1748        }
1749        value
1750    }
1751
1752    #[inline]
1753    fn value_type(&self) -> glib::Type {
1754        Self::static_type()
1755    }
1756}
1757
1758impl From<FileMonitorEvent> for glib::Value {
1759    #[inline]
1760    fn from(v: FileMonitorEvent) -> Self {
1761        ToValue::to_value(&v)
1762    }
1763}
1764
1765#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1766#[non_exhaustive]
1767#[doc(alias = "GFileType")]
1768pub enum FileType {
1769    #[doc(alias = "G_FILE_TYPE_UNKNOWN")]
1770    Unknown,
1771    #[doc(alias = "G_FILE_TYPE_REGULAR")]
1772    Regular,
1773    #[doc(alias = "G_FILE_TYPE_DIRECTORY")]
1774    Directory,
1775    #[doc(alias = "G_FILE_TYPE_SYMBOLIC_LINK")]
1776    SymbolicLink,
1777    #[doc(alias = "G_FILE_TYPE_SPECIAL")]
1778    Special,
1779    #[doc(alias = "G_FILE_TYPE_SHORTCUT")]
1780    Shortcut,
1781    #[doc(alias = "G_FILE_TYPE_MOUNTABLE")]
1782    Mountable,
1783    #[doc(hidden)]
1784    __Unknown(i32),
1785}
1786
1787#[doc(hidden)]
1788impl IntoGlib for FileType {
1789    type GlibType = ffi::GFileType;
1790
1791    #[inline]
1792    fn into_glib(self) -> ffi::GFileType {
1793        match self {
1794            Self::Unknown => ffi::G_FILE_TYPE_UNKNOWN,
1795            Self::Regular => ffi::G_FILE_TYPE_REGULAR,
1796            Self::Directory => ffi::G_FILE_TYPE_DIRECTORY,
1797            Self::SymbolicLink => ffi::G_FILE_TYPE_SYMBOLIC_LINK,
1798            Self::Special => ffi::G_FILE_TYPE_SPECIAL,
1799            Self::Shortcut => ffi::G_FILE_TYPE_SHORTCUT,
1800            Self::Mountable => ffi::G_FILE_TYPE_MOUNTABLE,
1801            Self::__Unknown(value) => value,
1802        }
1803    }
1804}
1805
1806#[doc(hidden)]
1807impl FromGlib<ffi::GFileType> for FileType {
1808    #[inline]
1809    unsafe fn from_glib(value: ffi::GFileType) -> Self {
1810        match value {
1811            ffi::G_FILE_TYPE_UNKNOWN => Self::Unknown,
1812            ffi::G_FILE_TYPE_REGULAR => Self::Regular,
1813            ffi::G_FILE_TYPE_DIRECTORY => Self::Directory,
1814            ffi::G_FILE_TYPE_SYMBOLIC_LINK => Self::SymbolicLink,
1815            ffi::G_FILE_TYPE_SPECIAL => Self::Special,
1816            ffi::G_FILE_TYPE_SHORTCUT => Self::Shortcut,
1817            ffi::G_FILE_TYPE_MOUNTABLE => Self::Mountable,
1818            value => Self::__Unknown(value),
1819        }
1820    }
1821}
1822
1823impl StaticType for FileType {
1824    #[inline]
1825    #[doc(alias = "g_file_type_get_type")]
1826    fn static_type() -> glib::Type {
1827        unsafe { from_glib(ffi::g_file_type_get_type()) }
1828    }
1829}
1830
1831impl glib::HasParamSpec for FileType {
1832    type ParamSpec = glib::ParamSpecEnum;
1833    type SetValue = Self;
1834    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1835
1836    fn param_spec_builder() -> Self::BuilderFn {
1837        Self::ParamSpec::builder_with_default
1838    }
1839}
1840
1841impl glib::value::ValueType for FileType {
1842    type Type = Self;
1843}
1844
1845unsafe impl<'a> glib::value::FromValue<'a> for FileType {
1846    type Checker = glib::value::GenericValueTypeChecker<Self>;
1847
1848    #[inline]
1849    unsafe fn from_value(value: &'a glib::Value) -> Self {
1850        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1851    }
1852}
1853
1854impl ToValue for FileType {
1855    #[inline]
1856    fn to_value(&self) -> glib::Value {
1857        let mut value = glib::Value::for_value_type::<Self>();
1858        unsafe {
1859            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1860        }
1861        value
1862    }
1863
1864    #[inline]
1865    fn value_type(&self) -> glib::Type {
1866        Self::static_type()
1867    }
1868}
1869
1870impl From<FileType> for glib::Value {
1871    #[inline]
1872    fn from(v: FileType) -> Self {
1873        ToValue::to_value(&v)
1874    }
1875}
1876
1877#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1878#[non_exhaustive]
1879#[doc(alias = "GFilesystemPreviewType")]
1880pub enum FilesystemPreviewType {
1881    #[doc(alias = "G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS")]
1882    IfAlways,
1883    #[doc(alias = "G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL")]
1884    IfLocal,
1885    #[doc(alias = "G_FILESYSTEM_PREVIEW_TYPE_NEVER")]
1886    Never,
1887    #[doc(hidden)]
1888    __Unknown(i32),
1889}
1890
1891#[doc(hidden)]
1892impl IntoGlib for FilesystemPreviewType {
1893    type GlibType = ffi::GFilesystemPreviewType;
1894
1895    #[inline]
1896    fn into_glib(self) -> ffi::GFilesystemPreviewType {
1897        match self {
1898            Self::IfAlways => ffi::G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS,
1899            Self::IfLocal => ffi::G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL,
1900            Self::Never => ffi::G_FILESYSTEM_PREVIEW_TYPE_NEVER,
1901            Self::__Unknown(value) => value,
1902        }
1903    }
1904}
1905
1906#[doc(hidden)]
1907impl FromGlib<ffi::GFilesystemPreviewType> for FilesystemPreviewType {
1908    #[inline]
1909    unsafe fn from_glib(value: ffi::GFilesystemPreviewType) -> Self {
1910        match value {
1911            ffi::G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS => Self::IfAlways,
1912            ffi::G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL => Self::IfLocal,
1913            ffi::G_FILESYSTEM_PREVIEW_TYPE_NEVER => Self::Never,
1914            value => Self::__Unknown(value),
1915        }
1916    }
1917}
1918
1919impl StaticType for FilesystemPreviewType {
1920    #[inline]
1921    #[doc(alias = "g_filesystem_preview_type_get_type")]
1922    fn static_type() -> glib::Type {
1923        unsafe { from_glib(ffi::g_filesystem_preview_type_get_type()) }
1924    }
1925}
1926
1927impl glib::HasParamSpec for FilesystemPreviewType {
1928    type ParamSpec = glib::ParamSpecEnum;
1929    type SetValue = Self;
1930    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1931
1932    fn param_spec_builder() -> Self::BuilderFn {
1933        Self::ParamSpec::builder_with_default
1934    }
1935}
1936
1937impl glib::value::ValueType for FilesystemPreviewType {
1938    type Type = Self;
1939}
1940
1941unsafe impl<'a> glib::value::FromValue<'a> for FilesystemPreviewType {
1942    type Checker = glib::value::GenericValueTypeChecker<Self>;
1943
1944    #[inline]
1945    unsafe fn from_value(value: &'a glib::Value) -> Self {
1946        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1947    }
1948}
1949
1950impl ToValue for FilesystemPreviewType {
1951    #[inline]
1952    fn to_value(&self) -> glib::Value {
1953        let mut value = glib::Value::for_value_type::<Self>();
1954        unsafe {
1955            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1956        }
1957        value
1958    }
1959
1960    #[inline]
1961    fn value_type(&self) -> glib::Type {
1962        Self::static_type()
1963    }
1964}
1965
1966impl From<FilesystemPreviewType> for glib::Value {
1967    #[inline]
1968    fn from(v: FilesystemPreviewType) -> Self {
1969        ToValue::to_value(&v)
1970    }
1971}
1972
1973#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1974#[non_exhaustive]
1975#[doc(alias = "GIOErrorEnum")]
1976pub enum IOErrorEnum {
1977    #[doc(alias = "G_IO_ERROR_FAILED")]
1978    Failed,
1979    #[doc(alias = "G_IO_ERROR_NOT_FOUND")]
1980    NotFound,
1981    #[doc(alias = "G_IO_ERROR_EXISTS")]
1982    Exists,
1983    #[doc(alias = "G_IO_ERROR_IS_DIRECTORY")]
1984    IsDirectory,
1985    #[doc(alias = "G_IO_ERROR_NOT_DIRECTORY")]
1986    NotDirectory,
1987    #[doc(alias = "G_IO_ERROR_NOT_EMPTY")]
1988    NotEmpty,
1989    #[doc(alias = "G_IO_ERROR_NOT_REGULAR_FILE")]
1990    NotRegularFile,
1991    #[doc(alias = "G_IO_ERROR_NOT_SYMBOLIC_LINK")]
1992    NotSymbolicLink,
1993    #[doc(alias = "G_IO_ERROR_NOT_MOUNTABLE_FILE")]
1994    NotMountableFile,
1995    #[doc(alias = "G_IO_ERROR_FILENAME_TOO_LONG")]
1996    FilenameTooLong,
1997    #[doc(alias = "G_IO_ERROR_INVALID_FILENAME")]
1998    InvalidFilename,
1999    #[doc(alias = "G_IO_ERROR_TOO_MANY_LINKS")]
2000    TooManyLinks,
2001    #[doc(alias = "G_IO_ERROR_NO_SPACE")]
2002    NoSpace,
2003    #[doc(alias = "G_IO_ERROR_INVALID_ARGUMENT")]
2004    InvalidArgument,
2005    #[doc(alias = "G_IO_ERROR_PERMISSION_DENIED")]
2006    PermissionDenied,
2007    #[doc(alias = "G_IO_ERROR_NOT_SUPPORTED")]
2008    NotSupported,
2009    #[doc(alias = "G_IO_ERROR_NOT_MOUNTED")]
2010    NotMounted,
2011    #[doc(alias = "G_IO_ERROR_ALREADY_MOUNTED")]
2012    AlreadyMounted,
2013    #[doc(alias = "G_IO_ERROR_CLOSED")]
2014    Closed,
2015    #[doc(alias = "G_IO_ERROR_CANCELLED")]
2016    Cancelled,
2017    #[doc(alias = "G_IO_ERROR_PENDING")]
2018    Pending,
2019    #[doc(alias = "G_IO_ERROR_READ_ONLY")]
2020    ReadOnly,
2021    #[doc(alias = "G_IO_ERROR_CANT_CREATE_BACKUP")]
2022    CantCreateBackup,
2023    #[doc(alias = "G_IO_ERROR_WRONG_ETAG")]
2024    WrongEtag,
2025    #[doc(alias = "G_IO_ERROR_TIMED_OUT")]
2026    TimedOut,
2027    #[doc(alias = "G_IO_ERROR_WOULD_RECURSE")]
2028    WouldRecurse,
2029    #[doc(alias = "G_IO_ERROR_BUSY")]
2030    Busy,
2031    #[doc(alias = "G_IO_ERROR_WOULD_BLOCK")]
2032    WouldBlock,
2033    #[doc(alias = "G_IO_ERROR_HOST_NOT_FOUND")]
2034    HostNotFound,
2035    #[doc(alias = "G_IO_ERROR_WOULD_MERGE")]
2036    WouldMerge,
2037    #[doc(alias = "G_IO_ERROR_FAILED_HANDLED")]
2038    FailedHandled,
2039    #[doc(alias = "G_IO_ERROR_TOO_MANY_OPEN_FILES")]
2040    TooManyOpenFiles,
2041    #[doc(alias = "G_IO_ERROR_NOT_INITIALIZED")]
2042    NotInitialized,
2043    #[doc(alias = "G_IO_ERROR_ADDRESS_IN_USE")]
2044    AddressInUse,
2045    #[doc(alias = "G_IO_ERROR_PARTIAL_INPUT")]
2046    PartialInput,
2047    #[doc(alias = "G_IO_ERROR_INVALID_DATA")]
2048    InvalidData,
2049    #[doc(alias = "G_IO_ERROR_DBUS_ERROR")]
2050    DbusError,
2051    #[doc(alias = "G_IO_ERROR_HOST_UNREACHABLE")]
2052    HostUnreachable,
2053    #[doc(alias = "G_IO_ERROR_NETWORK_UNREACHABLE")]
2054    NetworkUnreachable,
2055    #[doc(alias = "G_IO_ERROR_CONNECTION_REFUSED")]
2056    ConnectionRefused,
2057    #[doc(alias = "G_IO_ERROR_PROXY_FAILED")]
2058    ProxyFailed,
2059    #[doc(alias = "G_IO_ERROR_PROXY_AUTH_FAILED")]
2060    ProxyAuthFailed,
2061    #[doc(alias = "G_IO_ERROR_PROXY_NEED_AUTH")]
2062    ProxyNeedAuth,
2063    #[doc(alias = "G_IO_ERROR_PROXY_NOT_ALLOWED")]
2064    ProxyNotAllowed,
2065    #[doc(alias = "G_IO_ERROR_BROKEN_PIPE")]
2066    BrokenPipe,
2067    #[doc(alias = "G_IO_ERROR_NOT_CONNECTED")]
2068    NotConnected,
2069    #[doc(alias = "G_IO_ERROR_MESSAGE_TOO_LARGE")]
2070    MessageTooLarge,
2071    #[cfg(feature = "v2_72")]
2072    #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
2073    #[doc(alias = "G_IO_ERROR_NO_SUCH_DEVICE")]
2074    NoSuchDevice,
2075    #[cfg(feature = "v2_80")]
2076    #[cfg_attr(docsrs, doc(cfg(feature = "v2_80")))]
2077    #[doc(alias = "G_IO_ERROR_DESTINATION_UNSET")]
2078    DestinationUnset,
2079    #[doc(hidden)]
2080    __Unknown(i32),
2081}
2082
2083#[doc(hidden)]
2084impl IntoGlib for IOErrorEnum {
2085    type GlibType = ffi::GIOErrorEnum;
2086
2087    fn into_glib(self) -> ffi::GIOErrorEnum {
2088        match self {
2089            Self::Failed => ffi::G_IO_ERROR_FAILED,
2090            Self::NotFound => ffi::G_IO_ERROR_NOT_FOUND,
2091            Self::Exists => ffi::G_IO_ERROR_EXISTS,
2092            Self::IsDirectory => ffi::G_IO_ERROR_IS_DIRECTORY,
2093            Self::NotDirectory => ffi::G_IO_ERROR_NOT_DIRECTORY,
2094            Self::NotEmpty => ffi::G_IO_ERROR_NOT_EMPTY,
2095            Self::NotRegularFile => ffi::G_IO_ERROR_NOT_REGULAR_FILE,
2096            Self::NotSymbolicLink => ffi::G_IO_ERROR_NOT_SYMBOLIC_LINK,
2097            Self::NotMountableFile => ffi::G_IO_ERROR_NOT_MOUNTABLE_FILE,
2098            Self::FilenameTooLong => ffi::G_IO_ERROR_FILENAME_TOO_LONG,
2099            Self::InvalidFilename => ffi::G_IO_ERROR_INVALID_FILENAME,
2100            Self::TooManyLinks => ffi::G_IO_ERROR_TOO_MANY_LINKS,
2101            Self::NoSpace => ffi::G_IO_ERROR_NO_SPACE,
2102            Self::InvalidArgument => ffi::G_IO_ERROR_INVALID_ARGUMENT,
2103            Self::PermissionDenied => ffi::G_IO_ERROR_PERMISSION_DENIED,
2104            Self::NotSupported => ffi::G_IO_ERROR_NOT_SUPPORTED,
2105            Self::NotMounted => ffi::G_IO_ERROR_NOT_MOUNTED,
2106            Self::AlreadyMounted => ffi::G_IO_ERROR_ALREADY_MOUNTED,
2107            Self::Closed => ffi::G_IO_ERROR_CLOSED,
2108            Self::Cancelled => ffi::G_IO_ERROR_CANCELLED,
2109            Self::Pending => ffi::G_IO_ERROR_PENDING,
2110            Self::ReadOnly => ffi::G_IO_ERROR_READ_ONLY,
2111            Self::CantCreateBackup => ffi::G_IO_ERROR_CANT_CREATE_BACKUP,
2112            Self::WrongEtag => ffi::G_IO_ERROR_WRONG_ETAG,
2113            Self::TimedOut => ffi::G_IO_ERROR_TIMED_OUT,
2114            Self::WouldRecurse => ffi::G_IO_ERROR_WOULD_RECURSE,
2115            Self::Busy => ffi::G_IO_ERROR_BUSY,
2116            Self::WouldBlock => ffi::G_IO_ERROR_WOULD_BLOCK,
2117            Self::HostNotFound => ffi::G_IO_ERROR_HOST_NOT_FOUND,
2118            Self::WouldMerge => ffi::G_IO_ERROR_WOULD_MERGE,
2119            Self::FailedHandled => ffi::G_IO_ERROR_FAILED_HANDLED,
2120            Self::TooManyOpenFiles => ffi::G_IO_ERROR_TOO_MANY_OPEN_FILES,
2121            Self::NotInitialized => ffi::G_IO_ERROR_NOT_INITIALIZED,
2122            Self::AddressInUse => ffi::G_IO_ERROR_ADDRESS_IN_USE,
2123            Self::PartialInput => ffi::G_IO_ERROR_PARTIAL_INPUT,
2124            Self::InvalidData => ffi::G_IO_ERROR_INVALID_DATA,
2125            Self::DbusError => ffi::G_IO_ERROR_DBUS_ERROR,
2126            Self::HostUnreachable => ffi::G_IO_ERROR_HOST_UNREACHABLE,
2127            Self::NetworkUnreachable => ffi::G_IO_ERROR_NETWORK_UNREACHABLE,
2128            Self::ConnectionRefused => ffi::G_IO_ERROR_CONNECTION_REFUSED,
2129            Self::ProxyFailed => ffi::G_IO_ERROR_PROXY_FAILED,
2130            Self::ProxyAuthFailed => ffi::G_IO_ERROR_PROXY_AUTH_FAILED,
2131            Self::ProxyNeedAuth => ffi::G_IO_ERROR_PROXY_NEED_AUTH,
2132            Self::ProxyNotAllowed => ffi::G_IO_ERROR_PROXY_NOT_ALLOWED,
2133            Self::BrokenPipe => ffi::G_IO_ERROR_BROKEN_PIPE,
2134            Self::NotConnected => ffi::G_IO_ERROR_NOT_CONNECTED,
2135            Self::MessageTooLarge => ffi::G_IO_ERROR_MESSAGE_TOO_LARGE,
2136            #[cfg(feature = "v2_72")]
2137            Self::NoSuchDevice => ffi::G_IO_ERROR_NO_SUCH_DEVICE,
2138            #[cfg(feature = "v2_80")]
2139            Self::DestinationUnset => ffi::G_IO_ERROR_DESTINATION_UNSET,
2140            Self::__Unknown(value) => value,
2141        }
2142    }
2143}
2144
2145#[doc(hidden)]
2146impl FromGlib<ffi::GIOErrorEnum> for IOErrorEnum {
2147    unsafe fn from_glib(value: ffi::GIOErrorEnum) -> Self {
2148        match value {
2149            ffi::G_IO_ERROR_FAILED => Self::Failed,
2150            ffi::G_IO_ERROR_NOT_FOUND => Self::NotFound,
2151            ffi::G_IO_ERROR_EXISTS => Self::Exists,
2152            ffi::G_IO_ERROR_IS_DIRECTORY => Self::IsDirectory,
2153            ffi::G_IO_ERROR_NOT_DIRECTORY => Self::NotDirectory,
2154            ffi::G_IO_ERROR_NOT_EMPTY => Self::NotEmpty,
2155            ffi::G_IO_ERROR_NOT_REGULAR_FILE => Self::NotRegularFile,
2156            ffi::G_IO_ERROR_NOT_SYMBOLIC_LINK => Self::NotSymbolicLink,
2157            ffi::G_IO_ERROR_NOT_MOUNTABLE_FILE => Self::NotMountableFile,
2158            ffi::G_IO_ERROR_FILENAME_TOO_LONG => Self::FilenameTooLong,
2159            ffi::G_IO_ERROR_INVALID_FILENAME => Self::InvalidFilename,
2160            ffi::G_IO_ERROR_TOO_MANY_LINKS => Self::TooManyLinks,
2161            ffi::G_IO_ERROR_NO_SPACE => Self::NoSpace,
2162            ffi::G_IO_ERROR_INVALID_ARGUMENT => Self::InvalidArgument,
2163            ffi::G_IO_ERROR_PERMISSION_DENIED => Self::PermissionDenied,
2164            ffi::G_IO_ERROR_NOT_SUPPORTED => Self::NotSupported,
2165            ffi::G_IO_ERROR_NOT_MOUNTED => Self::NotMounted,
2166            ffi::G_IO_ERROR_ALREADY_MOUNTED => Self::AlreadyMounted,
2167            ffi::G_IO_ERROR_CLOSED => Self::Closed,
2168            ffi::G_IO_ERROR_CANCELLED => Self::Cancelled,
2169            ffi::G_IO_ERROR_PENDING => Self::Pending,
2170            ffi::G_IO_ERROR_READ_ONLY => Self::ReadOnly,
2171            ffi::G_IO_ERROR_CANT_CREATE_BACKUP => Self::CantCreateBackup,
2172            ffi::G_IO_ERROR_WRONG_ETAG => Self::WrongEtag,
2173            ffi::G_IO_ERROR_TIMED_OUT => Self::TimedOut,
2174            ffi::G_IO_ERROR_WOULD_RECURSE => Self::WouldRecurse,
2175            ffi::G_IO_ERROR_BUSY => Self::Busy,
2176            ffi::G_IO_ERROR_WOULD_BLOCK => Self::WouldBlock,
2177            ffi::G_IO_ERROR_HOST_NOT_FOUND => Self::HostNotFound,
2178            ffi::G_IO_ERROR_WOULD_MERGE => Self::WouldMerge,
2179            ffi::G_IO_ERROR_FAILED_HANDLED => Self::FailedHandled,
2180            ffi::G_IO_ERROR_TOO_MANY_OPEN_FILES => Self::TooManyOpenFiles,
2181            ffi::G_IO_ERROR_NOT_INITIALIZED => Self::NotInitialized,
2182            ffi::G_IO_ERROR_ADDRESS_IN_USE => Self::AddressInUse,
2183            ffi::G_IO_ERROR_PARTIAL_INPUT => Self::PartialInput,
2184            ffi::G_IO_ERROR_INVALID_DATA => Self::InvalidData,
2185            ffi::G_IO_ERROR_DBUS_ERROR => Self::DbusError,
2186            ffi::G_IO_ERROR_HOST_UNREACHABLE => Self::HostUnreachable,
2187            ffi::G_IO_ERROR_NETWORK_UNREACHABLE => Self::NetworkUnreachable,
2188            ffi::G_IO_ERROR_CONNECTION_REFUSED => Self::ConnectionRefused,
2189            ffi::G_IO_ERROR_PROXY_FAILED => Self::ProxyFailed,
2190            ffi::G_IO_ERROR_PROXY_AUTH_FAILED => Self::ProxyAuthFailed,
2191            ffi::G_IO_ERROR_PROXY_NEED_AUTH => Self::ProxyNeedAuth,
2192            ffi::G_IO_ERROR_PROXY_NOT_ALLOWED => Self::ProxyNotAllowed,
2193            ffi::G_IO_ERROR_BROKEN_PIPE => Self::BrokenPipe,
2194            ffi::G_IO_ERROR_NOT_CONNECTED => Self::NotConnected,
2195            ffi::G_IO_ERROR_MESSAGE_TOO_LARGE => Self::MessageTooLarge,
2196            #[cfg(feature = "v2_72")]
2197            ffi::G_IO_ERROR_NO_SUCH_DEVICE => Self::NoSuchDevice,
2198            #[cfg(feature = "v2_80")]
2199            ffi::G_IO_ERROR_DESTINATION_UNSET => Self::DestinationUnset,
2200            value => Self::__Unknown(value),
2201        }
2202    }
2203}
2204
2205impl glib::error::ErrorDomain for IOErrorEnum {
2206    #[inline]
2207    fn domain() -> glib::Quark {
2208        unsafe { from_glib(ffi::g_io_error_quark()) }
2209    }
2210
2211    #[inline]
2212    fn code(self) -> i32 {
2213        self.into_glib()
2214    }
2215
2216    #[inline]
2217    #[allow(clippy::match_single_binding)]
2218    fn from(code: i32) -> Option<Self> {
2219        match unsafe { from_glib(code) } {
2220            Self::__Unknown(_) => Some(Self::Failed),
2221            value => Some(value),
2222        }
2223    }
2224}
2225
2226impl StaticType for IOErrorEnum {
2227    #[inline]
2228    #[doc(alias = "g_io_error_enum_get_type")]
2229    fn static_type() -> glib::Type {
2230        unsafe { from_glib(ffi::g_io_error_enum_get_type()) }
2231    }
2232}
2233
2234impl glib::HasParamSpec for IOErrorEnum {
2235    type ParamSpec = glib::ParamSpecEnum;
2236    type SetValue = Self;
2237    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2238
2239    fn param_spec_builder() -> Self::BuilderFn {
2240        Self::ParamSpec::builder_with_default
2241    }
2242}
2243
2244impl glib::value::ValueType for IOErrorEnum {
2245    type Type = Self;
2246}
2247
2248unsafe impl<'a> glib::value::FromValue<'a> for IOErrorEnum {
2249    type Checker = glib::value::GenericValueTypeChecker<Self>;
2250
2251    #[inline]
2252    unsafe fn from_value(value: &'a glib::Value) -> Self {
2253        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2254    }
2255}
2256
2257impl ToValue for IOErrorEnum {
2258    #[inline]
2259    fn to_value(&self) -> glib::Value {
2260        let mut value = glib::Value::for_value_type::<Self>();
2261        unsafe {
2262            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2263        }
2264        value
2265    }
2266
2267    #[inline]
2268    fn value_type(&self) -> glib::Type {
2269        Self::static_type()
2270    }
2271}
2272
2273impl From<IOErrorEnum> for glib::Value {
2274    #[inline]
2275    fn from(v: IOErrorEnum) -> Self {
2276        ToValue::to_value(&v)
2277    }
2278}
2279
2280#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2281#[non_exhaustive]
2282#[doc(alias = "GIOModuleScopeFlags")]
2283pub enum IOModuleScopeFlags {
2284    #[doc(alias = "G_IO_MODULE_SCOPE_NONE")]
2285    None,
2286    #[doc(alias = "G_IO_MODULE_SCOPE_BLOCK_DUPLICATES")]
2287    BlockDuplicates,
2288    #[doc(hidden)]
2289    __Unknown(i32),
2290}
2291
2292#[doc(hidden)]
2293impl IntoGlib for IOModuleScopeFlags {
2294    type GlibType = ffi::GIOModuleScopeFlags;
2295
2296    #[inline]
2297    fn into_glib(self) -> ffi::GIOModuleScopeFlags {
2298        match self {
2299            Self::None => ffi::G_IO_MODULE_SCOPE_NONE,
2300            Self::BlockDuplicates => ffi::G_IO_MODULE_SCOPE_BLOCK_DUPLICATES,
2301            Self::__Unknown(value) => value,
2302        }
2303    }
2304}
2305
2306#[doc(hidden)]
2307impl FromGlib<ffi::GIOModuleScopeFlags> for IOModuleScopeFlags {
2308    #[inline]
2309    unsafe fn from_glib(value: ffi::GIOModuleScopeFlags) -> Self {
2310        match value {
2311            ffi::G_IO_MODULE_SCOPE_NONE => Self::None,
2312            ffi::G_IO_MODULE_SCOPE_BLOCK_DUPLICATES => Self::BlockDuplicates,
2313            value => Self::__Unknown(value),
2314        }
2315    }
2316}
2317
2318impl StaticType for IOModuleScopeFlags {
2319    #[inline]
2320    #[doc(alias = "g_io_module_scope_flags_get_type")]
2321    fn static_type() -> glib::Type {
2322        unsafe { from_glib(ffi::g_io_module_scope_flags_get_type()) }
2323    }
2324}
2325
2326impl glib::HasParamSpec for IOModuleScopeFlags {
2327    type ParamSpec = glib::ParamSpecEnum;
2328    type SetValue = Self;
2329    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2330
2331    fn param_spec_builder() -> Self::BuilderFn {
2332        Self::ParamSpec::builder_with_default
2333    }
2334}
2335
2336impl glib::value::ValueType for IOModuleScopeFlags {
2337    type Type = Self;
2338}
2339
2340unsafe impl<'a> glib::value::FromValue<'a> for IOModuleScopeFlags {
2341    type Checker = glib::value::GenericValueTypeChecker<Self>;
2342
2343    #[inline]
2344    unsafe fn from_value(value: &'a glib::Value) -> Self {
2345        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2346    }
2347}
2348
2349impl ToValue for IOModuleScopeFlags {
2350    #[inline]
2351    fn to_value(&self) -> glib::Value {
2352        let mut value = glib::Value::for_value_type::<Self>();
2353        unsafe {
2354            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2355        }
2356        value
2357    }
2358
2359    #[inline]
2360    fn value_type(&self) -> glib::Type {
2361        Self::static_type()
2362    }
2363}
2364
2365impl From<IOModuleScopeFlags> for glib::Value {
2366    #[inline]
2367    fn from(v: IOModuleScopeFlags) -> Self {
2368        ToValue::to_value(&v)
2369    }
2370}
2371
2372#[cfg(feature = "v2_64")]
2373#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2374#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2375#[non_exhaustive]
2376#[doc(alias = "GMemoryMonitorWarningLevel")]
2377pub enum MemoryMonitorWarningLevel {
2378    #[doc(alias = "G_MEMORY_MONITOR_WARNING_LEVEL_LOW")]
2379    Low,
2380    #[doc(alias = "G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM")]
2381    Medium,
2382    #[doc(alias = "G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL")]
2383    Critical,
2384    #[doc(hidden)]
2385    __Unknown(i32),
2386}
2387
2388#[cfg(feature = "v2_64")]
2389#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2390#[doc(hidden)]
2391impl IntoGlib for MemoryMonitorWarningLevel {
2392    type GlibType = ffi::GMemoryMonitorWarningLevel;
2393
2394    #[inline]
2395    fn into_glib(self) -> ffi::GMemoryMonitorWarningLevel {
2396        match self {
2397            Self::Low => ffi::G_MEMORY_MONITOR_WARNING_LEVEL_LOW,
2398            Self::Medium => ffi::G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM,
2399            Self::Critical => ffi::G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL,
2400            Self::__Unknown(value) => value,
2401        }
2402    }
2403}
2404
2405#[cfg(feature = "v2_64")]
2406#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2407#[doc(hidden)]
2408impl FromGlib<ffi::GMemoryMonitorWarningLevel> for MemoryMonitorWarningLevel {
2409    #[inline]
2410    unsafe fn from_glib(value: ffi::GMemoryMonitorWarningLevel) -> Self {
2411        match value {
2412            ffi::G_MEMORY_MONITOR_WARNING_LEVEL_LOW => Self::Low,
2413            ffi::G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM => Self::Medium,
2414            ffi::G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL => Self::Critical,
2415            value => Self::__Unknown(value),
2416        }
2417    }
2418}
2419
2420#[cfg(feature = "v2_64")]
2421#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2422impl StaticType for MemoryMonitorWarningLevel {
2423    #[inline]
2424    #[doc(alias = "g_memory_monitor_warning_level_get_type")]
2425    fn static_type() -> glib::Type {
2426        unsafe { from_glib(ffi::g_memory_monitor_warning_level_get_type()) }
2427    }
2428}
2429
2430#[cfg(feature = "v2_64")]
2431#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2432impl glib::HasParamSpec for MemoryMonitorWarningLevel {
2433    type ParamSpec = glib::ParamSpecEnum;
2434    type SetValue = Self;
2435    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2436
2437    fn param_spec_builder() -> Self::BuilderFn {
2438        Self::ParamSpec::builder_with_default
2439    }
2440}
2441
2442#[cfg(feature = "v2_64")]
2443#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2444impl glib::value::ValueType for MemoryMonitorWarningLevel {
2445    type Type = Self;
2446}
2447
2448#[cfg(feature = "v2_64")]
2449#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2450unsafe impl<'a> glib::value::FromValue<'a> for MemoryMonitorWarningLevel {
2451    type Checker = glib::value::GenericValueTypeChecker<Self>;
2452
2453    #[inline]
2454    unsafe fn from_value(value: &'a glib::Value) -> Self {
2455        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2456    }
2457}
2458
2459#[cfg(feature = "v2_64")]
2460#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2461impl ToValue for MemoryMonitorWarningLevel {
2462    #[inline]
2463    fn to_value(&self) -> glib::Value {
2464        let mut value = glib::Value::for_value_type::<Self>();
2465        unsafe {
2466            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2467        }
2468        value
2469    }
2470
2471    #[inline]
2472    fn value_type(&self) -> glib::Type {
2473        Self::static_type()
2474    }
2475}
2476
2477#[cfg(feature = "v2_64")]
2478#[cfg_attr(docsrs, doc(cfg(feature = "v2_64")))]
2479impl From<MemoryMonitorWarningLevel> for glib::Value {
2480    #[inline]
2481    fn from(v: MemoryMonitorWarningLevel) -> Self {
2482        ToValue::to_value(&v)
2483    }
2484}
2485
2486#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2487#[non_exhaustive]
2488#[doc(alias = "GMountOperationResult")]
2489pub enum MountOperationResult {
2490    #[doc(alias = "G_MOUNT_OPERATION_HANDLED")]
2491    Handled,
2492    #[doc(alias = "G_MOUNT_OPERATION_ABORTED")]
2493    Aborted,
2494    #[doc(alias = "G_MOUNT_OPERATION_UNHANDLED")]
2495    Unhandled,
2496    #[doc(hidden)]
2497    __Unknown(i32),
2498}
2499
2500#[doc(hidden)]
2501impl IntoGlib for MountOperationResult {
2502    type GlibType = ffi::GMountOperationResult;
2503
2504    #[inline]
2505    fn into_glib(self) -> ffi::GMountOperationResult {
2506        match self {
2507            Self::Handled => ffi::G_MOUNT_OPERATION_HANDLED,
2508            Self::Aborted => ffi::G_MOUNT_OPERATION_ABORTED,
2509            Self::Unhandled => ffi::G_MOUNT_OPERATION_UNHANDLED,
2510            Self::__Unknown(value) => value,
2511        }
2512    }
2513}
2514
2515#[doc(hidden)]
2516impl FromGlib<ffi::GMountOperationResult> for MountOperationResult {
2517    #[inline]
2518    unsafe fn from_glib(value: ffi::GMountOperationResult) -> Self {
2519        match value {
2520            ffi::G_MOUNT_OPERATION_HANDLED => Self::Handled,
2521            ffi::G_MOUNT_OPERATION_ABORTED => Self::Aborted,
2522            ffi::G_MOUNT_OPERATION_UNHANDLED => Self::Unhandled,
2523            value => Self::__Unknown(value),
2524        }
2525    }
2526}
2527
2528impl StaticType for MountOperationResult {
2529    #[inline]
2530    #[doc(alias = "g_mount_operation_result_get_type")]
2531    fn static_type() -> glib::Type {
2532        unsafe { from_glib(ffi::g_mount_operation_result_get_type()) }
2533    }
2534}
2535
2536impl glib::HasParamSpec for MountOperationResult {
2537    type ParamSpec = glib::ParamSpecEnum;
2538    type SetValue = Self;
2539    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2540
2541    fn param_spec_builder() -> Self::BuilderFn {
2542        Self::ParamSpec::builder_with_default
2543    }
2544}
2545
2546impl glib::value::ValueType for MountOperationResult {
2547    type Type = Self;
2548}
2549
2550unsafe impl<'a> glib::value::FromValue<'a> for MountOperationResult {
2551    type Checker = glib::value::GenericValueTypeChecker<Self>;
2552
2553    #[inline]
2554    unsafe fn from_value(value: &'a glib::Value) -> Self {
2555        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2556    }
2557}
2558
2559impl ToValue for MountOperationResult {
2560    #[inline]
2561    fn to_value(&self) -> glib::Value {
2562        let mut value = glib::Value::for_value_type::<Self>();
2563        unsafe {
2564            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2565        }
2566        value
2567    }
2568
2569    #[inline]
2570    fn value_type(&self) -> glib::Type {
2571        Self::static_type()
2572    }
2573}
2574
2575impl From<MountOperationResult> for glib::Value {
2576    #[inline]
2577    fn from(v: MountOperationResult) -> Self {
2578        ToValue::to_value(&v)
2579    }
2580}
2581
2582#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2583#[non_exhaustive]
2584#[doc(alias = "GNetworkConnectivity")]
2585pub enum NetworkConnectivity {
2586    #[doc(alias = "G_NETWORK_CONNECTIVITY_LOCAL")]
2587    Local,
2588    #[doc(alias = "G_NETWORK_CONNECTIVITY_LIMITED")]
2589    Limited,
2590    #[doc(alias = "G_NETWORK_CONNECTIVITY_PORTAL")]
2591    Portal,
2592    #[doc(alias = "G_NETWORK_CONNECTIVITY_FULL")]
2593    Full,
2594    #[doc(hidden)]
2595    __Unknown(i32),
2596}
2597
2598#[doc(hidden)]
2599impl IntoGlib for NetworkConnectivity {
2600    type GlibType = ffi::GNetworkConnectivity;
2601
2602    #[inline]
2603    fn into_glib(self) -> ffi::GNetworkConnectivity {
2604        match self {
2605            Self::Local => ffi::G_NETWORK_CONNECTIVITY_LOCAL,
2606            Self::Limited => ffi::G_NETWORK_CONNECTIVITY_LIMITED,
2607            Self::Portal => ffi::G_NETWORK_CONNECTIVITY_PORTAL,
2608            Self::Full => ffi::G_NETWORK_CONNECTIVITY_FULL,
2609            Self::__Unknown(value) => value,
2610        }
2611    }
2612}
2613
2614#[doc(hidden)]
2615impl FromGlib<ffi::GNetworkConnectivity> for NetworkConnectivity {
2616    #[inline]
2617    unsafe fn from_glib(value: ffi::GNetworkConnectivity) -> Self {
2618        match value {
2619            ffi::G_NETWORK_CONNECTIVITY_LOCAL => Self::Local,
2620            ffi::G_NETWORK_CONNECTIVITY_LIMITED => Self::Limited,
2621            ffi::G_NETWORK_CONNECTIVITY_PORTAL => Self::Portal,
2622            ffi::G_NETWORK_CONNECTIVITY_FULL => Self::Full,
2623            value => Self::__Unknown(value),
2624        }
2625    }
2626}
2627
2628impl StaticType for NetworkConnectivity {
2629    #[inline]
2630    #[doc(alias = "g_network_connectivity_get_type")]
2631    fn static_type() -> glib::Type {
2632        unsafe { from_glib(ffi::g_network_connectivity_get_type()) }
2633    }
2634}
2635
2636impl glib::HasParamSpec for NetworkConnectivity {
2637    type ParamSpec = glib::ParamSpecEnum;
2638    type SetValue = Self;
2639    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2640
2641    fn param_spec_builder() -> Self::BuilderFn {
2642        Self::ParamSpec::builder_with_default
2643    }
2644}
2645
2646impl glib::value::ValueType for NetworkConnectivity {
2647    type Type = Self;
2648}
2649
2650unsafe impl<'a> glib::value::FromValue<'a> for NetworkConnectivity {
2651    type Checker = glib::value::GenericValueTypeChecker<Self>;
2652
2653    #[inline]
2654    unsafe fn from_value(value: &'a glib::Value) -> Self {
2655        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2656    }
2657}
2658
2659impl ToValue for NetworkConnectivity {
2660    #[inline]
2661    fn to_value(&self) -> glib::Value {
2662        let mut value = glib::Value::for_value_type::<Self>();
2663        unsafe {
2664            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2665        }
2666        value
2667    }
2668
2669    #[inline]
2670    fn value_type(&self) -> glib::Type {
2671        Self::static_type()
2672    }
2673}
2674
2675impl From<NetworkConnectivity> for glib::Value {
2676    #[inline]
2677    fn from(v: NetworkConnectivity) -> Self {
2678        ToValue::to_value(&v)
2679    }
2680}
2681
2682#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2683#[non_exhaustive]
2684#[doc(alias = "GNotificationPriority")]
2685pub enum NotificationPriority {
2686    #[doc(alias = "G_NOTIFICATION_PRIORITY_NORMAL")]
2687    Normal,
2688    #[doc(alias = "G_NOTIFICATION_PRIORITY_LOW")]
2689    Low,
2690    #[doc(alias = "G_NOTIFICATION_PRIORITY_HIGH")]
2691    High,
2692    #[doc(alias = "G_NOTIFICATION_PRIORITY_URGENT")]
2693    Urgent,
2694    #[doc(hidden)]
2695    __Unknown(i32),
2696}
2697
2698#[doc(hidden)]
2699impl IntoGlib for NotificationPriority {
2700    type GlibType = ffi::GNotificationPriority;
2701
2702    #[inline]
2703    fn into_glib(self) -> ffi::GNotificationPriority {
2704        match self {
2705            Self::Normal => ffi::G_NOTIFICATION_PRIORITY_NORMAL,
2706            Self::Low => ffi::G_NOTIFICATION_PRIORITY_LOW,
2707            Self::High => ffi::G_NOTIFICATION_PRIORITY_HIGH,
2708            Self::Urgent => ffi::G_NOTIFICATION_PRIORITY_URGENT,
2709            Self::__Unknown(value) => value,
2710        }
2711    }
2712}
2713
2714#[doc(hidden)]
2715impl FromGlib<ffi::GNotificationPriority> for NotificationPriority {
2716    #[inline]
2717    unsafe fn from_glib(value: ffi::GNotificationPriority) -> Self {
2718        match value {
2719            ffi::G_NOTIFICATION_PRIORITY_NORMAL => Self::Normal,
2720            ffi::G_NOTIFICATION_PRIORITY_LOW => Self::Low,
2721            ffi::G_NOTIFICATION_PRIORITY_HIGH => Self::High,
2722            ffi::G_NOTIFICATION_PRIORITY_URGENT => Self::Urgent,
2723            value => Self::__Unknown(value),
2724        }
2725    }
2726}
2727
2728impl StaticType for NotificationPriority {
2729    #[inline]
2730    #[doc(alias = "g_notification_priority_get_type")]
2731    fn static_type() -> glib::Type {
2732        unsafe { from_glib(ffi::g_notification_priority_get_type()) }
2733    }
2734}
2735
2736impl glib::HasParamSpec for NotificationPriority {
2737    type ParamSpec = glib::ParamSpecEnum;
2738    type SetValue = Self;
2739    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2740
2741    fn param_spec_builder() -> Self::BuilderFn {
2742        Self::ParamSpec::builder_with_default
2743    }
2744}
2745
2746impl glib::value::ValueType for NotificationPriority {
2747    type Type = Self;
2748}
2749
2750unsafe impl<'a> glib::value::FromValue<'a> for NotificationPriority {
2751    type Checker = glib::value::GenericValueTypeChecker<Self>;
2752
2753    #[inline]
2754    unsafe fn from_value(value: &'a glib::Value) -> Self {
2755        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2756    }
2757}
2758
2759impl ToValue for NotificationPriority {
2760    #[inline]
2761    fn to_value(&self) -> glib::Value {
2762        let mut value = glib::Value::for_value_type::<Self>();
2763        unsafe {
2764            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2765        }
2766        value
2767    }
2768
2769    #[inline]
2770    fn value_type(&self) -> glib::Type {
2771        Self::static_type()
2772    }
2773}
2774
2775impl From<NotificationPriority> for glib::Value {
2776    #[inline]
2777    fn from(v: NotificationPriority) -> Self {
2778        ToValue::to_value(&v)
2779    }
2780}
2781
2782#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2783#[non_exhaustive]
2784#[doc(alias = "GPasswordSave")]
2785pub enum PasswordSave {
2786    #[doc(alias = "G_PASSWORD_SAVE_NEVER")]
2787    Never,
2788    #[doc(alias = "G_PASSWORD_SAVE_FOR_SESSION")]
2789    ForSession,
2790    #[doc(alias = "G_PASSWORD_SAVE_PERMANENTLY")]
2791    Permanently,
2792    #[doc(hidden)]
2793    __Unknown(i32),
2794}
2795
2796#[doc(hidden)]
2797impl IntoGlib for PasswordSave {
2798    type GlibType = ffi::GPasswordSave;
2799
2800    #[inline]
2801    fn into_glib(self) -> ffi::GPasswordSave {
2802        match self {
2803            Self::Never => ffi::G_PASSWORD_SAVE_NEVER,
2804            Self::ForSession => ffi::G_PASSWORD_SAVE_FOR_SESSION,
2805            Self::Permanently => ffi::G_PASSWORD_SAVE_PERMANENTLY,
2806            Self::__Unknown(value) => value,
2807        }
2808    }
2809}
2810
2811#[doc(hidden)]
2812impl FromGlib<ffi::GPasswordSave> for PasswordSave {
2813    #[inline]
2814    unsafe fn from_glib(value: ffi::GPasswordSave) -> Self {
2815        match value {
2816            ffi::G_PASSWORD_SAVE_NEVER => Self::Never,
2817            ffi::G_PASSWORD_SAVE_FOR_SESSION => Self::ForSession,
2818            ffi::G_PASSWORD_SAVE_PERMANENTLY => Self::Permanently,
2819            value => Self::__Unknown(value),
2820        }
2821    }
2822}
2823
2824impl StaticType for PasswordSave {
2825    #[inline]
2826    #[doc(alias = "g_password_save_get_type")]
2827    fn static_type() -> glib::Type {
2828        unsafe { from_glib(ffi::g_password_save_get_type()) }
2829    }
2830}
2831
2832impl glib::HasParamSpec for PasswordSave {
2833    type ParamSpec = glib::ParamSpecEnum;
2834    type SetValue = Self;
2835    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2836
2837    fn param_spec_builder() -> Self::BuilderFn {
2838        Self::ParamSpec::builder_with_default
2839    }
2840}
2841
2842impl glib::value::ValueType for PasswordSave {
2843    type Type = Self;
2844}
2845
2846unsafe impl<'a> glib::value::FromValue<'a> for PasswordSave {
2847    type Checker = glib::value::GenericValueTypeChecker<Self>;
2848
2849    #[inline]
2850    unsafe fn from_value(value: &'a glib::Value) -> Self {
2851        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2852    }
2853}
2854
2855impl ToValue for PasswordSave {
2856    #[inline]
2857    fn to_value(&self) -> glib::Value {
2858        let mut value = glib::Value::for_value_type::<Self>();
2859        unsafe {
2860            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2861        }
2862        value
2863    }
2864
2865    #[inline]
2866    fn value_type(&self) -> glib::Type {
2867        Self::static_type()
2868    }
2869}
2870
2871impl From<PasswordSave> for glib::Value {
2872    #[inline]
2873    fn from(v: PasswordSave) -> Self {
2874        ToValue::to_value(&v)
2875    }
2876}
2877
2878#[cfg(feature = "v2_60")]
2879#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2880#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2881#[non_exhaustive]
2882#[doc(alias = "GPollableReturn")]
2883pub enum PollableReturn {
2884    #[doc(alias = "G_POLLABLE_RETURN_FAILED")]
2885    Failed,
2886    #[doc(alias = "G_POLLABLE_RETURN_OK")]
2887    Ok,
2888    #[doc(alias = "G_POLLABLE_RETURN_WOULD_BLOCK")]
2889    WouldBlock,
2890    #[doc(hidden)]
2891    __Unknown(i32),
2892}
2893
2894#[cfg(feature = "v2_60")]
2895#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2896#[doc(hidden)]
2897impl IntoGlib for PollableReturn {
2898    type GlibType = ffi::GPollableReturn;
2899
2900    #[inline]
2901    fn into_glib(self) -> ffi::GPollableReturn {
2902        match self {
2903            Self::Failed => ffi::G_POLLABLE_RETURN_FAILED,
2904            Self::Ok => ffi::G_POLLABLE_RETURN_OK,
2905            Self::WouldBlock => ffi::G_POLLABLE_RETURN_WOULD_BLOCK,
2906            Self::__Unknown(value) => value,
2907        }
2908    }
2909}
2910
2911#[cfg(feature = "v2_60")]
2912#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2913#[doc(hidden)]
2914impl FromGlib<ffi::GPollableReturn> for PollableReturn {
2915    #[inline]
2916    unsafe fn from_glib(value: ffi::GPollableReturn) -> Self {
2917        match value {
2918            ffi::G_POLLABLE_RETURN_FAILED => Self::Failed,
2919            ffi::G_POLLABLE_RETURN_OK => Self::Ok,
2920            ffi::G_POLLABLE_RETURN_WOULD_BLOCK => Self::WouldBlock,
2921            value => Self::__Unknown(value),
2922        }
2923    }
2924}
2925
2926#[cfg(feature = "v2_60")]
2927#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2928impl StaticType for PollableReturn {
2929    #[inline]
2930    #[doc(alias = "g_pollable_return_get_type")]
2931    fn static_type() -> glib::Type {
2932        unsafe { from_glib(ffi::g_pollable_return_get_type()) }
2933    }
2934}
2935
2936#[cfg(feature = "v2_60")]
2937#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2938impl glib::HasParamSpec for PollableReturn {
2939    type ParamSpec = glib::ParamSpecEnum;
2940    type SetValue = Self;
2941    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2942
2943    fn param_spec_builder() -> Self::BuilderFn {
2944        Self::ParamSpec::builder_with_default
2945    }
2946}
2947
2948#[cfg(feature = "v2_60")]
2949#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2950impl glib::value::ValueType for PollableReturn {
2951    type Type = Self;
2952}
2953
2954#[cfg(feature = "v2_60")]
2955#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2956unsafe impl<'a> glib::value::FromValue<'a> for PollableReturn {
2957    type Checker = glib::value::GenericValueTypeChecker<Self>;
2958
2959    #[inline]
2960    unsafe fn from_value(value: &'a glib::Value) -> Self {
2961        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2962    }
2963}
2964
2965#[cfg(feature = "v2_60")]
2966#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2967impl ToValue for PollableReturn {
2968    #[inline]
2969    fn to_value(&self) -> glib::Value {
2970        let mut value = glib::Value::for_value_type::<Self>();
2971        unsafe {
2972            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2973        }
2974        value
2975    }
2976
2977    #[inline]
2978    fn value_type(&self) -> glib::Type {
2979        Self::static_type()
2980    }
2981}
2982
2983#[cfg(feature = "v2_60")]
2984#[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
2985impl From<PollableReturn> for glib::Value {
2986    #[inline]
2987    fn from(v: PollableReturn) -> Self {
2988        ToValue::to_value(&v)
2989    }
2990}
2991
2992#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2993#[non_exhaustive]
2994#[doc(alias = "GResolverError")]
2995pub enum ResolverError {
2996    #[doc(alias = "G_RESOLVER_ERROR_NOT_FOUND")]
2997    NotFound,
2998    #[doc(alias = "G_RESOLVER_ERROR_TEMPORARY_FAILURE")]
2999    TemporaryFailure,
3000    #[doc(alias = "G_RESOLVER_ERROR_INTERNAL")]
3001    Internal,
3002    #[doc(hidden)]
3003    __Unknown(i32),
3004}
3005
3006#[doc(hidden)]
3007impl IntoGlib for ResolverError {
3008    type GlibType = ffi::GResolverError;
3009
3010    #[inline]
3011    fn into_glib(self) -> ffi::GResolverError {
3012        match self {
3013            Self::NotFound => ffi::G_RESOLVER_ERROR_NOT_FOUND,
3014            Self::TemporaryFailure => ffi::G_RESOLVER_ERROR_TEMPORARY_FAILURE,
3015            Self::Internal => ffi::G_RESOLVER_ERROR_INTERNAL,
3016            Self::__Unknown(value) => value,
3017        }
3018    }
3019}
3020
3021#[doc(hidden)]
3022impl FromGlib<ffi::GResolverError> for ResolverError {
3023    #[inline]
3024    unsafe fn from_glib(value: ffi::GResolverError) -> Self {
3025        match value {
3026            ffi::G_RESOLVER_ERROR_NOT_FOUND => Self::NotFound,
3027            ffi::G_RESOLVER_ERROR_TEMPORARY_FAILURE => Self::TemporaryFailure,
3028            ffi::G_RESOLVER_ERROR_INTERNAL => Self::Internal,
3029            value => Self::__Unknown(value),
3030        }
3031    }
3032}
3033
3034impl glib::error::ErrorDomain for ResolverError {
3035    #[inline]
3036    fn domain() -> glib::Quark {
3037        unsafe { from_glib(ffi::g_resolver_error_quark()) }
3038    }
3039
3040    #[inline]
3041    fn code(self) -> i32 {
3042        self.into_glib()
3043    }
3044
3045    #[inline]
3046    #[allow(clippy::match_single_binding)]
3047    fn from(code: i32) -> Option<Self> {
3048        match unsafe { from_glib(code) } {
3049            value => Some(value),
3050        }
3051    }
3052}
3053
3054impl StaticType for ResolverError {
3055    #[inline]
3056    #[doc(alias = "g_resolver_error_get_type")]
3057    fn static_type() -> glib::Type {
3058        unsafe { from_glib(ffi::g_resolver_error_get_type()) }
3059    }
3060}
3061
3062impl glib::HasParamSpec for ResolverError {
3063    type ParamSpec = glib::ParamSpecEnum;
3064    type SetValue = Self;
3065    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3066
3067    fn param_spec_builder() -> Self::BuilderFn {
3068        Self::ParamSpec::builder_with_default
3069    }
3070}
3071
3072impl glib::value::ValueType for ResolverError {
3073    type Type = Self;
3074}
3075
3076unsafe impl<'a> glib::value::FromValue<'a> for ResolverError {
3077    type Checker = glib::value::GenericValueTypeChecker<Self>;
3078
3079    #[inline]
3080    unsafe fn from_value(value: &'a glib::Value) -> Self {
3081        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3082    }
3083}
3084
3085impl ToValue for ResolverError {
3086    #[inline]
3087    fn to_value(&self) -> glib::Value {
3088        let mut value = glib::Value::for_value_type::<Self>();
3089        unsafe {
3090            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3091        }
3092        value
3093    }
3094
3095    #[inline]
3096    fn value_type(&self) -> glib::Type {
3097        Self::static_type()
3098    }
3099}
3100
3101impl From<ResolverError> for glib::Value {
3102    #[inline]
3103    fn from(v: ResolverError) -> Self {
3104        ToValue::to_value(&v)
3105    }
3106}
3107
3108#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3109#[non_exhaustive]
3110#[doc(alias = "GResolverRecordType")]
3111pub enum ResolverRecordType {
3112    #[doc(alias = "G_RESOLVER_RECORD_SRV")]
3113    Srv,
3114    #[doc(alias = "G_RESOLVER_RECORD_MX")]
3115    Mx,
3116    #[doc(alias = "G_RESOLVER_RECORD_TXT")]
3117    Txt,
3118    #[doc(alias = "G_RESOLVER_RECORD_SOA")]
3119    Soa,
3120    #[doc(alias = "G_RESOLVER_RECORD_NS")]
3121    Ns,
3122    #[doc(hidden)]
3123    __Unknown(i32),
3124}
3125
3126#[doc(hidden)]
3127impl IntoGlib for ResolverRecordType {
3128    type GlibType = ffi::GResolverRecordType;
3129
3130    #[inline]
3131    fn into_glib(self) -> ffi::GResolverRecordType {
3132        match self {
3133            Self::Srv => ffi::G_RESOLVER_RECORD_SRV,
3134            Self::Mx => ffi::G_RESOLVER_RECORD_MX,
3135            Self::Txt => ffi::G_RESOLVER_RECORD_TXT,
3136            Self::Soa => ffi::G_RESOLVER_RECORD_SOA,
3137            Self::Ns => ffi::G_RESOLVER_RECORD_NS,
3138            Self::__Unknown(value) => value,
3139        }
3140    }
3141}
3142
3143#[doc(hidden)]
3144impl FromGlib<ffi::GResolverRecordType> for ResolverRecordType {
3145    #[inline]
3146    unsafe fn from_glib(value: ffi::GResolverRecordType) -> Self {
3147        match value {
3148            ffi::G_RESOLVER_RECORD_SRV => Self::Srv,
3149            ffi::G_RESOLVER_RECORD_MX => Self::Mx,
3150            ffi::G_RESOLVER_RECORD_TXT => Self::Txt,
3151            ffi::G_RESOLVER_RECORD_SOA => Self::Soa,
3152            ffi::G_RESOLVER_RECORD_NS => Self::Ns,
3153            value => Self::__Unknown(value),
3154        }
3155    }
3156}
3157
3158impl StaticType for ResolverRecordType {
3159    #[inline]
3160    #[doc(alias = "g_resolver_record_type_get_type")]
3161    fn static_type() -> glib::Type {
3162        unsafe { from_glib(ffi::g_resolver_record_type_get_type()) }
3163    }
3164}
3165
3166impl glib::HasParamSpec for ResolverRecordType {
3167    type ParamSpec = glib::ParamSpecEnum;
3168    type SetValue = Self;
3169    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3170
3171    fn param_spec_builder() -> Self::BuilderFn {
3172        Self::ParamSpec::builder_with_default
3173    }
3174}
3175
3176impl glib::value::ValueType for ResolverRecordType {
3177    type Type = Self;
3178}
3179
3180unsafe impl<'a> glib::value::FromValue<'a> for ResolverRecordType {
3181    type Checker = glib::value::GenericValueTypeChecker<Self>;
3182
3183    #[inline]
3184    unsafe fn from_value(value: &'a glib::Value) -> Self {
3185        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3186    }
3187}
3188
3189impl ToValue for ResolverRecordType {
3190    #[inline]
3191    fn to_value(&self) -> glib::Value {
3192        let mut value = glib::Value::for_value_type::<Self>();
3193        unsafe {
3194            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3195        }
3196        value
3197    }
3198
3199    #[inline]
3200    fn value_type(&self) -> glib::Type {
3201        Self::static_type()
3202    }
3203}
3204
3205impl From<ResolverRecordType> for glib::Value {
3206    #[inline]
3207    fn from(v: ResolverRecordType) -> Self {
3208        ToValue::to_value(&v)
3209    }
3210}
3211
3212#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3213#[non_exhaustive]
3214#[doc(alias = "GResourceError")]
3215pub enum ResourceError {
3216    #[doc(alias = "G_RESOURCE_ERROR_NOT_FOUND")]
3217    NotFound,
3218    #[doc(alias = "G_RESOURCE_ERROR_INTERNAL")]
3219    Internal,
3220    #[doc(hidden)]
3221    __Unknown(i32),
3222}
3223
3224#[doc(hidden)]
3225impl IntoGlib for ResourceError {
3226    type GlibType = ffi::GResourceError;
3227
3228    #[inline]
3229    fn into_glib(self) -> ffi::GResourceError {
3230        match self {
3231            Self::NotFound => ffi::G_RESOURCE_ERROR_NOT_FOUND,
3232            Self::Internal => ffi::G_RESOURCE_ERROR_INTERNAL,
3233            Self::__Unknown(value) => value,
3234        }
3235    }
3236}
3237
3238#[doc(hidden)]
3239impl FromGlib<ffi::GResourceError> for ResourceError {
3240    #[inline]
3241    unsafe fn from_glib(value: ffi::GResourceError) -> Self {
3242        match value {
3243            ffi::G_RESOURCE_ERROR_NOT_FOUND => Self::NotFound,
3244            ffi::G_RESOURCE_ERROR_INTERNAL => Self::Internal,
3245            value => Self::__Unknown(value),
3246        }
3247    }
3248}
3249
3250impl glib::error::ErrorDomain for ResourceError {
3251    #[inline]
3252    fn domain() -> glib::Quark {
3253        unsafe { from_glib(ffi::g_resource_error_quark()) }
3254    }
3255
3256    #[inline]
3257    fn code(self) -> i32 {
3258        self.into_glib()
3259    }
3260
3261    #[inline]
3262    #[allow(clippy::match_single_binding)]
3263    fn from(code: i32) -> Option<Self> {
3264        match unsafe { from_glib(code) } {
3265            value => Some(value),
3266        }
3267    }
3268}
3269
3270impl StaticType for ResourceError {
3271    #[inline]
3272    #[doc(alias = "g_resource_error_get_type")]
3273    fn static_type() -> glib::Type {
3274        unsafe { from_glib(ffi::g_resource_error_get_type()) }
3275    }
3276}
3277
3278impl glib::HasParamSpec for ResourceError {
3279    type ParamSpec = glib::ParamSpecEnum;
3280    type SetValue = Self;
3281    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3282
3283    fn param_spec_builder() -> Self::BuilderFn {
3284        Self::ParamSpec::builder_with_default
3285    }
3286}
3287
3288impl glib::value::ValueType for ResourceError {
3289    type Type = Self;
3290}
3291
3292unsafe impl<'a> glib::value::FromValue<'a> for ResourceError {
3293    type Checker = glib::value::GenericValueTypeChecker<Self>;
3294
3295    #[inline]
3296    unsafe fn from_value(value: &'a glib::Value) -> Self {
3297        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3298    }
3299}
3300
3301impl ToValue for ResourceError {
3302    #[inline]
3303    fn to_value(&self) -> glib::Value {
3304        let mut value = glib::Value::for_value_type::<Self>();
3305        unsafe {
3306            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3307        }
3308        value
3309    }
3310
3311    #[inline]
3312    fn value_type(&self) -> glib::Type {
3313        Self::static_type()
3314    }
3315}
3316
3317impl From<ResourceError> for glib::Value {
3318    #[inline]
3319    fn from(v: ResourceError) -> Self {
3320        ToValue::to_value(&v)
3321    }
3322}
3323
3324#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3325#[non_exhaustive]
3326#[doc(alias = "GSocketClientEvent")]
3327pub enum SocketClientEvent {
3328    #[doc(alias = "G_SOCKET_CLIENT_RESOLVING")]
3329    Resolving,
3330    #[doc(alias = "G_SOCKET_CLIENT_RESOLVED")]
3331    Resolved,
3332    #[doc(alias = "G_SOCKET_CLIENT_CONNECTING")]
3333    Connecting,
3334    #[doc(alias = "G_SOCKET_CLIENT_CONNECTED")]
3335    Connected,
3336    #[doc(alias = "G_SOCKET_CLIENT_PROXY_NEGOTIATING")]
3337    ProxyNegotiating,
3338    #[doc(alias = "G_SOCKET_CLIENT_PROXY_NEGOTIATED")]
3339    ProxyNegotiated,
3340    #[doc(alias = "G_SOCKET_CLIENT_TLS_HANDSHAKING")]
3341    TlsHandshaking,
3342    #[doc(alias = "G_SOCKET_CLIENT_TLS_HANDSHAKED")]
3343    TlsHandshaked,
3344    #[doc(alias = "G_SOCKET_CLIENT_COMPLETE")]
3345    Complete,
3346    #[doc(hidden)]
3347    __Unknown(i32),
3348}
3349
3350#[doc(hidden)]
3351impl IntoGlib for SocketClientEvent {
3352    type GlibType = ffi::GSocketClientEvent;
3353
3354    #[inline]
3355    fn into_glib(self) -> ffi::GSocketClientEvent {
3356        match self {
3357            Self::Resolving => ffi::G_SOCKET_CLIENT_RESOLVING,
3358            Self::Resolved => ffi::G_SOCKET_CLIENT_RESOLVED,
3359            Self::Connecting => ffi::G_SOCKET_CLIENT_CONNECTING,
3360            Self::Connected => ffi::G_SOCKET_CLIENT_CONNECTED,
3361            Self::ProxyNegotiating => ffi::G_SOCKET_CLIENT_PROXY_NEGOTIATING,
3362            Self::ProxyNegotiated => ffi::G_SOCKET_CLIENT_PROXY_NEGOTIATED,
3363            Self::TlsHandshaking => ffi::G_SOCKET_CLIENT_TLS_HANDSHAKING,
3364            Self::TlsHandshaked => ffi::G_SOCKET_CLIENT_TLS_HANDSHAKED,
3365            Self::Complete => ffi::G_SOCKET_CLIENT_COMPLETE,
3366            Self::__Unknown(value) => value,
3367        }
3368    }
3369}
3370
3371#[doc(hidden)]
3372impl FromGlib<ffi::GSocketClientEvent> for SocketClientEvent {
3373    #[inline]
3374    unsafe fn from_glib(value: ffi::GSocketClientEvent) -> Self {
3375        match value {
3376            ffi::G_SOCKET_CLIENT_RESOLVING => Self::Resolving,
3377            ffi::G_SOCKET_CLIENT_RESOLVED => Self::Resolved,
3378            ffi::G_SOCKET_CLIENT_CONNECTING => Self::Connecting,
3379            ffi::G_SOCKET_CLIENT_CONNECTED => Self::Connected,
3380            ffi::G_SOCKET_CLIENT_PROXY_NEGOTIATING => Self::ProxyNegotiating,
3381            ffi::G_SOCKET_CLIENT_PROXY_NEGOTIATED => Self::ProxyNegotiated,
3382            ffi::G_SOCKET_CLIENT_TLS_HANDSHAKING => Self::TlsHandshaking,
3383            ffi::G_SOCKET_CLIENT_TLS_HANDSHAKED => Self::TlsHandshaked,
3384            ffi::G_SOCKET_CLIENT_COMPLETE => Self::Complete,
3385            value => Self::__Unknown(value),
3386        }
3387    }
3388}
3389
3390impl StaticType for SocketClientEvent {
3391    #[inline]
3392    #[doc(alias = "g_socket_client_event_get_type")]
3393    fn static_type() -> glib::Type {
3394        unsafe { from_glib(ffi::g_socket_client_event_get_type()) }
3395    }
3396}
3397
3398impl glib::HasParamSpec for SocketClientEvent {
3399    type ParamSpec = glib::ParamSpecEnum;
3400    type SetValue = Self;
3401    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3402
3403    fn param_spec_builder() -> Self::BuilderFn {
3404        Self::ParamSpec::builder_with_default
3405    }
3406}
3407
3408impl glib::value::ValueType for SocketClientEvent {
3409    type Type = Self;
3410}
3411
3412unsafe impl<'a> glib::value::FromValue<'a> for SocketClientEvent {
3413    type Checker = glib::value::GenericValueTypeChecker<Self>;
3414
3415    #[inline]
3416    unsafe fn from_value(value: &'a glib::Value) -> Self {
3417        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3418    }
3419}
3420
3421impl ToValue for SocketClientEvent {
3422    #[inline]
3423    fn to_value(&self) -> glib::Value {
3424        let mut value = glib::Value::for_value_type::<Self>();
3425        unsafe {
3426            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3427        }
3428        value
3429    }
3430
3431    #[inline]
3432    fn value_type(&self) -> glib::Type {
3433        Self::static_type()
3434    }
3435}
3436
3437impl From<SocketClientEvent> for glib::Value {
3438    #[inline]
3439    fn from(v: SocketClientEvent) -> Self {
3440        ToValue::to_value(&v)
3441    }
3442}
3443
3444#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3445#[non_exhaustive]
3446#[doc(alias = "GSocketFamily")]
3447pub enum SocketFamily {
3448    #[doc(alias = "G_SOCKET_FAMILY_INVALID")]
3449    Invalid,
3450    #[doc(alias = "G_SOCKET_FAMILY_UNIX")]
3451    Unix,
3452    #[doc(alias = "G_SOCKET_FAMILY_IPV4")]
3453    Ipv4,
3454    #[doc(alias = "G_SOCKET_FAMILY_IPV6")]
3455    Ipv6,
3456    #[doc(hidden)]
3457    __Unknown(i32),
3458}
3459
3460#[doc(hidden)]
3461impl IntoGlib for SocketFamily {
3462    type GlibType = ffi::GSocketFamily;
3463
3464    #[inline]
3465    fn into_glib(self) -> ffi::GSocketFamily {
3466        match self {
3467            Self::Invalid => ffi::G_SOCKET_FAMILY_INVALID,
3468            Self::Unix => ffi::G_SOCKET_FAMILY_UNIX,
3469            Self::Ipv4 => ffi::G_SOCKET_FAMILY_IPV4,
3470            Self::Ipv6 => ffi::G_SOCKET_FAMILY_IPV6,
3471            Self::__Unknown(value) => value,
3472        }
3473    }
3474}
3475
3476#[doc(hidden)]
3477impl FromGlib<ffi::GSocketFamily> for SocketFamily {
3478    #[inline]
3479    unsafe fn from_glib(value: ffi::GSocketFamily) -> Self {
3480        match value {
3481            ffi::G_SOCKET_FAMILY_INVALID => Self::Invalid,
3482            ffi::G_SOCKET_FAMILY_UNIX => Self::Unix,
3483            ffi::G_SOCKET_FAMILY_IPV4 => Self::Ipv4,
3484            ffi::G_SOCKET_FAMILY_IPV6 => Self::Ipv6,
3485            value => Self::__Unknown(value),
3486        }
3487    }
3488}
3489
3490impl StaticType for SocketFamily {
3491    #[inline]
3492    #[doc(alias = "g_socket_family_get_type")]
3493    fn static_type() -> glib::Type {
3494        unsafe { from_glib(ffi::g_socket_family_get_type()) }
3495    }
3496}
3497
3498impl glib::HasParamSpec for SocketFamily {
3499    type ParamSpec = glib::ParamSpecEnum;
3500    type SetValue = Self;
3501    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3502
3503    fn param_spec_builder() -> Self::BuilderFn {
3504        Self::ParamSpec::builder_with_default
3505    }
3506}
3507
3508impl glib::value::ValueType for SocketFamily {
3509    type Type = Self;
3510}
3511
3512unsafe impl<'a> glib::value::FromValue<'a> for SocketFamily {
3513    type Checker = glib::value::GenericValueTypeChecker<Self>;
3514
3515    #[inline]
3516    unsafe fn from_value(value: &'a glib::Value) -> Self {
3517        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3518    }
3519}
3520
3521impl ToValue for SocketFamily {
3522    #[inline]
3523    fn to_value(&self) -> glib::Value {
3524        let mut value = glib::Value::for_value_type::<Self>();
3525        unsafe {
3526            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3527        }
3528        value
3529    }
3530
3531    #[inline]
3532    fn value_type(&self) -> glib::Type {
3533        Self::static_type()
3534    }
3535}
3536
3537impl From<SocketFamily> for glib::Value {
3538    #[inline]
3539    fn from(v: SocketFamily) -> Self {
3540        ToValue::to_value(&v)
3541    }
3542}
3543
3544#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3545#[non_exhaustive]
3546#[doc(alias = "GSocketListenerEvent")]
3547pub enum SocketListenerEvent {
3548    #[doc(alias = "G_SOCKET_LISTENER_BINDING")]
3549    Binding,
3550    #[doc(alias = "G_SOCKET_LISTENER_BOUND")]
3551    Bound,
3552    #[doc(alias = "G_SOCKET_LISTENER_LISTENING")]
3553    Listening,
3554    #[doc(alias = "G_SOCKET_LISTENER_LISTENED")]
3555    Listened,
3556    #[doc(hidden)]
3557    __Unknown(i32),
3558}
3559
3560#[doc(hidden)]
3561impl IntoGlib for SocketListenerEvent {
3562    type GlibType = ffi::GSocketListenerEvent;
3563
3564    #[inline]
3565    fn into_glib(self) -> ffi::GSocketListenerEvent {
3566        match self {
3567            Self::Binding => ffi::G_SOCKET_LISTENER_BINDING,
3568            Self::Bound => ffi::G_SOCKET_LISTENER_BOUND,
3569            Self::Listening => ffi::G_SOCKET_LISTENER_LISTENING,
3570            Self::Listened => ffi::G_SOCKET_LISTENER_LISTENED,
3571            Self::__Unknown(value) => value,
3572        }
3573    }
3574}
3575
3576#[doc(hidden)]
3577impl FromGlib<ffi::GSocketListenerEvent> for SocketListenerEvent {
3578    #[inline]
3579    unsafe fn from_glib(value: ffi::GSocketListenerEvent) -> Self {
3580        match value {
3581            ffi::G_SOCKET_LISTENER_BINDING => Self::Binding,
3582            ffi::G_SOCKET_LISTENER_BOUND => Self::Bound,
3583            ffi::G_SOCKET_LISTENER_LISTENING => Self::Listening,
3584            ffi::G_SOCKET_LISTENER_LISTENED => Self::Listened,
3585            value => Self::__Unknown(value),
3586        }
3587    }
3588}
3589
3590impl StaticType for SocketListenerEvent {
3591    #[inline]
3592    #[doc(alias = "g_socket_listener_event_get_type")]
3593    fn static_type() -> glib::Type {
3594        unsafe { from_glib(ffi::g_socket_listener_event_get_type()) }
3595    }
3596}
3597
3598impl glib::HasParamSpec for SocketListenerEvent {
3599    type ParamSpec = glib::ParamSpecEnum;
3600    type SetValue = Self;
3601    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3602
3603    fn param_spec_builder() -> Self::BuilderFn {
3604        Self::ParamSpec::builder_with_default
3605    }
3606}
3607
3608impl glib::value::ValueType for SocketListenerEvent {
3609    type Type = Self;
3610}
3611
3612unsafe impl<'a> glib::value::FromValue<'a> for SocketListenerEvent {
3613    type Checker = glib::value::GenericValueTypeChecker<Self>;
3614
3615    #[inline]
3616    unsafe fn from_value(value: &'a glib::Value) -> Self {
3617        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3618    }
3619}
3620
3621impl ToValue for SocketListenerEvent {
3622    #[inline]
3623    fn to_value(&self) -> glib::Value {
3624        let mut value = glib::Value::for_value_type::<Self>();
3625        unsafe {
3626            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3627        }
3628        value
3629    }
3630
3631    #[inline]
3632    fn value_type(&self) -> glib::Type {
3633        Self::static_type()
3634    }
3635}
3636
3637impl From<SocketListenerEvent> for glib::Value {
3638    #[inline]
3639    fn from(v: SocketListenerEvent) -> Self {
3640        ToValue::to_value(&v)
3641    }
3642}
3643
3644#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3645#[non_exhaustive]
3646#[doc(alias = "GSocketProtocol")]
3647pub enum SocketProtocol {
3648    #[doc(alias = "G_SOCKET_PROTOCOL_UNKNOWN")]
3649    Unknown,
3650    #[doc(alias = "G_SOCKET_PROTOCOL_DEFAULT")]
3651    Default,
3652    #[doc(alias = "G_SOCKET_PROTOCOL_TCP")]
3653    Tcp,
3654    #[doc(alias = "G_SOCKET_PROTOCOL_UDP")]
3655    Udp,
3656    #[doc(alias = "G_SOCKET_PROTOCOL_SCTP")]
3657    Sctp,
3658    #[doc(hidden)]
3659    __Unknown(i32),
3660}
3661
3662#[doc(hidden)]
3663impl IntoGlib for SocketProtocol {
3664    type GlibType = ffi::GSocketProtocol;
3665
3666    #[inline]
3667    fn into_glib(self) -> ffi::GSocketProtocol {
3668        match self {
3669            Self::Unknown => ffi::G_SOCKET_PROTOCOL_UNKNOWN,
3670            Self::Default => ffi::G_SOCKET_PROTOCOL_DEFAULT,
3671            Self::Tcp => ffi::G_SOCKET_PROTOCOL_TCP,
3672            Self::Udp => ffi::G_SOCKET_PROTOCOL_UDP,
3673            Self::Sctp => ffi::G_SOCKET_PROTOCOL_SCTP,
3674            Self::__Unknown(value) => value,
3675        }
3676    }
3677}
3678
3679#[doc(hidden)]
3680impl FromGlib<ffi::GSocketProtocol> for SocketProtocol {
3681    #[inline]
3682    unsafe fn from_glib(value: ffi::GSocketProtocol) -> Self {
3683        match value {
3684            ffi::G_SOCKET_PROTOCOL_UNKNOWN => Self::Unknown,
3685            ffi::G_SOCKET_PROTOCOL_DEFAULT => Self::Default,
3686            ffi::G_SOCKET_PROTOCOL_TCP => Self::Tcp,
3687            ffi::G_SOCKET_PROTOCOL_UDP => Self::Udp,
3688            ffi::G_SOCKET_PROTOCOL_SCTP => Self::Sctp,
3689            value => Self::__Unknown(value),
3690        }
3691    }
3692}
3693
3694impl StaticType for SocketProtocol {
3695    #[inline]
3696    #[doc(alias = "g_socket_protocol_get_type")]
3697    fn static_type() -> glib::Type {
3698        unsafe { from_glib(ffi::g_socket_protocol_get_type()) }
3699    }
3700}
3701
3702impl glib::HasParamSpec for SocketProtocol {
3703    type ParamSpec = glib::ParamSpecEnum;
3704    type SetValue = Self;
3705    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3706
3707    fn param_spec_builder() -> Self::BuilderFn {
3708        Self::ParamSpec::builder_with_default
3709    }
3710}
3711
3712impl glib::value::ValueType for SocketProtocol {
3713    type Type = Self;
3714}
3715
3716unsafe impl<'a> glib::value::FromValue<'a> for SocketProtocol {
3717    type Checker = glib::value::GenericValueTypeChecker<Self>;
3718
3719    #[inline]
3720    unsafe fn from_value(value: &'a glib::Value) -> Self {
3721        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3722    }
3723}
3724
3725impl ToValue for SocketProtocol {
3726    #[inline]
3727    fn to_value(&self) -> glib::Value {
3728        let mut value = glib::Value::for_value_type::<Self>();
3729        unsafe {
3730            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3731        }
3732        value
3733    }
3734
3735    #[inline]
3736    fn value_type(&self) -> glib::Type {
3737        Self::static_type()
3738    }
3739}
3740
3741impl From<SocketProtocol> for glib::Value {
3742    #[inline]
3743    fn from(v: SocketProtocol) -> Self {
3744        ToValue::to_value(&v)
3745    }
3746}
3747
3748#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3749#[non_exhaustive]
3750#[doc(alias = "GSocketType")]
3751pub enum SocketType {
3752    #[doc(alias = "G_SOCKET_TYPE_INVALID")]
3753    Invalid,
3754    #[doc(alias = "G_SOCKET_TYPE_STREAM")]
3755    Stream,
3756    #[doc(alias = "G_SOCKET_TYPE_DATAGRAM")]
3757    Datagram,
3758    #[doc(alias = "G_SOCKET_TYPE_SEQPACKET")]
3759    Seqpacket,
3760    #[doc(hidden)]
3761    __Unknown(i32),
3762}
3763
3764#[doc(hidden)]
3765impl IntoGlib for SocketType {
3766    type GlibType = ffi::GSocketType;
3767
3768    #[inline]
3769    fn into_glib(self) -> ffi::GSocketType {
3770        match self {
3771            Self::Invalid => ffi::G_SOCKET_TYPE_INVALID,
3772            Self::Stream => ffi::G_SOCKET_TYPE_STREAM,
3773            Self::Datagram => ffi::G_SOCKET_TYPE_DATAGRAM,
3774            Self::Seqpacket => ffi::G_SOCKET_TYPE_SEQPACKET,
3775            Self::__Unknown(value) => value,
3776        }
3777    }
3778}
3779
3780#[doc(hidden)]
3781impl FromGlib<ffi::GSocketType> for SocketType {
3782    #[inline]
3783    unsafe fn from_glib(value: ffi::GSocketType) -> Self {
3784        match value {
3785            ffi::G_SOCKET_TYPE_INVALID => Self::Invalid,
3786            ffi::G_SOCKET_TYPE_STREAM => Self::Stream,
3787            ffi::G_SOCKET_TYPE_DATAGRAM => Self::Datagram,
3788            ffi::G_SOCKET_TYPE_SEQPACKET => Self::Seqpacket,
3789            value => Self::__Unknown(value),
3790        }
3791    }
3792}
3793
3794impl StaticType for SocketType {
3795    #[inline]
3796    #[doc(alias = "g_socket_type_get_type")]
3797    fn static_type() -> glib::Type {
3798        unsafe { from_glib(ffi::g_socket_type_get_type()) }
3799    }
3800}
3801
3802impl glib::HasParamSpec for SocketType {
3803    type ParamSpec = glib::ParamSpecEnum;
3804    type SetValue = Self;
3805    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3806
3807    fn param_spec_builder() -> Self::BuilderFn {
3808        Self::ParamSpec::builder_with_default
3809    }
3810}
3811
3812impl glib::value::ValueType for SocketType {
3813    type Type = Self;
3814}
3815
3816unsafe impl<'a> glib::value::FromValue<'a> for SocketType {
3817    type Checker = glib::value::GenericValueTypeChecker<Self>;
3818
3819    #[inline]
3820    unsafe fn from_value(value: &'a glib::Value) -> Self {
3821        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3822    }
3823}
3824
3825impl ToValue for SocketType {
3826    #[inline]
3827    fn to_value(&self) -> glib::Value {
3828        let mut value = glib::Value::for_value_type::<Self>();
3829        unsafe {
3830            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3831        }
3832        value
3833    }
3834
3835    #[inline]
3836    fn value_type(&self) -> glib::Type {
3837        Self::static_type()
3838    }
3839}
3840
3841impl From<SocketType> for glib::Value {
3842    #[inline]
3843    fn from(v: SocketType) -> Self {
3844        ToValue::to_value(&v)
3845    }
3846}
3847
3848#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3849#[non_exhaustive]
3850#[doc(alias = "GTlsAuthenticationMode")]
3851pub enum TlsAuthenticationMode {
3852    #[doc(alias = "G_TLS_AUTHENTICATION_NONE")]
3853    None,
3854    #[doc(alias = "G_TLS_AUTHENTICATION_REQUESTED")]
3855    Requested,
3856    #[doc(alias = "G_TLS_AUTHENTICATION_REQUIRED")]
3857    Required,
3858    #[doc(hidden)]
3859    __Unknown(i32),
3860}
3861
3862#[doc(hidden)]
3863impl IntoGlib for TlsAuthenticationMode {
3864    type GlibType = ffi::GTlsAuthenticationMode;
3865
3866    #[inline]
3867    fn into_glib(self) -> ffi::GTlsAuthenticationMode {
3868        match self {
3869            Self::None => ffi::G_TLS_AUTHENTICATION_NONE,
3870            Self::Requested => ffi::G_TLS_AUTHENTICATION_REQUESTED,
3871            Self::Required => ffi::G_TLS_AUTHENTICATION_REQUIRED,
3872            Self::__Unknown(value) => value,
3873        }
3874    }
3875}
3876
3877#[doc(hidden)]
3878impl FromGlib<ffi::GTlsAuthenticationMode> for TlsAuthenticationMode {
3879    #[inline]
3880    unsafe fn from_glib(value: ffi::GTlsAuthenticationMode) -> Self {
3881        match value {
3882            ffi::G_TLS_AUTHENTICATION_NONE => Self::None,
3883            ffi::G_TLS_AUTHENTICATION_REQUESTED => Self::Requested,
3884            ffi::G_TLS_AUTHENTICATION_REQUIRED => Self::Required,
3885            value => Self::__Unknown(value),
3886        }
3887    }
3888}
3889
3890impl StaticType for TlsAuthenticationMode {
3891    #[inline]
3892    #[doc(alias = "g_tls_authentication_mode_get_type")]
3893    fn static_type() -> glib::Type {
3894        unsafe { from_glib(ffi::g_tls_authentication_mode_get_type()) }
3895    }
3896}
3897
3898impl glib::HasParamSpec for TlsAuthenticationMode {
3899    type ParamSpec = glib::ParamSpecEnum;
3900    type SetValue = Self;
3901    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3902
3903    fn param_spec_builder() -> Self::BuilderFn {
3904        Self::ParamSpec::builder_with_default
3905    }
3906}
3907
3908impl glib::value::ValueType for TlsAuthenticationMode {
3909    type Type = Self;
3910}
3911
3912unsafe impl<'a> glib::value::FromValue<'a> for TlsAuthenticationMode {
3913    type Checker = glib::value::GenericValueTypeChecker<Self>;
3914
3915    #[inline]
3916    unsafe fn from_value(value: &'a glib::Value) -> Self {
3917        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3918    }
3919}
3920
3921impl ToValue for TlsAuthenticationMode {
3922    #[inline]
3923    fn to_value(&self) -> glib::Value {
3924        let mut value = glib::Value::for_value_type::<Self>();
3925        unsafe {
3926            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3927        }
3928        value
3929    }
3930
3931    #[inline]
3932    fn value_type(&self) -> glib::Type {
3933        Self::static_type()
3934    }
3935}
3936
3937impl From<TlsAuthenticationMode> for glib::Value {
3938    #[inline]
3939    fn from(v: TlsAuthenticationMode) -> Self {
3940        ToValue::to_value(&v)
3941    }
3942}
3943
3944#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3945#[non_exhaustive]
3946#[doc(alias = "GTlsCertificateRequestFlags")]
3947pub enum TlsCertificateRequestFlags {
3948    #[doc(alias = "G_TLS_CERTIFICATE_REQUEST_NONE")]
3949    None,
3950    #[doc(hidden)]
3951    __Unknown(i32),
3952}
3953
3954#[doc(hidden)]
3955impl IntoGlib for TlsCertificateRequestFlags {
3956    type GlibType = ffi::GTlsCertificateRequestFlags;
3957
3958    #[inline]
3959    fn into_glib(self) -> ffi::GTlsCertificateRequestFlags {
3960        match self {
3961            Self::None => ffi::G_TLS_CERTIFICATE_REQUEST_NONE,
3962            Self::__Unknown(value) => value,
3963        }
3964    }
3965}
3966
3967#[doc(hidden)]
3968impl FromGlib<ffi::GTlsCertificateRequestFlags> for TlsCertificateRequestFlags {
3969    #[inline]
3970    unsafe fn from_glib(value: ffi::GTlsCertificateRequestFlags) -> Self {
3971        match value {
3972            ffi::G_TLS_CERTIFICATE_REQUEST_NONE => Self::None,
3973            value => Self::__Unknown(value),
3974        }
3975    }
3976}
3977
3978impl StaticType for TlsCertificateRequestFlags {
3979    #[inline]
3980    #[doc(alias = "g_tls_certificate_request_flags_get_type")]
3981    fn static_type() -> glib::Type {
3982        unsafe { from_glib(ffi::g_tls_certificate_request_flags_get_type()) }
3983    }
3984}
3985
3986impl glib::HasParamSpec for TlsCertificateRequestFlags {
3987    type ParamSpec = glib::ParamSpecEnum;
3988    type SetValue = Self;
3989    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3990
3991    fn param_spec_builder() -> Self::BuilderFn {
3992        Self::ParamSpec::builder_with_default
3993    }
3994}
3995
3996impl glib::value::ValueType for TlsCertificateRequestFlags {
3997    type Type = Self;
3998}
3999
4000unsafe impl<'a> glib::value::FromValue<'a> for TlsCertificateRequestFlags {
4001    type Checker = glib::value::GenericValueTypeChecker<Self>;
4002
4003    #[inline]
4004    unsafe fn from_value(value: &'a glib::Value) -> Self {
4005        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4006    }
4007}
4008
4009impl ToValue for TlsCertificateRequestFlags {
4010    #[inline]
4011    fn to_value(&self) -> glib::Value {
4012        let mut value = glib::Value::for_value_type::<Self>();
4013        unsafe {
4014            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4015        }
4016        value
4017    }
4018
4019    #[inline]
4020    fn value_type(&self) -> glib::Type {
4021        Self::static_type()
4022    }
4023}
4024
4025impl From<TlsCertificateRequestFlags> for glib::Value {
4026    #[inline]
4027    fn from(v: TlsCertificateRequestFlags) -> Self {
4028        ToValue::to_value(&v)
4029    }
4030}
4031
4032#[cfg(feature = "v2_66")]
4033#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4034#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4035#[non_exhaustive]
4036#[doc(alias = "GTlsChannelBindingError")]
4037pub enum TlsChannelBindingError {
4038    #[doc(alias = "G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED")]
4039    NotImplemented,
4040    #[doc(alias = "G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE")]
4041    InvalidState,
4042    #[doc(alias = "G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE")]
4043    NotAvailable,
4044    #[doc(alias = "G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED")]
4045    NotSupported,
4046    #[doc(alias = "G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR")]
4047    GeneralError,
4048    #[doc(hidden)]
4049    __Unknown(i32),
4050}
4051
4052#[cfg(feature = "v2_66")]
4053#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4054#[doc(hidden)]
4055impl IntoGlib for TlsChannelBindingError {
4056    type GlibType = ffi::GTlsChannelBindingError;
4057
4058    #[inline]
4059    fn into_glib(self) -> ffi::GTlsChannelBindingError {
4060        match self {
4061            Self::NotImplemented => ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED,
4062            Self::InvalidState => ffi::G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE,
4063            Self::NotAvailable => ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE,
4064            Self::NotSupported => ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED,
4065            Self::GeneralError => ffi::G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR,
4066            Self::__Unknown(value) => value,
4067        }
4068    }
4069}
4070
4071#[cfg(feature = "v2_66")]
4072#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4073#[doc(hidden)]
4074impl FromGlib<ffi::GTlsChannelBindingError> for TlsChannelBindingError {
4075    #[inline]
4076    unsafe fn from_glib(value: ffi::GTlsChannelBindingError) -> Self {
4077        match value {
4078            ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED => Self::NotImplemented,
4079            ffi::G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE => Self::InvalidState,
4080            ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE => Self::NotAvailable,
4081            ffi::G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED => Self::NotSupported,
4082            ffi::G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR => Self::GeneralError,
4083            value => Self::__Unknown(value),
4084        }
4085    }
4086}
4087
4088#[cfg(feature = "v2_66")]
4089#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4090impl glib::error::ErrorDomain for TlsChannelBindingError {
4091    #[inline]
4092    fn domain() -> glib::Quark {
4093        unsafe { from_glib(ffi::g_tls_channel_binding_error_quark()) }
4094    }
4095
4096    #[inline]
4097    fn code(self) -> i32 {
4098        self.into_glib()
4099    }
4100
4101    #[inline]
4102    #[allow(clippy::match_single_binding)]
4103    fn from(code: i32) -> Option<Self> {
4104        match unsafe { from_glib(code) } {
4105            value => Some(value),
4106        }
4107    }
4108}
4109
4110#[cfg(feature = "v2_66")]
4111#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4112impl StaticType for TlsChannelBindingError {
4113    #[inline]
4114    #[doc(alias = "g_tls_channel_binding_error_get_type")]
4115    fn static_type() -> glib::Type {
4116        unsafe { from_glib(ffi::g_tls_channel_binding_error_get_type()) }
4117    }
4118}
4119
4120#[cfg(feature = "v2_66")]
4121#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4122impl glib::HasParamSpec for TlsChannelBindingError {
4123    type ParamSpec = glib::ParamSpecEnum;
4124    type SetValue = Self;
4125    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4126
4127    fn param_spec_builder() -> Self::BuilderFn {
4128        Self::ParamSpec::builder_with_default
4129    }
4130}
4131
4132#[cfg(feature = "v2_66")]
4133#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4134impl glib::value::ValueType for TlsChannelBindingError {
4135    type Type = Self;
4136}
4137
4138#[cfg(feature = "v2_66")]
4139#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4140unsafe impl<'a> glib::value::FromValue<'a> for TlsChannelBindingError {
4141    type Checker = glib::value::GenericValueTypeChecker<Self>;
4142
4143    #[inline]
4144    unsafe fn from_value(value: &'a glib::Value) -> Self {
4145        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4146    }
4147}
4148
4149#[cfg(feature = "v2_66")]
4150#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4151impl ToValue for TlsChannelBindingError {
4152    #[inline]
4153    fn to_value(&self) -> glib::Value {
4154        let mut value = glib::Value::for_value_type::<Self>();
4155        unsafe {
4156            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4157        }
4158        value
4159    }
4160
4161    #[inline]
4162    fn value_type(&self) -> glib::Type {
4163        Self::static_type()
4164    }
4165}
4166
4167#[cfg(feature = "v2_66")]
4168#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4169impl From<TlsChannelBindingError> for glib::Value {
4170    #[inline]
4171    fn from(v: TlsChannelBindingError) -> Self {
4172        ToValue::to_value(&v)
4173    }
4174}
4175
4176#[cfg(feature = "v2_66")]
4177#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4178#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4179#[non_exhaustive]
4180#[doc(alias = "GTlsChannelBindingType")]
4181pub enum TlsChannelBindingType {
4182    #[doc(alias = "G_TLS_CHANNEL_BINDING_TLS_UNIQUE")]
4183    Unique,
4184    #[doc(alias = "G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT")]
4185    ServerEndPoint,
4186    #[cfg(feature = "v2_74")]
4187    #[cfg_attr(docsrs, doc(cfg(feature = "v2_74")))]
4188    #[doc(alias = "G_TLS_CHANNEL_BINDING_TLS_EXPORTER")]
4189    Exporter,
4190    #[doc(hidden)]
4191    __Unknown(i32),
4192}
4193
4194#[cfg(feature = "v2_66")]
4195#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4196#[doc(hidden)]
4197impl IntoGlib for TlsChannelBindingType {
4198    type GlibType = ffi::GTlsChannelBindingType;
4199
4200    #[inline]
4201    fn into_glib(self) -> ffi::GTlsChannelBindingType {
4202        match self {
4203            Self::Unique => ffi::G_TLS_CHANNEL_BINDING_TLS_UNIQUE,
4204            Self::ServerEndPoint => ffi::G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT,
4205            #[cfg(feature = "v2_74")]
4206            Self::Exporter => ffi::G_TLS_CHANNEL_BINDING_TLS_EXPORTER,
4207            Self::__Unknown(value) => value,
4208        }
4209    }
4210}
4211
4212#[cfg(feature = "v2_66")]
4213#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4214#[doc(hidden)]
4215impl FromGlib<ffi::GTlsChannelBindingType> for TlsChannelBindingType {
4216    #[inline]
4217    unsafe fn from_glib(value: ffi::GTlsChannelBindingType) -> Self {
4218        match value {
4219            ffi::G_TLS_CHANNEL_BINDING_TLS_UNIQUE => Self::Unique,
4220            ffi::G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT => Self::ServerEndPoint,
4221            #[cfg(feature = "v2_74")]
4222            ffi::G_TLS_CHANNEL_BINDING_TLS_EXPORTER => Self::Exporter,
4223            value => Self::__Unknown(value),
4224        }
4225    }
4226}
4227
4228#[cfg(feature = "v2_66")]
4229#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4230impl StaticType for TlsChannelBindingType {
4231    #[inline]
4232    #[doc(alias = "g_tls_channel_binding_type_get_type")]
4233    fn static_type() -> glib::Type {
4234        unsafe { from_glib(ffi::g_tls_channel_binding_type_get_type()) }
4235    }
4236}
4237
4238#[cfg(feature = "v2_66")]
4239#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4240impl glib::HasParamSpec for TlsChannelBindingType {
4241    type ParamSpec = glib::ParamSpecEnum;
4242    type SetValue = Self;
4243    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4244
4245    fn param_spec_builder() -> Self::BuilderFn {
4246        Self::ParamSpec::builder_with_default
4247    }
4248}
4249
4250#[cfg(feature = "v2_66")]
4251#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4252impl glib::value::ValueType for TlsChannelBindingType {
4253    type Type = Self;
4254}
4255
4256#[cfg(feature = "v2_66")]
4257#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4258unsafe impl<'a> glib::value::FromValue<'a> for TlsChannelBindingType {
4259    type Checker = glib::value::GenericValueTypeChecker<Self>;
4260
4261    #[inline]
4262    unsafe fn from_value(value: &'a glib::Value) -> Self {
4263        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4264    }
4265}
4266
4267#[cfg(feature = "v2_66")]
4268#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4269impl ToValue for TlsChannelBindingType {
4270    #[inline]
4271    fn to_value(&self) -> glib::Value {
4272        let mut value = glib::Value::for_value_type::<Self>();
4273        unsafe {
4274            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4275        }
4276        value
4277    }
4278
4279    #[inline]
4280    fn value_type(&self) -> glib::Type {
4281        Self::static_type()
4282    }
4283}
4284
4285#[cfg(feature = "v2_66")]
4286#[cfg_attr(docsrs, doc(cfg(feature = "v2_66")))]
4287impl From<TlsChannelBindingType> for glib::Value {
4288    #[inline]
4289    fn from(v: TlsChannelBindingType) -> Self {
4290        ToValue::to_value(&v)
4291    }
4292}
4293
4294#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4295#[non_exhaustive]
4296#[doc(alias = "GTlsDatabaseLookupFlags")]
4297pub enum TlsDatabaseLookupFlags {
4298    #[doc(alias = "G_TLS_DATABASE_LOOKUP_NONE")]
4299    None,
4300    #[doc(alias = "G_TLS_DATABASE_LOOKUP_KEYPAIR")]
4301    Keypair,
4302    #[doc(hidden)]
4303    __Unknown(i32),
4304}
4305
4306#[doc(hidden)]
4307impl IntoGlib for TlsDatabaseLookupFlags {
4308    type GlibType = ffi::GTlsDatabaseLookupFlags;
4309
4310    #[inline]
4311    fn into_glib(self) -> ffi::GTlsDatabaseLookupFlags {
4312        match self {
4313            Self::None => ffi::G_TLS_DATABASE_LOOKUP_NONE,
4314            Self::Keypair => ffi::G_TLS_DATABASE_LOOKUP_KEYPAIR,
4315            Self::__Unknown(value) => value,
4316        }
4317    }
4318}
4319
4320#[doc(hidden)]
4321impl FromGlib<ffi::GTlsDatabaseLookupFlags> for TlsDatabaseLookupFlags {
4322    #[inline]
4323    unsafe fn from_glib(value: ffi::GTlsDatabaseLookupFlags) -> Self {
4324        match value {
4325            ffi::G_TLS_DATABASE_LOOKUP_NONE => Self::None,
4326            ffi::G_TLS_DATABASE_LOOKUP_KEYPAIR => Self::Keypair,
4327            value => Self::__Unknown(value),
4328        }
4329    }
4330}
4331
4332impl StaticType for TlsDatabaseLookupFlags {
4333    #[inline]
4334    #[doc(alias = "g_tls_database_lookup_flags_get_type")]
4335    fn static_type() -> glib::Type {
4336        unsafe { from_glib(ffi::g_tls_database_lookup_flags_get_type()) }
4337    }
4338}
4339
4340impl glib::HasParamSpec for TlsDatabaseLookupFlags {
4341    type ParamSpec = glib::ParamSpecEnum;
4342    type SetValue = Self;
4343    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4344
4345    fn param_spec_builder() -> Self::BuilderFn {
4346        Self::ParamSpec::builder_with_default
4347    }
4348}
4349
4350impl glib::value::ValueType for TlsDatabaseLookupFlags {
4351    type Type = Self;
4352}
4353
4354unsafe impl<'a> glib::value::FromValue<'a> for TlsDatabaseLookupFlags {
4355    type Checker = glib::value::GenericValueTypeChecker<Self>;
4356
4357    #[inline]
4358    unsafe fn from_value(value: &'a glib::Value) -> Self {
4359        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4360    }
4361}
4362
4363impl ToValue for TlsDatabaseLookupFlags {
4364    #[inline]
4365    fn to_value(&self) -> glib::Value {
4366        let mut value = glib::Value::for_value_type::<Self>();
4367        unsafe {
4368            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4369        }
4370        value
4371    }
4372
4373    #[inline]
4374    fn value_type(&self) -> glib::Type {
4375        Self::static_type()
4376    }
4377}
4378
4379impl From<TlsDatabaseLookupFlags> for glib::Value {
4380    #[inline]
4381    fn from(v: TlsDatabaseLookupFlags) -> Self {
4382        ToValue::to_value(&v)
4383    }
4384}
4385
4386#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4387#[non_exhaustive]
4388#[doc(alias = "GTlsError")]
4389pub enum TlsError {
4390    #[doc(alias = "G_TLS_ERROR_UNAVAILABLE")]
4391    Unavailable,
4392    #[doc(alias = "G_TLS_ERROR_MISC")]
4393    Misc,
4394    #[doc(alias = "G_TLS_ERROR_BAD_CERTIFICATE")]
4395    BadCertificate,
4396    #[doc(alias = "G_TLS_ERROR_NOT_TLS")]
4397    NotTls,
4398    #[doc(alias = "G_TLS_ERROR_HANDSHAKE")]
4399    Handshake,
4400    #[doc(alias = "G_TLS_ERROR_CERTIFICATE_REQUIRED")]
4401    CertificateRequired,
4402    #[doc(alias = "G_TLS_ERROR_EOF")]
4403    Eof,
4404    #[doc(alias = "G_TLS_ERROR_INAPPROPRIATE_FALLBACK")]
4405    InappropriateFallback,
4406    #[cfg(feature = "v2_72")]
4407    #[cfg_attr(docsrs, doc(cfg(feature = "v2_72")))]
4408    #[doc(alias = "G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD")]
4409    BadCertificatePassword,
4410    #[doc(hidden)]
4411    __Unknown(i32),
4412}
4413
4414#[doc(hidden)]
4415impl IntoGlib for TlsError {
4416    type GlibType = ffi::GTlsError;
4417
4418    #[inline]
4419    fn into_glib(self) -> ffi::GTlsError {
4420        match self {
4421            Self::Unavailable => ffi::G_TLS_ERROR_UNAVAILABLE,
4422            Self::Misc => ffi::G_TLS_ERROR_MISC,
4423            Self::BadCertificate => ffi::G_TLS_ERROR_BAD_CERTIFICATE,
4424            Self::NotTls => ffi::G_TLS_ERROR_NOT_TLS,
4425            Self::Handshake => ffi::G_TLS_ERROR_HANDSHAKE,
4426            Self::CertificateRequired => ffi::G_TLS_ERROR_CERTIFICATE_REQUIRED,
4427            Self::Eof => ffi::G_TLS_ERROR_EOF,
4428            Self::InappropriateFallback => ffi::G_TLS_ERROR_INAPPROPRIATE_FALLBACK,
4429            #[cfg(feature = "v2_72")]
4430            Self::BadCertificatePassword => ffi::G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD,
4431            Self::__Unknown(value) => value,
4432        }
4433    }
4434}
4435
4436#[doc(hidden)]
4437impl FromGlib<ffi::GTlsError> for TlsError {
4438    #[inline]
4439    unsafe fn from_glib(value: ffi::GTlsError) -> Self {
4440        match value {
4441            ffi::G_TLS_ERROR_UNAVAILABLE => Self::Unavailable,
4442            ffi::G_TLS_ERROR_MISC => Self::Misc,
4443            ffi::G_TLS_ERROR_BAD_CERTIFICATE => Self::BadCertificate,
4444            ffi::G_TLS_ERROR_NOT_TLS => Self::NotTls,
4445            ffi::G_TLS_ERROR_HANDSHAKE => Self::Handshake,
4446            ffi::G_TLS_ERROR_CERTIFICATE_REQUIRED => Self::CertificateRequired,
4447            ffi::G_TLS_ERROR_EOF => Self::Eof,
4448            ffi::G_TLS_ERROR_INAPPROPRIATE_FALLBACK => Self::InappropriateFallback,
4449            #[cfg(feature = "v2_72")]
4450            ffi::G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD => Self::BadCertificatePassword,
4451            value => Self::__Unknown(value),
4452        }
4453    }
4454}
4455
4456impl glib::error::ErrorDomain for TlsError {
4457    #[inline]
4458    fn domain() -> glib::Quark {
4459        unsafe { from_glib(ffi::g_tls_error_quark()) }
4460    }
4461
4462    #[inline]
4463    fn code(self) -> i32 {
4464        self.into_glib()
4465    }
4466
4467    #[inline]
4468    #[allow(clippy::match_single_binding)]
4469    fn from(code: i32) -> Option<Self> {
4470        match unsafe { from_glib(code) } {
4471            value => Some(value),
4472        }
4473    }
4474}
4475
4476impl StaticType for TlsError {
4477    #[inline]
4478    #[doc(alias = "g_tls_error_get_type")]
4479    fn static_type() -> glib::Type {
4480        unsafe { from_glib(ffi::g_tls_error_get_type()) }
4481    }
4482}
4483
4484impl glib::HasParamSpec for TlsError {
4485    type ParamSpec = glib::ParamSpecEnum;
4486    type SetValue = Self;
4487    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4488
4489    fn param_spec_builder() -> Self::BuilderFn {
4490        Self::ParamSpec::builder_with_default
4491    }
4492}
4493
4494impl glib::value::ValueType for TlsError {
4495    type Type = Self;
4496}
4497
4498unsafe impl<'a> glib::value::FromValue<'a> for TlsError {
4499    type Checker = glib::value::GenericValueTypeChecker<Self>;
4500
4501    #[inline]
4502    unsafe fn from_value(value: &'a glib::Value) -> Self {
4503        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4504    }
4505}
4506
4507impl ToValue for TlsError {
4508    #[inline]
4509    fn to_value(&self) -> glib::Value {
4510        let mut value = glib::Value::for_value_type::<Self>();
4511        unsafe {
4512            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4513        }
4514        value
4515    }
4516
4517    #[inline]
4518    fn value_type(&self) -> glib::Type {
4519        Self::static_type()
4520    }
4521}
4522
4523impl From<TlsError> for glib::Value {
4524    #[inline]
4525    fn from(v: TlsError) -> Self {
4526        ToValue::to_value(&v)
4527    }
4528}
4529
4530#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4531#[non_exhaustive]
4532#[doc(alias = "GTlsInteractionResult")]
4533pub enum TlsInteractionResult {
4534    #[doc(alias = "G_TLS_INTERACTION_UNHANDLED")]
4535    Unhandled,
4536    #[doc(alias = "G_TLS_INTERACTION_HANDLED")]
4537    Handled,
4538    #[doc(alias = "G_TLS_INTERACTION_FAILED")]
4539    Failed,
4540    #[doc(hidden)]
4541    __Unknown(i32),
4542}
4543
4544#[doc(hidden)]
4545impl IntoGlib for TlsInteractionResult {
4546    type GlibType = ffi::GTlsInteractionResult;
4547
4548    #[inline]
4549    fn into_glib(self) -> ffi::GTlsInteractionResult {
4550        match self {
4551            Self::Unhandled => ffi::G_TLS_INTERACTION_UNHANDLED,
4552            Self::Handled => ffi::G_TLS_INTERACTION_HANDLED,
4553            Self::Failed => ffi::G_TLS_INTERACTION_FAILED,
4554            Self::__Unknown(value) => value,
4555        }
4556    }
4557}
4558
4559#[doc(hidden)]
4560impl FromGlib<ffi::GTlsInteractionResult> for TlsInteractionResult {
4561    #[inline]
4562    unsafe fn from_glib(value: ffi::GTlsInteractionResult) -> Self {
4563        match value {
4564            ffi::G_TLS_INTERACTION_UNHANDLED => Self::Unhandled,
4565            ffi::G_TLS_INTERACTION_HANDLED => Self::Handled,
4566            ffi::G_TLS_INTERACTION_FAILED => Self::Failed,
4567            value => Self::__Unknown(value),
4568        }
4569    }
4570}
4571
4572impl StaticType for TlsInteractionResult {
4573    #[inline]
4574    #[doc(alias = "g_tls_interaction_result_get_type")]
4575    fn static_type() -> glib::Type {
4576        unsafe { from_glib(ffi::g_tls_interaction_result_get_type()) }
4577    }
4578}
4579
4580impl glib::HasParamSpec for TlsInteractionResult {
4581    type ParamSpec = glib::ParamSpecEnum;
4582    type SetValue = Self;
4583    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4584
4585    fn param_spec_builder() -> Self::BuilderFn {
4586        Self::ParamSpec::builder_with_default
4587    }
4588}
4589
4590impl glib::value::ValueType for TlsInteractionResult {
4591    type Type = Self;
4592}
4593
4594unsafe impl<'a> glib::value::FromValue<'a> for TlsInteractionResult {
4595    type Checker = glib::value::GenericValueTypeChecker<Self>;
4596
4597    #[inline]
4598    unsafe fn from_value(value: &'a glib::Value) -> Self {
4599        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4600    }
4601}
4602
4603impl ToValue for TlsInteractionResult {
4604    #[inline]
4605    fn to_value(&self) -> glib::Value {
4606        let mut value = glib::Value::for_value_type::<Self>();
4607        unsafe {
4608            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4609        }
4610        value
4611    }
4612
4613    #[inline]
4614    fn value_type(&self) -> glib::Type {
4615        Self::static_type()
4616    }
4617}
4618
4619impl From<TlsInteractionResult> for glib::Value {
4620    #[inline]
4621    fn from(v: TlsInteractionResult) -> Self {
4622        ToValue::to_value(&v)
4623    }
4624}
4625
4626#[cfg(feature = "v2_70")]
4627#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4628#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4629#[non_exhaustive]
4630#[doc(alias = "GTlsProtocolVersion")]
4631pub enum TlsProtocolVersion {
4632    #[doc(alias = "G_TLS_PROTOCOL_VERSION_UNKNOWN")]
4633    Unknown,
4634    #[doc(alias = "G_TLS_PROTOCOL_VERSION_SSL_3_0")]
4635    Ssl30,
4636    #[doc(alias = "G_TLS_PROTOCOL_VERSION_TLS_1_0")]
4637    Tls10,
4638    #[doc(alias = "G_TLS_PROTOCOL_VERSION_TLS_1_1")]
4639    Tls11,
4640    #[doc(alias = "G_TLS_PROTOCOL_VERSION_TLS_1_2")]
4641    Tls12,
4642    #[doc(alias = "G_TLS_PROTOCOL_VERSION_TLS_1_3")]
4643    Tls13,
4644    #[doc(alias = "G_TLS_PROTOCOL_VERSION_DTLS_1_0")]
4645    Dtls10,
4646    #[doc(alias = "G_TLS_PROTOCOL_VERSION_DTLS_1_2")]
4647    Dtls12,
4648    #[doc(hidden)]
4649    __Unknown(i32),
4650}
4651
4652#[cfg(feature = "v2_70")]
4653#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4654#[doc(hidden)]
4655impl IntoGlib for TlsProtocolVersion {
4656    type GlibType = ffi::GTlsProtocolVersion;
4657
4658    #[inline]
4659    fn into_glib(self) -> ffi::GTlsProtocolVersion {
4660        match self {
4661            Self::Unknown => ffi::G_TLS_PROTOCOL_VERSION_UNKNOWN,
4662            Self::Ssl30 => ffi::G_TLS_PROTOCOL_VERSION_SSL_3_0,
4663            Self::Tls10 => ffi::G_TLS_PROTOCOL_VERSION_TLS_1_0,
4664            Self::Tls11 => ffi::G_TLS_PROTOCOL_VERSION_TLS_1_1,
4665            Self::Tls12 => ffi::G_TLS_PROTOCOL_VERSION_TLS_1_2,
4666            Self::Tls13 => ffi::G_TLS_PROTOCOL_VERSION_TLS_1_3,
4667            Self::Dtls10 => ffi::G_TLS_PROTOCOL_VERSION_DTLS_1_0,
4668            Self::Dtls12 => ffi::G_TLS_PROTOCOL_VERSION_DTLS_1_2,
4669            Self::__Unknown(value) => value,
4670        }
4671    }
4672}
4673
4674#[cfg(feature = "v2_70")]
4675#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4676#[doc(hidden)]
4677impl FromGlib<ffi::GTlsProtocolVersion> for TlsProtocolVersion {
4678    #[inline]
4679    unsafe fn from_glib(value: ffi::GTlsProtocolVersion) -> Self {
4680        match value {
4681            ffi::G_TLS_PROTOCOL_VERSION_UNKNOWN => Self::Unknown,
4682            ffi::G_TLS_PROTOCOL_VERSION_SSL_3_0 => Self::Ssl30,
4683            ffi::G_TLS_PROTOCOL_VERSION_TLS_1_0 => Self::Tls10,
4684            ffi::G_TLS_PROTOCOL_VERSION_TLS_1_1 => Self::Tls11,
4685            ffi::G_TLS_PROTOCOL_VERSION_TLS_1_2 => Self::Tls12,
4686            ffi::G_TLS_PROTOCOL_VERSION_TLS_1_3 => Self::Tls13,
4687            ffi::G_TLS_PROTOCOL_VERSION_DTLS_1_0 => Self::Dtls10,
4688            ffi::G_TLS_PROTOCOL_VERSION_DTLS_1_2 => Self::Dtls12,
4689            value => Self::__Unknown(value),
4690        }
4691    }
4692}
4693
4694#[cfg(feature = "v2_70")]
4695#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4696impl StaticType for TlsProtocolVersion {
4697    #[inline]
4698    #[doc(alias = "g_tls_protocol_version_get_type")]
4699    fn static_type() -> glib::Type {
4700        unsafe { from_glib(ffi::g_tls_protocol_version_get_type()) }
4701    }
4702}
4703
4704#[cfg(feature = "v2_70")]
4705#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4706impl glib::HasParamSpec for TlsProtocolVersion {
4707    type ParamSpec = glib::ParamSpecEnum;
4708    type SetValue = Self;
4709    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4710
4711    fn param_spec_builder() -> Self::BuilderFn {
4712        Self::ParamSpec::builder_with_default
4713    }
4714}
4715
4716#[cfg(feature = "v2_70")]
4717#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4718impl glib::value::ValueType for TlsProtocolVersion {
4719    type Type = Self;
4720}
4721
4722#[cfg(feature = "v2_70")]
4723#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4724unsafe impl<'a> glib::value::FromValue<'a> for TlsProtocolVersion {
4725    type Checker = glib::value::GenericValueTypeChecker<Self>;
4726
4727    #[inline]
4728    unsafe fn from_value(value: &'a glib::Value) -> Self {
4729        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4730    }
4731}
4732
4733#[cfg(feature = "v2_70")]
4734#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4735impl ToValue for TlsProtocolVersion {
4736    #[inline]
4737    fn to_value(&self) -> glib::Value {
4738        let mut value = glib::Value::for_value_type::<Self>();
4739        unsafe {
4740            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4741        }
4742        value
4743    }
4744
4745    #[inline]
4746    fn value_type(&self) -> glib::Type {
4747        Self::static_type()
4748    }
4749}
4750
4751#[cfg(feature = "v2_70")]
4752#[cfg_attr(docsrs, doc(cfg(feature = "v2_70")))]
4753impl From<TlsProtocolVersion> for glib::Value {
4754    #[inline]
4755    fn from(v: TlsProtocolVersion) -> Self {
4756        ToValue::to_value(&v)
4757    }
4758}
4759
4760#[cfg_attr(feature = "v2_60", deprecated = "Since 2.60")]
4761#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4762#[non_exhaustive]
4763#[doc(alias = "GTlsRehandshakeMode")]
4764pub enum TlsRehandshakeMode {
4765    #[doc(alias = "G_TLS_REHANDSHAKE_NEVER")]
4766    Never,
4767    #[doc(alias = "G_TLS_REHANDSHAKE_SAFELY")]
4768    Safely,
4769    #[doc(alias = "G_TLS_REHANDSHAKE_UNSAFELY")]
4770    Unsafely,
4771    #[doc(hidden)]
4772    __Unknown(i32),
4773}
4774
4775#[allow(deprecated)]
4776#[doc(hidden)]
4777impl IntoGlib for TlsRehandshakeMode {
4778    type GlibType = ffi::GTlsRehandshakeMode;
4779
4780    #[inline]
4781    fn into_glib(self) -> ffi::GTlsRehandshakeMode {
4782        match self {
4783            Self::Never => ffi::G_TLS_REHANDSHAKE_NEVER,
4784            Self::Safely => ffi::G_TLS_REHANDSHAKE_SAFELY,
4785            Self::Unsafely => ffi::G_TLS_REHANDSHAKE_UNSAFELY,
4786            Self::__Unknown(value) => value,
4787        }
4788    }
4789}
4790
4791#[allow(deprecated)]
4792#[doc(hidden)]
4793impl FromGlib<ffi::GTlsRehandshakeMode> for TlsRehandshakeMode {
4794    #[inline]
4795    unsafe fn from_glib(value: ffi::GTlsRehandshakeMode) -> Self {
4796        match value {
4797            ffi::G_TLS_REHANDSHAKE_NEVER => Self::Never,
4798            ffi::G_TLS_REHANDSHAKE_SAFELY => Self::Safely,
4799            ffi::G_TLS_REHANDSHAKE_UNSAFELY => Self::Unsafely,
4800            value => Self::__Unknown(value),
4801        }
4802    }
4803}
4804
4805#[allow(deprecated)]
4806impl StaticType for TlsRehandshakeMode {
4807    #[inline]
4808    #[doc(alias = "g_tls_rehandshake_mode_get_type")]
4809    fn static_type() -> glib::Type {
4810        unsafe { from_glib(ffi::g_tls_rehandshake_mode_get_type()) }
4811    }
4812}
4813
4814#[allow(deprecated)]
4815impl glib::HasParamSpec for TlsRehandshakeMode {
4816    type ParamSpec = glib::ParamSpecEnum;
4817    type SetValue = Self;
4818    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4819
4820    fn param_spec_builder() -> Self::BuilderFn {
4821        Self::ParamSpec::builder_with_default
4822    }
4823}
4824
4825#[allow(deprecated)]
4826impl glib::value::ValueType for TlsRehandshakeMode {
4827    type Type = Self;
4828}
4829
4830#[allow(deprecated)]
4831unsafe impl<'a> glib::value::FromValue<'a> for TlsRehandshakeMode {
4832    type Checker = glib::value::GenericValueTypeChecker<Self>;
4833
4834    #[inline]
4835    unsafe fn from_value(value: &'a glib::Value) -> Self {
4836        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4837    }
4838}
4839
4840#[allow(deprecated)]
4841impl ToValue for TlsRehandshakeMode {
4842    #[inline]
4843    fn to_value(&self) -> glib::Value {
4844        let mut value = glib::Value::for_value_type::<Self>();
4845        unsafe {
4846            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4847        }
4848        value
4849    }
4850
4851    #[inline]
4852    fn value_type(&self) -> glib::Type {
4853        Self::static_type()
4854    }
4855}
4856
4857#[allow(deprecated)]
4858impl From<TlsRehandshakeMode> for glib::Value {
4859    #[inline]
4860    fn from(v: TlsRehandshakeMode) -> Self {
4861        ToValue::to_value(&v)
4862    }
4863}
4864
4865#[cfg(unix)]
4866#[cfg_attr(docsrs, doc(cfg(unix)))]
4867#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4868#[non_exhaustive]
4869#[doc(alias = "GUnixSocketAddressType")]
4870pub enum UnixSocketAddressType {
4871    #[doc(alias = "G_UNIX_SOCKET_ADDRESS_INVALID")]
4872    Invalid,
4873    #[doc(alias = "G_UNIX_SOCKET_ADDRESS_ANONYMOUS")]
4874    Anonymous,
4875    #[doc(alias = "G_UNIX_SOCKET_ADDRESS_PATH")]
4876    Path,
4877    #[doc(alias = "G_UNIX_SOCKET_ADDRESS_ABSTRACT")]
4878    Abstract,
4879    #[doc(alias = "G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED")]
4880    AbstractPadded,
4881    #[doc(hidden)]
4882    __Unknown(i32),
4883}
4884
4885#[cfg(unix)]
4886#[doc(hidden)]
4887impl IntoGlib for UnixSocketAddressType {
4888    type GlibType = ffi::GUnixSocketAddressType;
4889
4890    #[inline]
4891    fn into_glib(self) -> ffi::GUnixSocketAddressType {
4892        match self {
4893            Self::Invalid => ffi::G_UNIX_SOCKET_ADDRESS_INVALID,
4894            Self::Anonymous => ffi::G_UNIX_SOCKET_ADDRESS_ANONYMOUS,
4895            Self::Path => ffi::G_UNIX_SOCKET_ADDRESS_PATH,
4896            Self::Abstract => ffi::G_UNIX_SOCKET_ADDRESS_ABSTRACT,
4897            Self::AbstractPadded => ffi::G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED,
4898            Self::__Unknown(value) => value,
4899        }
4900    }
4901}
4902
4903#[cfg(unix)]
4904#[doc(hidden)]
4905impl FromGlib<ffi::GUnixSocketAddressType> for UnixSocketAddressType {
4906    #[inline]
4907    unsafe fn from_glib(value: ffi::GUnixSocketAddressType) -> Self {
4908        match value {
4909            ffi::G_UNIX_SOCKET_ADDRESS_INVALID => Self::Invalid,
4910            ffi::G_UNIX_SOCKET_ADDRESS_ANONYMOUS => Self::Anonymous,
4911            ffi::G_UNIX_SOCKET_ADDRESS_PATH => Self::Path,
4912            ffi::G_UNIX_SOCKET_ADDRESS_ABSTRACT => Self::Abstract,
4913            ffi::G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED => Self::AbstractPadded,
4914            value => Self::__Unknown(value),
4915        }
4916    }
4917}
4918
4919#[cfg(unix)]
4920impl StaticType for UnixSocketAddressType {
4921    #[inline]
4922    #[doc(alias = "g_unix_socket_address_type_get_type")]
4923    fn static_type() -> glib::Type {
4924        unsafe { from_glib(ffi::g_unix_socket_address_type_get_type()) }
4925    }
4926}
4927
4928#[cfg(unix)]
4929impl glib::HasParamSpec for UnixSocketAddressType {
4930    type ParamSpec = glib::ParamSpecEnum;
4931    type SetValue = Self;
4932    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4933
4934    fn param_spec_builder() -> Self::BuilderFn {
4935        Self::ParamSpec::builder_with_default
4936    }
4937}
4938
4939#[cfg(unix)]
4940impl glib::value::ValueType for UnixSocketAddressType {
4941    type Type = Self;
4942}
4943
4944#[cfg(unix)]
4945unsafe impl<'a> glib::value::FromValue<'a> for UnixSocketAddressType {
4946    type Checker = glib::value::GenericValueTypeChecker<Self>;
4947
4948    #[inline]
4949    unsafe fn from_value(value: &'a glib::Value) -> Self {
4950        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4951    }
4952}
4953
4954#[cfg(unix)]
4955impl ToValue for UnixSocketAddressType {
4956    #[inline]
4957    fn to_value(&self) -> glib::Value {
4958        let mut value = glib::Value::for_value_type::<Self>();
4959        unsafe {
4960            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4961        }
4962        value
4963    }
4964
4965    #[inline]
4966    fn value_type(&self) -> glib::Type {
4967        Self::static_type()
4968    }
4969}
4970
4971#[cfg(unix)]
4972impl From<UnixSocketAddressType> for glib::Value {
4973    #[inline]
4974    fn from(v: UnixSocketAddressType) -> Self {
4975        ToValue::to_value(&v)
4976    }
4977}
4978
4979#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4980#[non_exhaustive]
4981#[doc(alias = "GZlibCompressorFormat")]
4982pub enum ZlibCompressorFormat {
4983    #[doc(alias = "G_ZLIB_COMPRESSOR_FORMAT_ZLIB")]
4984    Zlib,
4985    #[doc(alias = "G_ZLIB_COMPRESSOR_FORMAT_GZIP")]
4986    Gzip,
4987    #[doc(alias = "G_ZLIB_COMPRESSOR_FORMAT_RAW")]
4988    Raw,
4989    #[doc(hidden)]
4990    __Unknown(i32),
4991}
4992
4993#[doc(hidden)]
4994impl IntoGlib for ZlibCompressorFormat {
4995    type GlibType = ffi::GZlibCompressorFormat;
4996
4997    #[inline]
4998    fn into_glib(self) -> ffi::GZlibCompressorFormat {
4999        match self {
5000            Self::Zlib => ffi::G_ZLIB_COMPRESSOR_FORMAT_ZLIB,
5001            Self::Gzip => ffi::G_ZLIB_COMPRESSOR_FORMAT_GZIP,
5002            Self::Raw => ffi::G_ZLIB_COMPRESSOR_FORMAT_RAW,
5003            Self::__Unknown(value) => value,
5004        }
5005    }
5006}
5007
5008#[doc(hidden)]
5009impl FromGlib<ffi::GZlibCompressorFormat> for ZlibCompressorFormat {
5010    #[inline]
5011    unsafe fn from_glib(value: ffi::GZlibCompressorFormat) -> Self {
5012        match value {
5013            ffi::G_ZLIB_COMPRESSOR_FORMAT_ZLIB => Self::Zlib,
5014            ffi::G_ZLIB_COMPRESSOR_FORMAT_GZIP => Self::Gzip,
5015            ffi::G_ZLIB_COMPRESSOR_FORMAT_RAW => Self::Raw,
5016            value => Self::__Unknown(value),
5017        }
5018    }
5019}
5020
5021impl StaticType for ZlibCompressorFormat {
5022    #[inline]
5023    #[doc(alias = "g_zlib_compressor_format_get_type")]
5024    fn static_type() -> glib::Type {
5025        unsafe { from_glib(ffi::g_zlib_compressor_format_get_type()) }
5026    }
5027}
5028
5029impl glib::HasParamSpec for ZlibCompressorFormat {
5030    type ParamSpec = glib::ParamSpecEnum;
5031    type SetValue = Self;
5032    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5033
5034    fn param_spec_builder() -> Self::BuilderFn {
5035        Self::ParamSpec::builder_with_default
5036    }
5037}
5038
5039impl glib::value::ValueType for ZlibCompressorFormat {
5040    type Type = Self;
5041}
5042
5043unsafe impl<'a> glib::value::FromValue<'a> for ZlibCompressorFormat {
5044    type Checker = glib::value::GenericValueTypeChecker<Self>;
5045
5046    #[inline]
5047    unsafe fn from_value(value: &'a glib::Value) -> Self {
5048        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
5049    }
5050}
5051
5052impl ToValue for ZlibCompressorFormat {
5053    #[inline]
5054    fn to_value(&self) -> glib::Value {
5055        let mut value = glib::Value::for_value_type::<Self>();
5056        unsafe {
5057            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5058        }
5059        value
5060    }
5061
5062    #[inline]
5063    fn value_type(&self) -> glib::Type {
5064        Self::static_type()
5065    }
5066}
5067
5068impl From<ZlibCompressorFormat> for glib::Value {
5069    #[inline]
5070    fn from(v: ZlibCompressorFormat) -> Self {
5071        ToValue::to_value(&v)
5072    }
5073}