soup/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "SoupCacheType")]
12pub enum CacheType {
13    #[doc(alias = "SOUP_CACHE_SINGLE_USER")]
14    SingleUser,
15    #[doc(alias = "SOUP_CACHE_SHARED")]
16    Shared,
17    #[doc(hidden)]
18    __Unknown(i32),
19}
20
21#[doc(hidden)]
22impl IntoGlib for CacheType {
23    type GlibType = ffi::SoupCacheType;
24
25    #[inline]
26    fn into_glib(self) -> ffi::SoupCacheType {
27        match self {
28            Self::SingleUser => ffi::SOUP_CACHE_SINGLE_USER,
29            Self::Shared => ffi::SOUP_CACHE_SHARED,
30            Self::__Unknown(value) => value,
31        }
32    }
33}
34
35#[doc(hidden)]
36impl FromGlib<ffi::SoupCacheType> for CacheType {
37    #[inline]
38    unsafe fn from_glib(value: ffi::SoupCacheType) -> Self {
39        skip_assert_initialized!();
40
41        match value {
42            ffi::SOUP_CACHE_SINGLE_USER => Self::SingleUser,
43            ffi::SOUP_CACHE_SHARED => Self::Shared,
44            value => Self::__Unknown(value),
45        }
46    }
47}
48
49impl StaticType for CacheType {
50    #[inline]
51    #[doc(alias = "soup_cache_type_get_type")]
52    fn static_type() -> glib::Type {
53        unsafe { from_glib(ffi::soup_cache_type_get_type()) }
54    }
55}
56
57impl glib::HasParamSpec for CacheType {
58    type ParamSpec = glib::ParamSpecEnum;
59    type SetValue = Self;
60    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
61
62    fn param_spec_builder() -> Self::BuilderFn {
63        Self::ParamSpec::builder_with_default
64    }
65}
66
67impl glib::value::ValueType for CacheType {
68    type Type = Self;
69}
70
71unsafe impl<'a> glib::value::FromValue<'a> for CacheType {
72    type Checker = glib::value::GenericValueTypeChecker<Self>;
73
74    #[inline]
75    unsafe fn from_value(value: &'a glib::Value) -> Self {
76        skip_assert_initialized!();
77        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
78    }
79}
80
81impl ToValue for CacheType {
82    #[inline]
83    fn to_value(&self) -> glib::Value {
84        let mut value = glib::Value::for_value_type::<Self>();
85        unsafe {
86            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
87        }
88        value
89    }
90
91    #[inline]
92    fn value_type(&self) -> glib::Type {
93        Self::static_type()
94    }
95}
96
97impl From<CacheType> for glib::Value {
98    #[inline]
99    fn from(v: CacheType) -> Self {
100        skip_assert_initialized!();
101        ToValue::to_value(&v)
102    }
103}
104
105#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
106#[non_exhaustive]
107#[doc(alias = "SoupCookieJarAcceptPolicy")]
108pub enum CookieJarAcceptPolicy {
109    #[doc(alias = "SOUP_COOKIE_JAR_ACCEPT_ALWAYS")]
110    Always,
111    #[doc(alias = "SOUP_COOKIE_JAR_ACCEPT_NEVER")]
112    Never,
113    #[doc(alias = "SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY")]
114    NoThirdParty,
115    #[doc(alias = "SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY")]
116    GrandfatheredThirdParty,
117    #[doc(hidden)]
118    __Unknown(i32),
119}
120
121#[doc(hidden)]
122impl IntoGlib for CookieJarAcceptPolicy {
123    type GlibType = ffi::SoupCookieJarAcceptPolicy;
124
125    #[inline]
126    fn into_glib(self) -> ffi::SoupCookieJarAcceptPolicy {
127        match self {
128            Self::Always => ffi::SOUP_COOKIE_JAR_ACCEPT_ALWAYS,
129            Self::Never => ffi::SOUP_COOKIE_JAR_ACCEPT_NEVER,
130            Self::NoThirdParty => ffi::SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY,
131            Self::GrandfatheredThirdParty => ffi::SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY,
132            Self::__Unknown(value) => value,
133        }
134    }
135}
136
137#[doc(hidden)]
138impl FromGlib<ffi::SoupCookieJarAcceptPolicy> for CookieJarAcceptPolicy {
139    #[inline]
140    unsafe fn from_glib(value: ffi::SoupCookieJarAcceptPolicy) -> Self {
141        skip_assert_initialized!();
142
143        match value {
144            ffi::SOUP_COOKIE_JAR_ACCEPT_ALWAYS => Self::Always,
145            ffi::SOUP_COOKIE_JAR_ACCEPT_NEVER => Self::Never,
146            ffi::SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY => Self::NoThirdParty,
147            ffi::SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY => Self::GrandfatheredThirdParty,
148            value => Self::__Unknown(value),
149        }
150    }
151}
152
153impl StaticType for CookieJarAcceptPolicy {
154    #[inline]
155    #[doc(alias = "soup_cookie_jar_accept_policy_get_type")]
156    fn static_type() -> glib::Type {
157        unsafe { from_glib(ffi::soup_cookie_jar_accept_policy_get_type()) }
158    }
159}
160
161impl glib::HasParamSpec for CookieJarAcceptPolicy {
162    type ParamSpec = glib::ParamSpecEnum;
163    type SetValue = Self;
164    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
165
166    fn param_spec_builder() -> Self::BuilderFn {
167        Self::ParamSpec::builder_with_default
168    }
169}
170
171impl glib::value::ValueType for CookieJarAcceptPolicy {
172    type Type = Self;
173}
174
175unsafe impl<'a> glib::value::FromValue<'a> for CookieJarAcceptPolicy {
176    type Checker = glib::value::GenericValueTypeChecker<Self>;
177
178    #[inline]
179    unsafe fn from_value(value: &'a glib::Value) -> Self {
180        skip_assert_initialized!();
181        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
182    }
183}
184
185impl ToValue for CookieJarAcceptPolicy {
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<CookieJarAcceptPolicy> for glib::Value {
202    #[inline]
203    fn from(v: CookieJarAcceptPolicy) -> Self {
204        skip_assert_initialized!();
205        ToValue::to_value(&v)
206    }
207}
208
209#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
210#[non_exhaustive]
211#[doc(alias = "SoupDateFormat")]
212pub enum DateFormat {
213    #[doc(alias = "SOUP_DATE_HTTP")]
214    Http,
215    #[doc(alias = "SOUP_DATE_COOKIE")]
216    Cookie,
217    #[doc(hidden)]
218    __Unknown(i32),
219}
220
221#[doc(hidden)]
222impl IntoGlib for DateFormat {
223    type GlibType = ffi::SoupDateFormat;
224
225    #[inline]
226    fn into_glib(self) -> ffi::SoupDateFormat {
227        match self {
228            Self::Http => ffi::SOUP_DATE_HTTP,
229            Self::Cookie => ffi::SOUP_DATE_COOKIE,
230            Self::__Unknown(value) => value,
231        }
232    }
233}
234
235#[doc(hidden)]
236impl FromGlib<ffi::SoupDateFormat> for DateFormat {
237    #[inline]
238    unsafe fn from_glib(value: ffi::SoupDateFormat) -> Self {
239        skip_assert_initialized!();
240
241        match value {
242            ffi::SOUP_DATE_HTTP => Self::Http,
243            ffi::SOUP_DATE_COOKIE => Self::Cookie,
244            value => Self::__Unknown(value),
245        }
246    }
247}
248
249impl StaticType for DateFormat {
250    #[inline]
251    #[doc(alias = "soup_date_format_get_type")]
252    fn static_type() -> glib::Type {
253        unsafe { from_glib(ffi::soup_date_format_get_type()) }
254    }
255}
256
257impl glib::HasParamSpec for DateFormat {
258    type ParamSpec = glib::ParamSpecEnum;
259    type SetValue = Self;
260    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
261
262    fn param_spec_builder() -> Self::BuilderFn {
263        Self::ParamSpec::builder_with_default
264    }
265}
266
267impl glib::value::ValueType for DateFormat {
268    type Type = Self;
269}
270
271unsafe impl<'a> glib::value::FromValue<'a> for DateFormat {
272    type Checker = glib::value::GenericValueTypeChecker<Self>;
273
274    #[inline]
275    unsafe fn from_value(value: &'a glib::Value) -> Self {
276        skip_assert_initialized!();
277        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
278    }
279}
280
281impl ToValue for DateFormat {
282    #[inline]
283    fn to_value(&self) -> glib::Value {
284        let mut value = glib::Value::for_value_type::<Self>();
285        unsafe {
286            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
287        }
288        value
289    }
290
291    #[inline]
292    fn value_type(&self) -> glib::Type {
293        Self::static_type()
294    }
295}
296
297impl From<DateFormat> for glib::Value {
298    #[inline]
299    fn from(v: DateFormat) -> Self {
300        skip_assert_initialized!();
301        ToValue::to_value(&v)
302    }
303}
304
305#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
306#[non_exhaustive]
307#[doc(alias = "SoupEncoding")]
308pub enum Encoding {
309    #[doc(alias = "SOUP_ENCODING_UNRECOGNIZED")]
310    Unrecognized,
311    #[doc(alias = "SOUP_ENCODING_NONE")]
312    None,
313    #[doc(alias = "SOUP_ENCODING_CONTENT_LENGTH")]
314    ContentLength,
315    #[doc(alias = "SOUP_ENCODING_EOF")]
316    Eof,
317    #[doc(alias = "SOUP_ENCODING_CHUNKED")]
318    Chunked,
319    #[doc(alias = "SOUP_ENCODING_BYTERANGES")]
320    Byteranges,
321    #[doc(hidden)]
322    __Unknown(i32),
323}
324
325#[doc(hidden)]
326impl IntoGlib for Encoding {
327    type GlibType = ffi::SoupEncoding;
328
329    #[inline]
330    fn into_glib(self) -> ffi::SoupEncoding {
331        match self {
332            Self::Unrecognized => ffi::SOUP_ENCODING_UNRECOGNIZED,
333            Self::None => ffi::SOUP_ENCODING_NONE,
334            Self::ContentLength => ffi::SOUP_ENCODING_CONTENT_LENGTH,
335            Self::Eof => ffi::SOUP_ENCODING_EOF,
336            Self::Chunked => ffi::SOUP_ENCODING_CHUNKED,
337            Self::Byteranges => ffi::SOUP_ENCODING_BYTERANGES,
338            Self::__Unknown(value) => value,
339        }
340    }
341}
342
343#[doc(hidden)]
344impl FromGlib<ffi::SoupEncoding> for Encoding {
345    #[inline]
346    unsafe fn from_glib(value: ffi::SoupEncoding) -> Self {
347        skip_assert_initialized!();
348
349        match value {
350            ffi::SOUP_ENCODING_UNRECOGNIZED => Self::Unrecognized,
351            ffi::SOUP_ENCODING_NONE => Self::None,
352            ffi::SOUP_ENCODING_CONTENT_LENGTH => Self::ContentLength,
353            ffi::SOUP_ENCODING_EOF => Self::Eof,
354            ffi::SOUP_ENCODING_CHUNKED => Self::Chunked,
355            ffi::SOUP_ENCODING_BYTERANGES => Self::Byteranges,
356            value => Self::__Unknown(value),
357        }
358    }
359}
360
361impl StaticType for Encoding {
362    #[inline]
363    #[doc(alias = "soup_encoding_get_type")]
364    fn static_type() -> glib::Type {
365        unsafe { from_glib(ffi::soup_encoding_get_type()) }
366    }
367}
368
369impl glib::HasParamSpec for Encoding {
370    type ParamSpec = glib::ParamSpecEnum;
371    type SetValue = Self;
372    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
373
374    fn param_spec_builder() -> Self::BuilderFn {
375        Self::ParamSpec::builder_with_default
376    }
377}
378
379impl glib::value::ValueType for Encoding {
380    type Type = Self;
381}
382
383unsafe impl<'a> glib::value::FromValue<'a> for Encoding {
384    type Checker = glib::value::GenericValueTypeChecker<Self>;
385
386    #[inline]
387    unsafe fn from_value(value: &'a glib::Value) -> Self {
388        skip_assert_initialized!();
389        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
390    }
391}
392
393impl ToValue for Encoding {
394    #[inline]
395    fn to_value(&self) -> glib::Value {
396        let mut value = glib::Value::for_value_type::<Self>();
397        unsafe {
398            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
399        }
400        value
401    }
402
403    #[inline]
404    fn value_type(&self) -> glib::Type {
405        Self::static_type()
406    }
407}
408
409impl From<Encoding> for glib::Value {
410    #[inline]
411    fn from(v: Encoding) -> Self {
412        skip_assert_initialized!();
413        ToValue::to_value(&v)
414    }
415}
416
417#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
418#[non_exhaustive]
419#[doc(alias = "SoupHTTPVersion")]
420pub enum HTTPVersion {
421    #[doc(alias = "SOUP_HTTP_1_0")]
422    Http10,
423    #[doc(alias = "SOUP_HTTP_1_1")]
424    Http11,
425    #[doc(alias = "SOUP_HTTP_2_0")]
426    Http20,
427    #[doc(hidden)]
428    __Unknown(i32),
429}
430
431#[doc(hidden)]
432impl IntoGlib for HTTPVersion {
433    type GlibType = ffi::SoupHTTPVersion;
434
435    #[inline]
436    fn into_glib(self) -> ffi::SoupHTTPVersion {
437        match self {
438            Self::Http10 => ffi::SOUP_HTTP_1_0,
439            Self::Http11 => ffi::SOUP_HTTP_1_1,
440            Self::Http20 => ffi::SOUP_HTTP_2_0,
441            Self::__Unknown(value) => value,
442        }
443    }
444}
445
446#[doc(hidden)]
447impl FromGlib<ffi::SoupHTTPVersion> for HTTPVersion {
448    #[inline]
449    unsafe fn from_glib(value: ffi::SoupHTTPVersion) -> Self {
450        skip_assert_initialized!();
451
452        match value {
453            ffi::SOUP_HTTP_1_0 => Self::Http10,
454            ffi::SOUP_HTTP_1_1 => Self::Http11,
455            ffi::SOUP_HTTP_2_0 => Self::Http20,
456            value => Self::__Unknown(value),
457        }
458    }
459}
460
461impl StaticType for HTTPVersion {
462    #[inline]
463    #[doc(alias = "soup_http_version_get_type")]
464    fn static_type() -> glib::Type {
465        unsafe { from_glib(ffi::soup_http_version_get_type()) }
466    }
467}
468
469impl glib::HasParamSpec for HTTPVersion {
470    type ParamSpec = glib::ParamSpecEnum;
471    type SetValue = Self;
472    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
473
474    fn param_spec_builder() -> Self::BuilderFn {
475        Self::ParamSpec::builder_with_default
476    }
477}
478
479impl glib::value::ValueType for HTTPVersion {
480    type Type = Self;
481}
482
483unsafe impl<'a> glib::value::FromValue<'a> for HTTPVersion {
484    type Checker = glib::value::GenericValueTypeChecker<Self>;
485
486    #[inline]
487    unsafe fn from_value(value: &'a glib::Value) -> Self {
488        skip_assert_initialized!();
489        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
490    }
491}
492
493impl ToValue for HTTPVersion {
494    #[inline]
495    fn to_value(&self) -> glib::Value {
496        let mut value = glib::Value::for_value_type::<Self>();
497        unsafe {
498            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
499        }
500        value
501    }
502
503    #[inline]
504    fn value_type(&self) -> glib::Type {
505        Self::static_type()
506    }
507}
508
509impl From<HTTPVersion> for glib::Value {
510    #[inline]
511    fn from(v: HTTPVersion) -> Self {
512        skip_assert_initialized!();
513        ToValue::to_value(&v)
514    }
515}
516
517#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
518#[non_exhaustive]
519#[doc(alias = "SoupLoggerLogLevel")]
520pub enum LoggerLogLevel {
521    #[doc(alias = "SOUP_LOGGER_LOG_NONE")]
522    None,
523    #[doc(alias = "SOUP_LOGGER_LOG_MINIMAL")]
524    Minimal,
525    #[doc(alias = "SOUP_LOGGER_LOG_HEADERS")]
526    Headers,
527    #[doc(alias = "SOUP_LOGGER_LOG_BODY")]
528    Body,
529    #[doc(hidden)]
530    __Unknown(i32),
531}
532
533#[doc(hidden)]
534impl IntoGlib for LoggerLogLevel {
535    type GlibType = ffi::SoupLoggerLogLevel;
536
537    #[inline]
538    fn into_glib(self) -> ffi::SoupLoggerLogLevel {
539        match self {
540            Self::None => ffi::SOUP_LOGGER_LOG_NONE,
541            Self::Minimal => ffi::SOUP_LOGGER_LOG_MINIMAL,
542            Self::Headers => ffi::SOUP_LOGGER_LOG_HEADERS,
543            Self::Body => ffi::SOUP_LOGGER_LOG_BODY,
544            Self::__Unknown(value) => value,
545        }
546    }
547}
548
549#[doc(hidden)]
550impl FromGlib<ffi::SoupLoggerLogLevel> for LoggerLogLevel {
551    #[inline]
552    unsafe fn from_glib(value: ffi::SoupLoggerLogLevel) -> Self {
553        skip_assert_initialized!();
554
555        match value {
556            ffi::SOUP_LOGGER_LOG_NONE => Self::None,
557            ffi::SOUP_LOGGER_LOG_MINIMAL => Self::Minimal,
558            ffi::SOUP_LOGGER_LOG_HEADERS => Self::Headers,
559            ffi::SOUP_LOGGER_LOG_BODY => Self::Body,
560            value => Self::__Unknown(value),
561        }
562    }
563}
564
565impl StaticType for LoggerLogLevel {
566    #[inline]
567    #[doc(alias = "soup_logger_log_level_get_type")]
568    fn static_type() -> glib::Type {
569        unsafe { from_glib(ffi::soup_logger_log_level_get_type()) }
570    }
571}
572
573impl glib::HasParamSpec for LoggerLogLevel {
574    type ParamSpec = glib::ParamSpecEnum;
575    type SetValue = Self;
576    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
577
578    fn param_spec_builder() -> Self::BuilderFn {
579        Self::ParamSpec::builder_with_default
580    }
581}
582
583impl glib::value::ValueType for LoggerLogLevel {
584    type Type = Self;
585}
586
587unsafe impl<'a> glib::value::FromValue<'a> for LoggerLogLevel {
588    type Checker = glib::value::GenericValueTypeChecker<Self>;
589
590    #[inline]
591    unsafe fn from_value(value: &'a glib::Value) -> Self {
592        skip_assert_initialized!();
593        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
594    }
595}
596
597impl ToValue for LoggerLogLevel {
598    #[inline]
599    fn to_value(&self) -> glib::Value {
600        let mut value = glib::Value::for_value_type::<Self>();
601        unsafe {
602            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
603        }
604        value
605    }
606
607    #[inline]
608    fn value_type(&self) -> glib::Type {
609        Self::static_type()
610    }
611}
612
613impl From<LoggerLogLevel> for glib::Value {
614    #[inline]
615    fn from(v: LoggerLogLevel) -> Self {
616        skip_assert_initialized!();
617        ToValue::to_value(&v)
618    }
619}
620
621#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
622#[non_exhaustive]
623#[doc(alias = "SoupMemoryUse")]
624pub enum MemoryUse {
625    #[doc(alias = "SOUP_MEMORY_STATIC")]
626    Static,
627    #[doc(alias = "SOUP_MEMORY_TAKE")]
628    Take,
629    #[doc(alias = "SOUP_MEMORY_COPY")]
630    Copy,
631    #[doc(hidden)]
632    __Unknown(i32),
633}
634
635#[doc(hidden)]
636impl IntoGlib for MemoryUse {
637    type GlibType = ffi::SoupMemoryUse;
638
639    #[inline]
640    fn into_glib(self) -> ffi::SoupMemoryUse {
641        match self {
642            Self::Static => ffi::SOUP_MEMORY_STATIC,
643            Self::Take => ffi::SOUP_MEMORY_TAKE,
644            Self::Copy => ffi::SOUP_MEMORY_COPY,
645            Self::__Unknown(value) => value,
646        }
647    }
648}
649
650#[doc(hidden)]
651impl FromGlib<ffi::SoupMemoryUse> for MemoryUse {
652    #[inline]
653    unsafe fn from_glib(value: ffi::SoupMemoryUse) -> Self {
654        skip_assert_initialized!();
655
656        match value {
657            ffi::SOUP_MEMORY_STATIC => Self::Static,
658            ffi::SOUP_MEMORY_TAKE => Self::Take,
659            ffi::SOUP_MEMORY_COPY => Self::Copy,
660            value => Self::__Unknown(value),
661        }
662    }
663}
664
665impl StaticType for MemoryUse {
666    #[inline]
667    #[doc(alias = "soup_memory_use_get_type")]
668    fn static_type() -> glib::Type {
669        unsafe { from_glib(ffi::soup_memory_use_get_type()) }
670    }
671}
672
673impl glib::HasParamSpec for MemoryUse {
674    type ParamSpec = glib::ParamSpecEnum;
675    type SetValue = Self;
676    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
677
678    fn param_spec_builder() -> Self::BuilderFn {
679        Self::ParamSpec::builder_with_default
680    }
681}
682
683impl glib::value::ValueType for MemoryUse {
684    type Type = Self;
685}
686
687unsafe impl<'a> glib::value::FromValue<'a> for MemoryUse {
688    type Checker = glib::value::GenericValueTypeChecker<Self>;
689
690    #[inline]
691    unsafe fn from_value(value: &'a glib::Value) -> Self {
692        skip_assert_initialized!();
693        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
694    }
695}
696
697impl ToValue for MemoryUse {
698    #[inline]
699    fn to_value(&self) -> glib::Value {
700        let mut value = glib::Value::for_value_type::<Self>();
701        unsafe {
702            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
703        }
704        value
705    }
706
707    #[inline]
708    fn value_type(&self) -> glib::Type {
709        Self::static_type()
710    }
711}
712
713impl From<MemoryUse> for glib::Value {
714    #[inline]
715    fn from(v: MemoryUse) -> Self {
716        skip_assert_initialized!();
717        ToValue::to_value(&v)
718    }
719}
720
721#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
722#[non_exhaustive]
723#[doc(alias = "SoupMessageHeadersType")]
724pub enum MessageHeadersType {
725    #[doc(alias = "SOUP_MESSAGE_HEADERS_REQUEST")]
726    Request,
727    #[doc(alias = "SOUP_MESSAGE_HEADERS_RESPONSE")]
728    Response,
729    #[doc(alias = "SOUP_MESSAGE_HEADERS_MULTIPART")]
730    Multipart,
731    #[doc(hidden)]
732    __Unknown(i32),
733}
734
735#[doc(hidden)]
736impl IntoGlib for MessageHeadersType {
737    type GlibType = ffi::SoupMessageHeadersType;
738
739    #[inline]
740    fn into_glib(self) -> ffi::SoupMessageHeadersType {
741        match self {
742            Self::Request => ffi::SOUP_MESSAGE_HEADERS_REQUEST,
743            Self::Response => ffi::SOUP_MESSAGE_HEADERS_RESPONSE,
744            Self::Multipart => ffi::SOUP_MESSAGE_HEADERS_MULTIPART,
745            Self::__Unknown(value) => value,
746        }
747    }
748}
749
750#[doc(hidden)]
751impl FromGlib<ffi::SoupMessageHeadersType> for MessageHeadersType {
752    #[inline]
753    unsafe fn from_glib(value: ffi::SoupMessageHeadersType) -> Self {
754        skip_assert_initialized!();
755
756        match value {
757            ffi::SOUP_MESSAGE_HEADERS_REQUEST => Self::Request,
758            ffi::SOUP_MESSAGE_HEADERS_RESPONSE => Self::Response,
759            ffi::SOUP_MESSAGE_HEADERS_MULTIPART => Self::Multipart,
760            value => Self::__Unknown(value),
761        }
762    }
763}
764
765impl StaticType for MessageHeadersType {
766    #[inline]
767    #[doc(alias = "soup_message_headers_type_get_type")]
768    fn static_type() -> glib::Type {
769        unsafe { from_glib(ffi::soup_message_headers_type_get_type()) }
770    }
771}
772
773impl glib::HasParamSpec for MessageHeadersType {
774    type ParamSpec = glib::ParamSpecEnum;
775    type SetValue = Self;
776    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
777
778    fn param_spec_builder() -> Self::BuilderFn {
779        Self::ParamSpec::builder_with_default
780    }
781}
782
783impl glib::value::ValueType for MessageHeadersType {
784    type Type = Self;
785}
786
787unsafe impl<'a> glib::value::FromValue<'a> for MessageHeadersType {
788    type Checker = glib::value::GenericValueTypeChecker<Self>;
789
790    #[inline]
791    unsafe fn from_value(value: &'a glib::Value) -> Self {
792        skip_assert_initialized!();
793        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
794    }
795}
796
797impl ToValue for MessageHeadersType {
798    #[inline]
799    fn to_value(&self) -> glib::Value {
800        let mut value = glib::Value::for_value_type::<Self>();
801        unsafe {
802            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
803        }
804        value
805    }
806
807    #[inline]
808    fn value_type(&self) -> glib::Type {
809        Self::static_type()
810    }
811}
812
813impl From<MessageHeadersType> for glib::Value {
814    #[inline]
815    fn from(v: MessageHeadersType) -> Self {
816        skip_assert_initialized!();
817        ToValue::to_value(&v)
818    }
819}
820
821#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
822#[non_exhaustive]
823#[doc(alias = "SoupMessagePriority")]
824pub enum MessagePriority {
825    #[doc(alias = "SOUP_MESSAGE_PRIORITY_VERY_LOW")]
826    VeryLow,
827    #[doc(alias = "SOUP_MESSAGE_PRIORITY_LOW")]
828    Low,
829    #[doc(alias = "SOUP_MESSAGE_PRIORITY_NORMAL")]
830    Normal,
831    #[doc(alias = "SOUP_MESSAGE_PRIORITY_HIGH")]
832    High,
833    #[doc(alias = "SOUP_MESSAGE_PRIORITY_VERY_HIGH")]
834    VeryHigh,
835    #[doc(hidden)]
836    __Unknown(i32),
837}
838
839#[doc(hidden)]
840impl IntoGlib for MessagePriority {
841    type GlibType = ffi::SoupMessagePriority;
842
843    #[inline]
844    fn into_glib(self) -> ffi::SoupMessagePriority {
845        match self {
846            Self::VeryLow => ffi::SOUP_MESSAGE_PRIORITY_VERY_LOW,
847            Self::Low => ffi::SOUP_MESSAGE_PRIORITY_LOW,
848            Self::Normal => ffi::SOUP_MESSAGE_PRIORITY_NORMAL,
849            Self::High => ffi::SOUP_MESSAGE_PRIORITY_HIGH,
850            Self::VeryHigh => ffi::SOUP_MESSAGE_PRIORITY_VERY_HIGH,
851            Self::__Unknown(value) => value,
852        }
853    }
854}
855
856#[doc(hidden)]
857impl FromGlib<ffi::SoupMessagePriority> for MessagePriority {
858    #[inline]
859    unsafe fn from_glib(value: ffi::SoupMessagePriority) -> Self {
860        skip_assert_initialized!();
861
862        match value {
863            ffi::SOUP_MESSAGE_PRIORITY_VERY_LOW => Self::VeryLow,
864            ffi::SOUP_MESSAGE_PRIORITY_LOW => Self::Low,
865            ffi::SOUP_MESSAGE_PRIORITY_NORMAL => Self::Normal,
866            ffi::SOUP_MESSAGE_PRIORITY_HIGH => Self::High,
867            ffi::SOUP_MESSAGE_PRIORITY_VERY_HIGH => Self::VeryHigh,
868            value => Self::__Unknown(value),
869        }
870    }
871}
872
873impl StaticType for MessagePriority {
874    #[inline]
875    #[doc(alias = "soup_message_priority_get_type")]
876    fn static_type() -> glib::Type {
877        unsafe { from_glib(ffi::soup_message_priority_get_type()) }
878    }
879}
880
881impl glib::HasParamSpec for MessagePriority {
882    type ParamSpec = glib::ParamSpecEnum;
883    type SetValue = Self;
884    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
885
886    fn param_spec_builder() -> Self::BuilderFn {
887        Self::ParamSpec::builder_with_default
888    }
889}
890
891impl glib::value::ValueType for MessagePriority {
892    type Type = Self;
893}
894
895unsafe impl<'a> glib::value::FromValue<'a> for MessagePriority {
896    type Checker = glib::value::GenericValueTypeChecker<Self>;
897
898    #[inline]
899    unsafe fn from_value(value: &'a glib::Value) -> Self {
900        skip_assert_initialized!();
901        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
902    }
903}
904
905impl ToValue for MessagePriority {
906    #[inline]
907    fn to_value(&self) -> glib::Value {
908        let mut value = glib::Value::for_value_type::<Self>();
909        unsafe {
910            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
911        }
912        value
913    }
914
915    #[inline]
916    fn value_type(&self) -> glib::Type {
917        Self::static_type()
918    }
919}
920
921impl From<MessagePriority> for glib::Value {
922    #[inline]
923    fn from(v: MessagePriority) -> Self {
924        skip_assert_initialized!();
925        ToValue::to_value(&v)
926    }
927}
928
929#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
930#[non_exhaustive]
931#[doc(alias = "SoupSameSitePolicy")]
932pub enum SameSitePolicy {
933    #[doc(alias = "SOUP_SAME_SITE_POLICY_NONE")]
934    None,
935    #[doc(alias = "SOUP_SAME_SITE_POLICY_LAX")]
936    Lax,
937    #[doc(alias = "SOUP_SAME_SITE_POLICY_STRICT")]
938    Strict,
939    #[doc(hidden)]
940    __Unknown(i32),
941}
942
943#[doc(hidden)]
944impl IntoGlib for SameSitePolicy {
945    type GlibType = ffi::SoupSameSitePolicy;
946
947    #[inline]
948    fn into_glib(self) -> ffi::SoupSameSitePolicy {
949        match self {
950            Self::None => ffi::SOUP_SAME_SITE_POLICY_NONE,
951            Self::Lax => ffi::SOUP_SAME_SITE_POLICY_LAX,
952            Self::Strict => ffi::SOUP_SAME_SITE_POLICY_STRICT,
953            Self::__Unknown(value) => value,
954        }
955    }
956}
957
958#[doc(hidden)]
959impl FromGlib<ffi::SoupSameSitePolicy> for SameSitePolicy {
960    #[inline]
961    unsafe fn from_glib(value: ffi::SoupSameSitePolicy) -> Self {
962        skip_assert_initialized!();
963
964        match value {
965            ffi::SOUP_SAME_SITE_POLICY_NONE => Self::None,
966            ffi::SOUP_SAME_SITE_POLICY_LAX => Self::Lax,
967            ffi::SOUP_SAME_SITE_POLICY_STRICT => Self::Strict,
968            value => Self::__Unknown(value),
969        }
970    }
971}
972
973impl StaticType for SameSitePolicy {
974    #[inline]
975    #[doc(alias = "soup_same_site_policy_get_type")]
976    fn static_type() -> glib::Type {
977        unsafe { from_glib(ffi::soup_same_site_policy_get_type()) }
978    }
979}
980
981impl glib::HasParamSpec for SameSitePolicy {
982    type ParamSpec = glib::ParamSpecEnum;
983    type SetValue = Self;
984    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
985
986    fn param_spec_builder() -> Self::BuilderFn {
987        Self::ParamSpec::builder_with_default
988    }
989}
990
991impl glib::value::ValueType for SameSitePolicy {
992    type Type = Self;
993}
994
995unsafe impl<'a> glib::value::FromValue<'a> for SameSitePolicy {
996    type Checker = glib::value::GenericValueTypeChecker<Self>;
997
998    #[inline]
999    unsafe fn from_value(value: &'a glib::Value) -> Self {
1000        skip_assert_initialized!();
1001        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1002    }
1003}
1004
1005impl ToValue for SameSitePolicy {
1006    #[inline]
1007    fn to_value(&self) -> glib::Value {
1008        let mut value = glib::Value::for_value_type::<Self>();
1009        unsafe {
1010            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1011        }
1012        value
1013    }
1014
1015    #[inline]
1016    fn value_type(&self) -> glib::Type {
1017        Self::static_type()
1018    }
1019}
1020
1021impl From<SameSitePolicy> for glib::Value {
1022    #[inline]
1023    fn from(v: SameSitePolicy) -> Self {
1024        skip_assert_initialized!();
1025        ToValue::to_value(&v)
1026    }
1027}
1028
1029#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1030#[non_exhaustive]
1031#[doc(alias = "SoupSessionError")]
1032pub enum SessionError {
1033    #[doc(alias = "SOUP_SESSION_ERROR_PARSING")]
1034    Parsing,
1035    #[doc(alias = "SOUP_SESSION_ERROR_ENCODING")]
1036    Encoding,
1037    #[doc(alias = "SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS")]
1038    TooManyRedirects,
1039    #[doc(alias = "SOUP_SESSION_ERROR_TOO_MANY_RESTARTS")]
1040    TooManyRestarts,
1041    #[doc(alias = "SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION")]
1042    RedirectNoLocation,
1043    #[doc(alias = "SOUP_SESSION_ERROR_REDIRECT_BAD_URI")]
1044    RedirectBadUri,
1045    #[doc(alias = "SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE")]
1046    MessageAlreadyInQueue,
1047    #[doc(hidden)]
1048    __Unknown(i32),
1049}
1050
1051#[doc(hidden)]
1052impl IntoGlib for SessionError {
1053    type GlibType = ffi::SoupSessionError;
1054
1055    #[inline]
1056    fn into_glib(self) -> ffi::SoupSessionError {
1057        match self {
1058            Self::Parsing => ffi::SOUP_SESSION_ERROR_PARSING,
1059            Self::Encoding => ffi::SOUP_SESSION_ERROR_ENCODING,
1060            Self::TooManyRedirects => ffi::SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS,
1061            Self::TooManyRestarts => ffi::SOUP_SESSION_ERROR_TOO_MANY_RESTARTS,
1062            Self::RedirectNoLocation => ffi::SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION,
1063            Self::RedirectBadUri => ffi::SOUP_SESSION_ERROR_REDIRECT_BAD_URI,
1064            Self::MessageAlreadyInQueue => ffi::SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE,
1065            Self::__Unknown(value) => value,
1066        }
1067    }
1068}
1069
1070#[doc(hidden)]
1071impl FromGlib<ffi::SoupSessionError> for SessionError {
1072    #[inline]
1073    unsafe fn from_glib(value: ffi::SoupSessionError) -> Self {
1074        skip_assert_initialized!();
1075
1076        match value {
1077            ffi::SOUP_SESSION_ERROR_PARSING => Self::Parsing,
1078            ffi::SOUP_SESSION_ERROR_ENCODING => Self::Encoding,
1079            ffi::SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS => Self::TooManyRedirects,
1080            ffi::SOUP_SESSION_ERROR_TOO_MANY_RESTARTS => Self::TooManyRestarts,
1081            ffi::SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION => Self::RedirectNoLocation,
1082            ffi::SOUP_SESSION_ERROR_REDIRECT_BAD_URI => Self::RedirectBadUri,
1083            ffi::SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE => Self::MessageAlreadyInQueue,
1084            value => Self::__Unknown(value),
1085        }
1086    }
1087}
1088
1089impl glib::error::ErrorDomain for SessionError {
1090    #[inline]
1091    fn domain() -> glib::Quark {
1092        skip_assert_initialized!();
1093
1094        unsafe { from_glib(ffi::soup_session_error_quark()) }
1095    }
1096
1097    #[inline]
1098    fn code(self) -> i32 {
1099        self.into_glib()
1100    }
1101
1102    #[inline]
1103    #[allow(clippy::match_single_binding)]
1104    fn from(code: i32) -> Option<Self> {
1105        skip_assert_initialized!();
1106        match unsafe { from_glib(code) } {
1107            value => Some(value),
1108        }
1109    }
1110}
1111
1112impl StaticType for SessionError {
1113    #[inline]
1114    #[doc(alias = "soup_session_error_get_type")]
1115    fn static_type() -> glib::Type {
1116        unsafe { from_glib(ffi::soup_session_error_get_type()) }
1117    }
1118}
1119
1120impl glib::HasParamSpec for SessionError {
1121    type ParamSpec = glib::ParamSpecEnum;
1122    type SetValue = Self;
1123    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1124
1125    fn param_spec_builder() -> Self::BuilderFn {
1126        Self::ParamSpec::builder_with_default
1127    }
1128}
1129
1130impl glib::value::ValueType for SessionError {
1131    type Type = Self;
1132}
1133
1134unsafe impl<'a> glib::value::FromValue<'a> for SessionError {
1135    type Checker = glib::value::GenericValueTypeChecker<Self>;
1136
1137    #[inline]
1138    unsafe fn from_value(value: &'a glib::Value) -> Self {
1139        skip_assert_initialized!();
1140        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1141    }
1142}
1143
1144impl ToValue for SessionError {
1145    #[inline]
1146    fn to_value(&self) -> glib::Value {
1147        let mut value = glib::Value::for_value_type::<Self>();
1148        unsafe {
1149            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1150        }
1151        value
1152    }
1153
1154    #[inline]
1155    fn value_type(&self) -> glib::Type {
1156        Self::static_type()
1157    }
1158}
1159
1160impl From<SessionError> for glib::Value {
1161    #[inline]
1162    fn from(v: SessionError) -> Self {
1163        skip_assert_initialized!();
1164        ToValue::to_value(&v)
1165    }
1166}
1167
1168#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1169#[non_exhaustive]
1170#[doc(alias = "SoupStatus")]
1171pub enum Status {
1172    #[doc(alias = "SOUP_STATUS_NONE")]
1173    None,
1174    #[doc(alias = "SOUP_STATUS_CONTINUE")]
1175    Continue,
1176    #[doc(alias = "SOUP_STATUS_SWITCHING_PROTOCOLS")]
1177    SwitchingProtocols,
1178    #[doc(alias = "SOUP_STATUS_PROCESSING")]
1179    Processing,
1180    #[doc(alias = "SOUP_STATUS_OK")]
1181    Ok,
1182    #[doc(alias = "SOUP_STATUS_CREATED")]
1183    Created,
1184    #[doc(alias = "SOUP_STATUS_ACCEPTED")]
1185    Accepted,
1186    #[doc(alias = "SOUP_STATUS_NON_AUTHORITATIVE")]
1187    NonAuthoritative,
1188    #[doc(alias = "SOUP_STATUS_NO_CONTENT")]
1189    NoContent,
1190    #[doc(alias = "SOUP_STATUS_RESET_CONTENT")]
1191    ResetContent,
1192    #[doc(alias = "SOUP_STATUS_PARTIAL_CONTENT")]
1193    PartialContent,
1194    #[doc(alias = "SOUP_STATUS_MULTI_STATUS")]
1195    MultiStatus,
1196    #[doc(alias = "SOUP_STATUS_MULTIPLE_CHOICES")]
1197    MultipleChoices,
1198    #[doc(alias = "SOUP_STATUS_MOVED_PERMANENTLY")]
1199    MovedPermanently,
1200    #[doc(alias = "SOUP_STATUS_FOUND")]
1201    Found,
1202    #[doc(alias = "SOUP_STATUS_SEE_OTHER")]
1203    SeeOther,
1204    #[doc(alias = "SOUP_STATUS_NOT_MODIFIED")]
1205    NotModified,
1206    #[doc(alias = "SOUP_STATUS_USE_PROXY")]
1207    UseProxy,
1208    #[doc(alias = "SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL")]
1209    NotAppearingInThisProtocol,
1210    #[doc(alias = "SOUP_STATUS_TEMPORARY_REDIRECT")]
1211    TemporaryRedirect,
1212    #[doc(alias = "SOUP_STATUS_PERMANENT_REDIRECT")]
1213    PermanentRedirect,
1214    #[doc(alias = "SOUP_STATUS_BAD_REQUEST")]
1215    BadRequest,
1216    #[doc(alias = "SOUP_STATUS_UNAUTHORIZED")]
1217    Unauthorized,
1218    #[doc(alias = "SOUP_STATUS_PAYMENT_REQUIRED")]
1219    PaymentRequired,
1220    #[doc(alias = "SOUP_STATUS_FORBIDDEN")]
1221    Forbidden,
1222    #[doc(alias = "SOUP_STATUS_NOT_FOUND")]
1223    NotFound,
1224    #[doc(alias = "SOUP_STATUS_METHOD_NOT_ALLOWED")]
1225    MethodNotAllowed,
1226    #[doc(alias = "SOUP_STATUS_NOT_ACCEPTABLE")]
1227    NotAcceptable,
1228    #[doc(alias = "SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED")]
1229    ProxyAuthenticationRequired,
1230    #[doc(alias = "SOUP_STATUS_REQUEST_TIMEOUT")]
1231    RequestTimeout,
1232    #[doc(alias = "SOUP_STATUS_CONFLICT")]
1233    Conflict,
1234    #[doc(alias = "SOUP_STATUS_GONE")]
1235    Gone,
1236    #[doc(alias = "SOUP_STATUS_LENGTH_REQUIRED")]
1237    LengthRequired,
1238    #[doc(alias = "SOUP_STATUS_PRECONDITION_FAILED")]
1239    PreconditionFailed,
1240    #[doc(alias = "SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE")]
1241    RequestEntityTooLarge,
1242    #[doc(alias = "SOUP_STATUS_REQUEST_URI_TOO_LONG")]
1243    RequestUriTooLong,
1244    #[doc(alias = "SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE")]
1245    UnsupportedMediaType,
1246    #[doc(alias = "SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE")]
1247    RequestedRangeNotSatisfiable,
1248    #[doc(alias = "SOUP_STATUS_EXPECTATION_FAILED")]
1249    ExpectationFailed,
1250    #[doc(alias = "SOUP_STATUS_MISDIRECTED_REQUEST")]
1251    MisdirectedRequest,
1252    #[doc(alias = "SOUP_STATUS_UNPROCESSABLE_ENTITY")]
1253    UnprocessableEntity,
1254    #[doc(alias = "SOUP_STATUS_LOCKED")]
1255    Locked,
1256    #[doc(alias = "SOUP_STATUS_FAILED_DEPENDENCY")]
1257    FailedDependency,
1258    #[doc(alias = "SOUP_STATUS_INTERNAL_SERVER_ERROR")]
1259    InternalServerError,
1260    #[doc(alias = "SOUP_STATUS_NOT_IMPLEMENTED")]
1261    NotImplemented,
1262    #[doc(alias = "SOUP_STATUS_BAD_GATEWAY")]
1263    BadGateway,
1264    #[doc(alias = "SOUP_STATUS_SERVICE_UNAVAILABLE")]
1265    ServiceUnavailable,
1266    #[doc(alias = "SOUP_STATUS_GATEWAY_TIMEOUT")]
1267    GatewayTimeout,
1268    #[doc(alias = "SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED")]
1269    HttpVersionNotSupported,
1270    #[doc(alias = "SOUP_STATUS_INSUFFICIENT_STORAGE")]
1271    InsufficientStorage,
1272    #[doc(alias = "SOUP_STATUS_NOT_EXTENDED")]
1273    NotExtended,
1274    #[doc(hidden)]
1275    __Unknown(i32),
1276}
1277
1278impl Status {
1279    #[doc(alias = "soup_status_get_phrase")]
1280    #[doc(alias = "get_phrase")]
1281    pub fn phrase(status_code: u32) -> Option<glib::GString> {
1282        assert_initialized_main_thread!();
1283        unsafe { from_glib_none(ffi::soup_status_get_phrase(status_code)) }
1284    }
1285}
1286
1287#[doc(hidden)]
1288impl IntoGlib for Status {
1289    type GlibType = ffi::SoupStatus;
1290
1291    fn into_glib(self) -> ffi::SoupStatus {
1292        match self {
1293            Self::None => ffi::SOUP_STATUS_NONE,
1294            Self::Continue => ffi::SOUP_STATUS_CONTINUE,
1295            Self::SwitchingProtocols => ffi::SOUP_STATUS_SWITCHING_PROTOCOLS,
1296            Self::Processing => ffi::SOUP_STATUS_PROCESSING,
1297            Self::Ok => ffi::SOUP_STATUS_OK,
1298            Self::Created => ffi::SOUP_STATUS_CREATED,
1299            Self::Accepted => ffi::SOUP_STATUS_ACCEPTED,
1300            Self::NonAuthoritative => ffi::SOUP_STATUS_NON_AUTHORITATIVE,
1301            Self::NoContent => ffi::SOUP_STATUS_NO_CONTENT,
1302            Self::ResetContent => ffi::SOUP_STATUS_RESET_CONTENT,
1303            Self::PartialContent => ffi::SOUP_STATUS_PARTIAL_CONTENT,
1304            Self::MultiStatus => ffi::SOUP_STATUS_MULTI_STATUS,
1305            Self::MultipleChoices => ffi::SOUP_STATUS_MULTIPLE_CHOICES,
1306            Self::MovedPermanently => ffi::SOUP_STATUS_MOVED_PERMANENTLY,
1307            Self::Found => ffi::SOUP_STATUS_FOUND,
1308            Self::SeeOther => ffi::SOUP_STATUS_SEE_OTHER,
1309            Self::NotModified => ffi::SOUP_STATUS_NOT_MODIFIED,
1310            Self::UseProxy => ffi::SOUP_STATUS_USE_PROXY,
1311            Self::NotAppearingInThisProtocol => ffi::SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL,
1312            Self::TemporaryRedirect => ffi::SOUP_STATUS_TEMPORARY_REDIRECT,
1313            Self::PermanentRedirect => ffi::SOUP_STATUS_PERMANENT_REDIRECT,
1314            Self::BadRequest => ffi::SOUP_STATUS_BAD_REQUEST,
1315            Self::Unauthorized => ffi::SOUP_STATUS_UNAUTHORIZED,
1316            Self::PaymentRequired => ffi::SOUP_STATUS_PAYMENT_REQUIRED,
1317            Self::Forbidden => ffi::SOUP_STATUS_FORBIDDEN,
1318            Self::NotFound => ffi::SOUP_STATUS_NOT_FOUND,
1319            Self::MethodNotAllowed => ffi::SOUP_STATUS_METHOD_NOT_ALLOWED,
1320            Self::NotAcceptable => ffi::SOUP_STATUS_NOT_ACCEPTABLE,
1321            Self::ProxyAuthenticationRequired => ffi::SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED,
1322            Self::RequestTimeout => ffi::SOUP_STATUS_REQUEST_TIMEOUT,
1323            Self::Conflict => ffi::SOUP_STATUS_CONFLICT,
1324            Self::Gone => ffi::SOUP_STATUS_GONE,
1325            Self::LengthRequired => ffi::SOUP_STATUS_LENGTH_REQUIRED,
1326            Self::PreconditionFailed => ffi::SOUP_STATUS_PRECONDITION_FAILED,
1327            Self::RequestEntityTooLarge => ffi::SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE,
1328            Self::RequestUriTooLong => ffi::SOUP_STATUS_REQUEST_URI_TOO_LONG,
1329            Self::UnsupportedMediaType => ffi::SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE,
1330            Self::RequestedRangeNotSatisfiable => ffi::SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE,
1331            Self::ExpectationFailed => ffi::SOUP_STATUS_EXPECTATION_FAILED,
1332            Self::MisdirectedRequest => ffi::SOUP_STATUS_MISDIRECTED_REQUEST,
1333            Self::UnprocessableEntity => ffi::SOUP_STATUS_UNPROCESSABLE_ENTITY,
1334            Self::Locked => ffi::SOUP_STATUS_LOCKED,
1335            Self::FailedDependency => ffi::SOUP_STATUS_FAILED_DEPENDENCY,
1336            Self::InternalServerError => ffi::SOUP_STATUS_INTERNAL_SERVER_ERROR,
1337            Self::NotImplemented => ffi::SOUP_STATUS_NOT_IMPLEMENTED,
1338            Self::BadGateway => ffi::SOUP_STATUS_BAD_GATEWAY,
1339            Self::ServiceUnavailable => ffi::SOUP_STATUS_SERVICE_UNAVAILABLE,
1340            Self::GatewayTimeout => ffi::SOUP_STATUS_GATEWAY_TIMEOUT,
1341            Self::HttpVersionNotSupported => ffi::SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED,
1342            Self::InsufficientStorage => ffi::SOUP_STATUS_INSUFFICIENT_STORAGE,
1343            Self::NotExtended => ffi::SOUP_STATUS_NOT_EXTENDED,
1344            Self::__Unknown(value) => value,
1345        }
1346    }
1347}
1348
1349#[doc(hidden)]
1350impl FromGlib<ffi::SoupStatus> for Status {
1351    unsafe fn from_glib(value: ffi::SoupStatus) -> Self {
1352        skip_assert_initialized!();
1353
1354        match value {
1355            ffi::SOUP_STATUS_NONE => Self::None,
1356            ffi::SOUP_STATUS_CONTINUE => Self::Continue,
1357            ffi::SOUP_STATUS_SWITCHING_PROTOCOLS => Self::SwitchingProtocols,
1358            ffi::SOUP_STATUS_PROCESSING => Self::Processing,
1359            ffi::SOUP_STATUS_OK => Self::Ok,
1360            ffi::SOUP_STATUS_CREATED => Self::Created,
1361            ffi::SOUP_STATUS_ACCEPTED => Self::Accepted,
1362            ffi::SOUP_STATUS_NON_AUTHORITATIVE => Self::NonAuthoritative,
1363            ffi::SOUP_STATUS_NO_CONTENT => Self::NoContent,
1364            ffi::SOUP_STATUS_RESET_CONTENT => Self::ResetContent,
1365            ffi::SOUP_STATUS_PARTIAL_CONTENT => Self::PartialContent,
1366            ffi::SOUP_STATUS_MULTI_STATUS => Self::MultiStatus,
1367            ffi::SOUP_STATUS_MULTIPLE_CHOICES => Self::MultipleChoices,
1368            ffi::SOUP_STATUS_MOVED_PERMANENTLY => Self::MovedPermanently,
1369            ffi::SOUP_STATUS_FOUND => Self::Found,
1370            ffi::SOUP_STATUS_SEE_OTHER => Self::SeeOther,
1371            ffi::SOUP_STATUS_NOT_MODIFIED => Self::NotModified,
1372            ffi::SOUP_STATUS_USE_PROXY => Self::UseProxy,
1373            ffi::SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL => Self::NotAppearingInThisProtocol,
1374            ffi::SOUP_STATUS_TEMPORARY_REDIRECT => Self::TemporaryRedirect,
1375            ffi::SOUP_STATUS_PERMANENT_REDIRECT => Self::PermanentRedirect,
1376            ffi::SOUP_STATUS_BAD_REQUEST => Self::BadRequest,
1377            ffi::SOUP_STATUS_UNAUTHORIZED => Self::Unauthorized,
1378            ffi::SOUP_STATUS_PAYMENT_REQUIRED => Self::PaymentRequired,
1379            ffi::SOUP_STATUS_FORBIDDEN => Self::Forbidden,
1380            ffi::SOUP_STATUS_NOT_FOUND => Self::NotFound,
1381            ffi::SOUP_STATUS_METHOD_NOT_ALLOWED => Self::MethodNotAllowed,
1382            ffi::SOUP_STATUS_NOT_ACCEPTABLE => Self::NotAcceptable,
1383            ffi::SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED => Self::ProxyAuthenticationRequired,
1384            ffi::SOUP_STATUS_REQUEST_TIMEOUT => Self::RequestTimeout,
1385            ffi::SOUP_STATUS_CONFLICT => Self::Conflict,
1386            ffi::SOUP_STATUS_GONE => Self::Gone,
1387            ffi::SOUP_STATUS_LENGTH_REQUIRED => Self::LengthRequired,
1388            ffi::SOUP_STATUS_PRECONDITION_FAILED => Self::PreconditionFailed,
1389            ffi::SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE => Self::RequestEntityTooLarge,
1390            ffi::SOUP_STATUS_REQUEST_URI_TOO_LONG => Self::RequestUriTooLong,
1391            ffi::SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE => Self::UnsupportedMediaType,
1392            ffi::SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE => Self::RequestedRangeNotSatisfiable,
1393            ffi::SOUP_STATUS_EXPECTATION_FAILED => Self::ExpectationFailed,
1394            ffi::SOUP_STATUS_MISDIRECTED_REQUEST => Self::MisdirectedRequest,
1395            ffi::SOUP_STATUS_UNPROCESSABLE_ENTITY => Self::UnprocessableEntity,
1396            ffi::SOUP_STATUS_LOCKED => Self::Locked,
1397            ffi::SOUP_STATUS_FAILED_DEPENDENCY => Self::FailedDependency,
1398            ffi::SOUP_STATUS_INTERNAL_SERVER_ERROR => Self::InternalServerError,
1399            ffi::SOUP_STATUS_NOT_IMPLEMENTED => Self::NotImplemented,
1400            ffi::SOUP_STATUS_BAD_GATEWAY => Self::BadGateway,
1401            ffi::SOUP_STATUS_SERVICE_UNAVAILABLE => Self::ServiceUnavailable,
1402            ffi::SOUP_STATUS_GATEWAY_TIMEOUT => Self::GatewayTimeout,
1403            ffi::SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED => Self::HttpVersionNotSupported,
1404            ffi::SOUP_STATUS_INSUFFICIENT_STORAGE => Self::InsufficientStorage,
1405            ffi::SOUP_STATUS_NOT_EXTENDED => Self::NotExtended,
1406            value => Self::__Unknown(value),
1407        }
1408    }
1409}
1410
1411impl StaticType for Status {
1412    #[inline]
1413    #[doc(alias = "soup_status_get_type")]
1414    fn static_type() -> glib::Type {
1415        unsafe { from_glib(ffi::soup_status_get_type()) }
1416    }
1417}
1418
1419impl glib::HasParamSpec for Status {
1420    type ParamSpec = glib::ParamSpecEnum;
1421    type SetValue = Self;
1422    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1423
1424    fn param_spec_builder() -> Self::BuilderFn {
1425        Self::ParamSpec::builder_with_default
1426    }
1427}
1428
1429impl glib::value::ValueType for Status {
1430    type Type = Self;
1431}
1432
1433unsafe impl<'a> glib::value::FromValue<'a> for Status {
1434    type Checker = glib::value::GenericValueTypeChecker<Self>;
1435
1436    #[inline]
1437    unsafe fn from_value(value: &'a glib::Value) -> Self {
1438        skip_assert_initialized!();
1439        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1440    }
1441}
1442
1443impl ToValue for Status {
1444    #[inline]
1445    fn to_value(&self) -> glib::Value {
1446        let mut value = glib::Value::for_value_type::<Self>();
1447        unsafe {
1448            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1449        }
1450        value
1451    }
1452
1453    #[inline]
1454    fn value_type(&self) -> glib::Type {
1455        Self::static_type()
1456    }
1457}
1458
1459impl From<Status> for glib::Value {
1460    #[inline]
1461    fn from(v: Status) -> Self {
1462        skip_assert_initialized!();
1463        ToValue::to_value(&v)
1464    }
1465}
1466
1467#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1468#[non_exhaustive]
1469#[doc(alias = "SoupTLDError")]
1470pub enum TLDError {
1471    #[doc(alias = "SOUP_TLD_ERROR_INVALID_HOSTNAME")]
1472    InvalidHostname,
1473    #[doc(alias = "SOUP_TLD_ERROR_IS_IP_ADDRESS")]
1474    IsIpAddress,
1475    #[doc(alias = "SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS")]
1476    NotEnoughDomains,
1477    #[doc(alias = "SOUP_TLD_ERROR_NO_BASE_DOMAIN")]
1478    NoBaseDomain,
1479    #[doc(alias = "SOUP_TLD_ERROR_NO_PSL_DATA")]
1480    NoPslData,
1481    #[doc(hidden)]
1482    __Unknown(i32),
1483}
1484
1485#[doc(hidden)]
1486impl IntoGlib for TLDError {
1487    type GlibType = ffi::SoupTLDError;
1488
1489    #[inline]
1490    fn into_glib(self) -> ffi::SoupTLDError {
1491        match self {
1492            Self::InvalidHostname => ffi::SOUP_TLD_ERROR_INVALID_HOSTNAME,
1493            Self::IsIpAddress => ffi::SOUP_TLD_ERROR_IS_IP_ADDRESS,
1494            Self::NotEnoughDomains => ffi::SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS,
1495            Self::NoBaseDomain => ffi::SOUP_TLD_ERROR_NO_BASE_DOMAIN,
1496            Self::NoPslData => ffi::SOUP_TLD_ERROR_NO_PSL_DATA,
1497            Self::__Unknown(value) => value,
1498        }
1499    }
1500}
1501
1502#[doc(hidden)]
1503impl FromGlib<ffi::SoupTLDError> for TLDError {
1504    #[inline]
1505    unsafe fn from_glib(value: ffi::SoupTLDError) -> Self {
1506        skip_assert_initialized!();
1507
1508        match value {
1509            ffi::SOUP_TLD_ERROR_INVALID_HOSTNAME => Self::InvalidHostname,
1510            ffi::SOUP_TLD_ERROR_IS_IP_ADDRESS => Self::IsIpAddress,
1511            ffi::SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS => Self::NotEnoughDomains,
1512            ffi::SOUP_TLD_ERROR_NO_BASE_DOMAIN => Self::NoBaseDomain,
1513            ffi::SOUP_TLD_ERROR_NO_PSL_DATA => Self::NoPslData,
1514            value => Self::__Unknown(value),
1515        }
1516    }
1517}
1518
1519impl glib::error::ErrorDomain for TLDError {
1520    #[inline]
1521    fn domain() -> glib::Quark {
1522        skip_assert_initialized!();
1523
1524        unsafe { from_glib(ffi::soup_tld_error_quark()) }
1525    }
1526
1527    #[inline]
1528    fn code(self) -> i32 {
1529        self.into_glib()
1530    }
1531
1532    #[inline]
1533    #[allow(clippy::match_single_binding)]
1534    fn from(code: i32) -> Option<Self> {
1535        skip_assert_initialized!();
1536        match unsafe { from_glib(code) } {
1537            value => Some(value),
1538        }
1539    }
1540}
1541
1542impl StaticType for TLDError {
1543    #[inline]
1544    #[doc(alias = "soup_tld_error_get_type")]
1545    fn static_type() -> glib::Type {
1546        unsafe { from_glib(ffi::soup_tld_error_get_type()) }
1547    }
1548}
1549
1550impl glib::HasParamSpec for TLDError {
1551    type ParamSpec = glib::ParamSpecEnum;
1552    type SetValue = Self;
1553    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1554
1555    fn param_spec_builder() -> Self::BuilderFn {
1556        Self::ParamSpec::builder_with_default
1557    }
1558}
1559
1560impl glib::value::ValueType for TLDError {
1561    type Type = Self;
1562}
1563
1564unsafe impl<'a> glib::value::FromValue<'a> for TLDError {
1565    type Checker = glib::value::GenericValueTypeChecker<Self>;
1566
1567    #[inline]
1568    unsafe fn from_value(value: &'a glib::Value) -> Self {
1569        skip_assert_initialized!();
1570        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1571    }
1572}
1573
1574impl ToValue for TLDError {
1575    #[inline]
1576    fn to_value(&self) -> glib::Value {
1577        let mut value = glib::Value::for_value_type::<Self>();
1578        unsafe {
1579            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1580        }
1581        value
1582    }
1583
1584    #[inline]
1585    fn value_type(&self) -> glib::Type {
1586        Self::static_type()
1587    }
1588}
1589
1590impl From<TLDError> for glib::Value {
1591    #[inline]
1592    fn from(v: TLDError) -> Self {
1593        skip_assert_initialized!();
1594        ToValue::to_value(&v)
1595    }
1596}
1597
1598#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1599#[non_exhaustive]
1600#[doc(alias = "SoupURIComponent")]
1601pub enum URIComponent {
1602    #[doc(alias = "SOUP_URI_NONE")]
1603    None,
1604    #[doc(alias = "SOUP_URI_SCHEME")]
1605    Scheme,
1606    #[doc(alias = "SOUP_URI_USER")]
1607    User,
1608    #[doc(alias = "SOUP_URI_PASSWORD")]
1609    Password,
1610    #[doc(alias = "SOUP_URI_AUTH_PARAMS")]
1611    AuthParams,
1612    #[doc(alias = "SOUP_URI_HOST")]
1613    Host,
1614    #[doc(alias = "SOUP_URI_PORT")]
1615    Port,
1616    #[doc(alias = "SOUP_URI_PATH")]
1617    Path,
1618    #[doc(alias = "SOUP_URI_QUERY")]
1619    Query,
1620    #[doc(alias = "SOUP_URI_FRAGMENT")]
1621    Fragment,
1622    #[doc(hidden)]
1623    __Unknown(i32),
1624}
1625
1626#[doc(hidden)]
1627impl IntoGlib for URIComponent {
1628    type GlibType = ffi::SoupURIComponent;
1629
1630    #[inline]
1631    fn into_glib(self) -> ffi::SoupURIComponent {
1632        match self {
1633            Self::None => ffi::SOUP_URI_NONE,
1634            Self::Scheme => ffi::SOUP_URI_SCHEME,
1635            Self::User => ffi::SOUP_URI_USER,
1636            Self::Password => ffi::SOUP_URI_PASSWORD,
1637            Self::AuthParams => ffi::SOUP_URI_AUTH_PARAMS,
1638            Self::Host => ffi::SOUP_URI_HOST,
1639            Self::Port => ffi::SOUP_URI_PORT,
1640            Self::Path => ffi::SOUP_URI_PATH,
1641            Self::Query => ffi::SOUP_URI_QUERY,
1642            Self::Fragment => ffi::SOUP_URI_FRAGMENT,
1643            Self::__Unknown(value) => value,
1644        }
1645    }
1646}
1647
1648#[doc(hidden)]
1649impl FromGlib<ffi::SoupURIComponent> for URIComponent {
1650    #[inline]
1651    unsafe fn from_glib(value: ffi::SoupURIComponent) -> Self {
1652        skip_assert_initialized!();
1653
1654        match value {
1655            ffi::SOUP_URI_NONE => Self::None,
1656            ffi::SOUP_URI_SCHEME => Self::Scheme,
1657            ffi::SOUP_URI_USER => Self::User,
1658            ffi::SOUP_URI_PASSWORD => Self::Password,
1659            ffi::SOUP_URI_AUTH_PARAMS => Self::AuthParams,
1660            ffi::SOUP_URI_HOST => Self::Host,
1661            ffi::SOUP_URI_PORT => Self::Port,
1662            ffi::SOUP_URI_PATH => Self::Path,
1663            ffi::SOUP_URI_QUERY => Self::Query,
1664            ffi::SOUP_URI_FRAGMENT => Self::Fragment,
1665            value => Self::__Unknown(value),
1666        }
1667    }
1668}
1669
1670impl StaticType for URIComponent {
1671    #[inline]
1672    #[doc(alias = "soup_uri_component_get_type")]
1673    fn static_type() -> glib::Type {
1674        unsafe { from_glib(ffi::soup_uri_component_get_type()) }
1675    }
1676}
1677
1678impl glib::HasParamSpec for URIComponent {
1679    type ParamSpec = glib::ParamSpecEnum;
1680    type SetValue = Self;
1681    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1682
1683    fn param_spec_builder() -> Self::BuilderFn {
1684        Self::ParamSpec::builder_with_default
1685    }
1686}
1687
1688impl glib::value::ValueType for URIComponent {
1689    type Type = Self;
1690}
1691
1692unsafe impl<'a> glib::value::FromValue<'a> for URIComponent {
1693    type Checker = glib::value::GenericValueTypeChecker<Self>;
1694
1695    #[inline]
1696    unsafe fn from_value(value: &'a glib::Value) -> Self {
1697        skip_assert_initialized!();
1698        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1699    }
1700}
1701
1702impl ToValue for URIComponent {
1703    #[inline]
1704    fn to_value(&self) -> glib::Value {
1705        let mut value = glib::Value::for_value_type::<Self>();
1706        unsafe {
1707            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1708        }
1709        value
1710    }
1711
1712    #[inline]
1713    fn value_type(&self) -> glib::Type {
1714        Self::static_type()
1715    }
1716}
1717
1718impl From<URIComponent> for glib::Value {
1719    #[inline]
1720    fn from(v: URIComponent) -> Self {
1721        skip_assert_initialized!();
1722        ToValue::to_value(&v)
1723    }
1724}
1725
1726#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1727#[non_exhaustive]
1728#[doc(alias = "SoupWebsocketCloseCode")]
1729pub enum WebsocketCloseCode {
1730    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_NORMAL")]
1731    Normal,
1732    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_GOING_AWAY")]
1733    GoingAway,
1734    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR")]
1735    ProtocolError,
1736    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA")]
1737    UnsupportedData,
1738    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_NO_STATUS")]
1739    NoStatus,
1740    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_ABNORMAL")]
1741    Abnormal,
1742    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_BAD_DATA")]
1743    BadData,
1744    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION")]
1745    PolicyViolation,
1746    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_TOO_BIG")]
1747    TooBig,
1748    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_NO_EXTENSION")]
1749    NoExtension,
1750    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_SERVER_ERROR")]
1751    ServerError,
1752    #[doc(alias = "SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE")]
1753    TlsHandshake,
1754    #[doc(hidden)]
1755    __Unknown(i32),
1756}
1757
1758#[doc(hidden)]
1759impl IntoGlib for WebsocketCloseCode {
1760    type GlibType = ffi::SoupWebsocketCloseCode;
1761
1762    #[inline]
1763    fn into_glib(self) -> ffi::SoupWebsocketCloseCode {
1764        match self {
1765            Self::Normal => ffi::SOUP_WEBSOCKET_CLOSE_NORMAL,
1766            Self::GoingAway => ffi::SOUP_WEBSOCKET_CLOSE_GOING_AWAY,
1767            Self::ProtocolError => ffi::SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR,
1768            Self::UnsupportedData => ffi::SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA,
1769            Self::NoStatus => ffi::SOUP_WEBSOCKET_CLOSE_NO_STATUS,
1770            Self::Abnormal => ffi::SOUP_WEBSOCKET_CLOSE_ABNORMAL,
1771            Self::BadData => ffi::SOUP_WEBSOCKET_CLOSE_BAD_DATA,
1772            Self::PolicyViolation => ffi::SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION,
1773            Self::TooBig => ffi::SOUP_WEBSOCKET_CLOSE_TOO_BIG,
1774            Self::NoExtension => ffi::SOUP_WEBSOCKET_CLOSE_NO_EXTENSION,
1775            Self::ServerError => ffi::SOUP_WEBSOCKET_CLOSE_SERVER_ERROR,
1776            Self::TlsHandshake => ffi::SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE,
1777            Self::__Unknown(value) => value,
1778        }
1779    }
1780}
1781
1782#[doc(hidden)]
1783impl FromGlib<ffi::SoupWebsocketCloseCode> for WebsocketCloseCode {
1784    #[inline]
1785    unsafe fn from_glib(value: ffi::SoupWebsocketCloseCode) -> Self {
1786        skip_assert_initialized!();
1787
1788        match value {
1789            ffi::SOUP_WEBSOCKET_CLOSE_NORMAL => Self::Normal,
1790            ffi::SOUP_WEBSOCKET_CLOSE_GOING_AWAY => Self::GoingAway,
1791            ffi::SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR => Self::ProtocolError,
1792            ffi::SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA => Self::UnsupportedData,
1793            ffi::SOUP_WEBSOCKET_CLOSE_NO_STATUS => Self::NoStatus,
1794            ffi::SOUP_WEBSOCKET_CLOSE_ABNORMAL => Self::Abnormal,
1795            ffi::SOUP_WEBSOCKET_CLOSE_BAD_DATA => Self::BadData,
1796            ffi::SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION => Self::PolicyViolation,
1797            ffi::SOUP_WEBSOCKET_CLOSE_TOO_BIG => Self::TooBig,
1798            ffi::SOUP_WEBSOCKET_CLOSE_NO_EXTENSION => Self::NoExtension,
1799            ffi::SOUP_WEBSOCKET_CLOSE_SERVER_ERROR => Self::ServerError,
1800            ffi::SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE => Self::TlsHandshake,
1801            value => Self::__Unknown(value),
1802        }
1803    }
1804}
1805
1806impl StaticType for WebsocketCloseCode {
1807    #[inline]
1808    #[doc(alias = "soup_websocket_close_code_get_type")]
1809    fn static_type() -> glib::Type {
1810        unsafe { from_glib(ffi::soup_websocket_close_code_get_type()) }
1811    }
1812}
1813
1814impl glib::HasParamSpec for WebsocketCloseCode {
1815    type ParamSpec = glib::ParamSpecEnum;
1816    type SetValue = Self;
1817    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1818
1819    fn param_spec_builder() -> Self::BuilderFn {
1820        Self::ParamSpec::builder_with_default
1821    }
1822}
1823
1824impl glib::value::ValueType for WebsocketCloseCode {
1825    type Type = Self;
1826}
1827
1828unsafe impl<'a> glib::value::FromValue<'a> for WebsocketCloseCode {
1829    type Checker = glib::value::GenericValueTypeChecker<Self>;
1830
1831    #[inline]
1832    unsafe fn from_value(value: &'a glib::Value) -> Self {
1833        skip_assert_initialized!();
1834        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1835    }
1836}
1837
1838impl ToValue for WebsocketCloseCode {
1839    #[inline]
1840    fn to_value(&self) -> glib::Value {
1841        let mut value = glib::Value::for_value_type::<Self>();
1842        unsafe {
1843            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1844        }
1845        value
1846    }
1847
1848    #[inline]
1849    fn value_type(&self) -> glib::Type {
1850        Self::static_type()
1851    }
1852}
1853
1854impl From<WebsocketCloseCode> for glib::Value {
1855    #[inline]
1856    fn from(v: WebsocketCloseCode) -> Self {
1857        skip_assert_initialized!();
1858        ToValue::to_value(&v)
1859    }
1860}
1861
1862#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1863#[non_exhaustive]
1864#[doc(alias = "SoupWebsocketConnectionType")]
1865pub enum WebsocketConnectionType {
1866    #[doc(alias = "SOUP_WEBSOCKET_CONNECTION_UNKNOWN")]
1867    Unknown,
1868    #[doc(alias = "SOUP_WEBSOCKET_CONNECTION_CLIENT")]
1869    Client,
1870    #[doc(alias = "SOUP_WEBSOCKET_CONNECTION_SERVER")]
1871    Server,
1872    #[doc(hidden)]
1873    __Unknown(i32),
1874}
1875
1876#[doc(hidden)]
1877impl IntoGlib for WebsocketConnectionType {
1878    type GlibType = ffi::SoupWebsocketConnectionType;
1879
1880    #[inline]
1881    fn into_glib(self) -> ffi::SoupWebsocketConnectionType {
1882        match self {
1883            Self::Unknown => ffi::SOUP_WEBSOCKET_CONNECTION_UNKNOWN,
1884            Self::Client => ffi::SOUP_WEBSOCKET_CONNECTION_CLIENT,
1885            Self::Server => ffi::SOUP_WEBSOCKET_CONNECTION_SERVER,
1886            Self::__Unknown(value) => value,
1887        }
1888    }
1889}
1890
1891#[doc(hidden)]
1892impl FromGlib<ffi::SoupWebsocketConnectionType> for WebsocketConnectionType {
1893    #[inline]
1894    unsafe fn from_glib(value: ffi::SoupWebsocketConnectionType) -> Self {
1895        skip_assert_initialized!();
1896
1897        match value {
1898            ffi::SOUP_WEBSOCKET_CONNECTION_UNKNOWN => Self::Unknown,
1899            ffi::SOUP_WEBSOCKET_CONNECTION_CLIENT => Self::Client,
1900            ffi::SOUP_WEBSOCKET_CONNECTION_SERVER => Self::Server,
1901            value => Self::__Unknown(value),
1902        }
1903    }
1904}
1905
1906impl StaticType for WebsocketConnectionType {
1907    #[inline]
1908    #[doc(alias = "soup_websocket_connection_type_get_type")]
1909    fn static_type() -> glib::Type {
1910        unsafe { from_glib(ffi::soup_websocket_connection_type_get_type()) }
1911    }
1912}
1913
1914impl glib::HasParamSpec for WebsocketConnectionType {
1915    type ParamSpec = glib::ParamSpecEnum;
1916    type SetValue = Self;
1917    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1918
1919    fn param_spec_builder() -> Self::BuilderFn {
1920        Self::ParamSpec::builder_with_default
1921    }
1922}
1923
1924impl glib::value::ValueType for WebsocketConnectionType {
1925    type Type = Self;
1926}
1927
1928unsafe impl<'a> glib::value::FromValue<'a> for WebsocketConnectionType {
1929    type Checker = glib::value::GenericValueTypeChecker<Self>;
1930
1931    #[inline]
1932    unsafe fn from_value(value: &'a glib::Value) -> Self {
1933        skip_assert_initialized!();
1934        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1935    }
1936}
1937
1938impl ToValue for WebsocketConnectionType {
1939    #[inline]
1940    fn to_value(&self) -> glib::Value {
1941        let mut value = glib::Value::for_value_type::<Self>();
1942        unsafe {
1943            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1944        }
1945        value
1946    }
1947
1948    #[inline]
1949    fn value_type(&self) -> glib::Type {
1950        Self::static_type()
1951    }
1952}
1953
1954impl From<WebsocketConnectionType> for glib::Value {
1955    #[inline]
1956    fn from(v: WebsocketConnectionType) -> Self {
1957        skip_assert_initialized!();
1958        ToValue::to_value(&v)
1959    }
1960}
1961
1962#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1963#[non_exhaustive]
1964#[doc(alias = "SoupWebsocketDataType")]
1965pub enum WebsocketDataType {
1966    #[doc(alias = "SOUP_WEBSOCKET_DATA_TEXT")]
1967    Text,
1968    #[doc(alias = "SOUP_WEBSOCKET_DATA_BINARY")]
1969    Binary,
1970    #[doc(hidden)]
1971    __Unknown(i32),
1972}
1973
1974#[doc(hidden)]
1975impl IntoGlib for WebsocketDataType {
1976    type GlibType = ffi::SoupWebsocketDataType;
1977
1978    #[inline]
1979    fn into_glib(self) -> ffi::SoupWebsocketDataType {
1980        match self {
1981            Self::Text => ffi::SOUP_WEBSOCKET_DATA_TEXT,
1982            Self::Binary => ffi::SOUP_WEBSOCKET_DATA_BINARY,
1983            Self::__Unknown(value) => value,
1984        }
1985    }
1986}
1987
1988#[doc(hidden)]
1989impl FromGlib<ffi::SoupWebsocketDataType> for WebsocketDataType {
1990    #[inline]
1991    unsafe fn from_glib(value: ffi::SoupWebsocketDataType) -> Self {
1992        skip_assert_initialized!();
1993
1994        match value {
1995            ffi::SOUP_WEBSOCKET_DATA_TEXT => Self::Text,
1996            ffi::SOUP_WEBSOCKET_DATA_BINARY => Self::Binary,
1997            value => Self::__Unknown(value),
1998        }
1999    }
2000}
2001
2002impl StaticType for WebsocketDataType {
2003    #[inline]
2004    #[doc(alias = "soup_websocket_data_type_get_type")]
2005    fn static_type() -> glib::Type {
2006        unsafe { from_glib(ffi::soup_websocket_data_type_get_type()) }
2007    }
2008}
2009
2010impl glib::HasParamSpec for WebsocketDataType {
2011    type ParamSpec = glib::ParamSpecEnum;
2012    type SetValue = Self;
2013    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2014
2015    fn param_spec_builder() -> Self::BuilderFn {
2016        Self::ParamSpec::builder_with_default
2017    }
2018}
2019
2020impl glib::value::ValueType for WebsocketDataType {
2021    type Type = Self;
2022}
2023
2024unsafe impl<'a> glib::value::FromValue<'a> for WebsocketDataType {
2025    type Checker = glib::value::GenericValueTypeChecker<Self>;
2026
2027    #[inline]
2028    unsafe fn from_value(value: &'a glib::Value) -> Self {
2029        skip_assert_initialized!();
2030        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2031    }
2032}
2033
2034impl ToValue for WebsocketDataType {
2035    #[inline]
2036    fn to_value(&self) -> glib::Value {
2037        let mut value = glib::Value::for_value_type::<Self>();
2038        unsafe {
2039            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2040        }
2041        value
2042    }
2043
2044    #[inline]
2045    fn value_type(&self) -> glib::Type {
2046        Self::static_type()
2047    }
2048}
2049
2050impl From<WebsocketDataType> for glib::Value {
2051    #[inline]
2052    fn from(v: WebsocketDataType) -> Self {
2053        skip_assert_initialized!();
2054        ToValue::to_value(&v)
2055    }
2056}
2057
2058#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2059#[non_exhaustive]
2060#[doc(alias = "SoupWebsocketError")]
2061pub enum WebsocketError {
2062    #[doc(alias = "SOUP_WEBSOCKET_ERROR_FAILED")]
2063    Failed,
2064    #[doc(alias = "SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET")]
2065    NotWebsocket,
2066    #[doc(alias = "SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE")]
2067    BadHandshake,
2068    #[doc(alias = "SOUP_WEBSOCKET_ERROR_BAD_ORIGIN")]
2069    BadOrigin,
2070    #[doc(hidden)]
2071    __Unknown(i32),
2072}
2073
2074#[doc(hidden)]
2075impl IntoGlib for WebsocketError {
2076    type GlibType = ffi::SoupWebsocketError;
2077
2078    #[inline]
2079    fn into_glib(self) -> ffi::SoupWebsocketError {
2080        match self {
2081            Self::Failed => ffi::SOUP_WEBSOCKET_ERROR_FAILED,
2082            Self::NotWebsocket => ffi::SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET,
2083            Self::BadHandshake => ffi::SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE,
2084            Self::BadOrigin => ffi::SOUP_WEBSOCKET_ERROR_BAD_ORIGIN,
2085            Self::__Unknown(value) => value,
2086        }
2087    }
2088}
2089
2090#[doc(hidden)]
2091impl FromGlib<ffi::SoupWebsocketError> for WebsocketError {
2092    #[inline]
2093    unsafe fn from_glib(value: ffi::SoupWebsocketError) -> Self {
2094        skip_assert_initialized!();
2095
2096        match value {
2097            ffi::SOUP_WEBSOCKET_ERROR_FAILED => Self::Failed,
2098            ffi::SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET => Self::NotWebsocket,
2099            ffi::SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE => Self::BadHandshake,
2100            ffi::SOUP_WEBSOCKET_ERROR_BAD_ORIGIN => Self::BadOrigin,
2101            value => Self::__Unknown(value),
2102        }
2103    }
2104}
2105
2106impl glib::error::ErrorDomain for WebsocketError {
2107    #[inline]
2108    fn domain() -> glib::Quark {
2109        skip_assert_initialized!();
2110
2111        unsafe { from_glib(ffi::soup_websocket_error_quark()) }
2112    }
2113
2114    #[inline]
2115    fn code(self) -> i32 {
2116        self.into_glib()
2117    }
2118
2119    #[inline]
2120    #[allow(clippy::match_single_binding)]
2121    fn from(code: i32) -> Option<Self> {
2122        skip_assert_initialized!();
2123        match unsafe { from_glib(code) } {
2124            Self::__Unknown(_) => Some(Self::Failed),
2125            value => Some(value),
2126        }
2127    }
2128}
2129
2130impl StaticType for WebsocketError {
2131    #[inline]
2132    #[doc(alias = "soup_websocket_error_get_type")]
2133    fn static_type() -> glib::Type {
2134        unsafe { from_glib(ffi::soup_websocket_error_get_type()) }
2135    }
2136}
2137
2138impl glib::HasParamSpec for WebsocketError {
2139    type ParamSpec = glib::ParamSpecEnum;
2140    type SetValue = Self;
2141    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2142
2143    fn param_spec_builder() -> Self::BuilderFn {
2144        Self::ParamSpec::builder_with_default
2145    }
2146}
2147
2148impl glib::value::ValueType for WebsocketError {
2149    type Type = Self;
2150}
2151
2152unsafe impl<'a> glib::value::FromValue<'a> for WebsocketError {
2153    type Checker = glib::value::GenericValueTypeChecker<Self>;
2154
2155    #[inline]
2156    unsafe fn from_value(value: &'a glib::Value) -> Self {
2157        skip_assert_initialized!();
2158        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2159    }
2160}
2161
2162impl ToValue for WebsocketError {
2163    #[inline]
2164    fn to_value(&self) -> glib::Value {
2165        let mut value = glib::Value::for_value_type::<Self>();
2166        unsafe {
2167            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2168        }
2169        value
2170    }
2171
2172    #[inline]
2173    fn value_type(&self) -> glib::Type {
2174        Self::static_type()
2175    }
2176}
2177
2178impl From<WebsocketError> for glib::Value {
2179    #[inline]
2180    fn from(v: WebsocketError) -> Self {
2181        skip_assert_initialized!();
2182        ToValue::to_value(&v)
2183    }
2184}
2185
2186#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2187#[non_exhaustive]
2188#[doc(alias = "SoupWebsocketState")]
2189pub enum WebsocketState {
2190    #[doc(alias = "SOUP_WEBSOCKET_STATE_OPEN")]
2191    Open,
2192    #[doc(alias = "SOUP_WEBSOCKET_STATE_CLOSING")]
2193    Closing,
2194    #[doc(alias = "SOUP_WEBSOCKET_STATE_CLOSED")]
2195    Closed,
2196    #[doc(hidden)]
2197    __Unknown(i32),
2198}
2199
2200#[doc(hidden)]
2201impl IntoGlib for WebsocketState {
2202    type GlibType = ffi::SoupWebsocketState;
2203
2204    #[inline]
2205    fn into_glib(self) -> ffi::SoupWebsocketState {
2206        match self {
2207            Self::Open => ffi::SOUP_WEBSOCKET_STATE_OPEN,
2208            Self::Closing => ffi::SOUP_WEBSOCKET_STATE_CLOSING,
2209            Self::Closed => ffi::SOUP_WEBSOCKET_STATE_CLOSED,
2210            Self::__Unknown(value) => value,
2211        }
2212    }
2213}
2214
2215#[doc(hidden)]
2216impl FromGlib<ffi::SoupWebsocketState> for WebsocketState {
2217    #[inline]
2218    unsafe fn from_glib(value: ffi::SoupWebsocketState) -> Self {
2219        skip_assert_initialized!();
2220
2221        match value {
2222            ffi::SOUP_WEBSOCKET_STATE_OPEN => Self::Open,
2223            ffi::SOUP_WEBSOCKET_STATE_CLOSING => Self::Closing,
2224            ffi::SOUP_WEBSOCKET_STATE_CLOSED => Self::Closed,
2225            value => Self::__Unknown(value),
2226        }
2227    }
2228}
2229
2230impl StaticType for WebsocketState {
2231    #[inline]
2232    #[doc(alias = "soup_websocket_state_get_type")]
2233    fn static_type() -> glib::Type {
2234        unsafe { from_glib(ffi::soup_websocket_state_get_type()) }
2235    }
2236}
2237
2238impl glib::HasParamSpec for WebsocketState {
2239    type ParamSpec = glib::ParamSpecEnum;
2240    type SetValue = Self;
2241    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2242
2243    fn param_spec_builder() -> Self::BuilderFn {
2244        Self::ParamSpec::builder_with_default
2245    }
2246}
2247
2248impl glib::value::ValueType for WebsocketState {
2249    type Type = Self;
2250}
2251
2252unsafe impl<'a> glib::value::FromValue<'a> for WebsocketState {
2253    type Checker = glib::value::GenericValueTypeChecker<Self>;
2254
2255    #[inline]
2256    unsafe fn from_value(value: &'a glib::Value) -> Self {
2257        skip_assert_initialized!();
2258        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2259    }
2260}
2261
2262impl ToValue for WebsocketState {
2263    #[inline]
2264    fn to_value(&self) -> glib::Value {
2265        let mut value = glib::Value::for_value_type::<Self>();
2266        unsafe {
2267            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2268        }
2269        value
2270    }
2271
2272    #[inline]
2273    fn value_type(&self) -> glib::Type {
2274        Self::static_type()
2275    }
2276}
2277
2278impl From<WebsocketState> for glib::Value {
2279    #[inline]
2280    fn from(v: WebsocketState) -> Self {
2281        skip_assert_initialized!();
2282        ToValue::to_value(&v)
2283    }
2284}