1use crate::ffi;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9bitflags! {
10 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11 #[doc(alias = "SoupCacheability")]
12 pub struct Cacheability: u32 {
13 #[doc(alias = "SOUP_CACHE_CACHEABLE")]
14 const CACHEABLE = ffi::SOUP_CACHE_CACHEABLE as _;
15 #[doc(alias = "SOUP_CACHE_UNCACHEABLE")]
16 const UNCACHEABLE = ffi::SOUP_CACHE_UNCACHEABLE as _;
17 #[doc(alias = "SOUP_CACHE_INVALIDATES")]
18 const INVALIDATES = ffi::SOUP_CACHE_INVALIDATES as _;
19 #[doc(alias = "SOUP_CACHE_VALIDATES")]
20 const VALIDATES = ffi::SOUP_CACHE_VALIDATES as _;
21 }
22}
23
24#[doc(hidden)]
25impl IntoGlib for Cacheability {
26 type GlibType = ffi::SoupCacheability;
27
28 #[inline]
29 fn into_glib(self) -> ffi::SoupCacheability {
30 self.bits()
31 }
32}
33
34#[doc(hidden)]
35impl FromGlib<ffi::SoupCacheability> for Cacheability {
36 #[inline]
37 unsafe fn from_glib(value: ffi::SoupCacheability) -> Self {
38 skip_assert_initialized!();
39 Self::from_bits_truncate(value)
40 }
41}
42
43impl StaticType for Cacheability {
44 #[inline]
45 #[doc(alias = "soup_cacheability_get_type")]
46 fn static_type() -> glib::Type {
47 unsafe { from_glib(ffi::soup_cacheability_get_type()) }
48 }
49}
50
51impl glib::HasParamSpec for Cacheability {
52 type ParamSpec = glib::ParamSpecFlags;
53 type SetValue = Self;
54 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
55
56 fn param_spec_builder() -> Self::BuilderFn {
57 Self::ParamSpec::builder
58 }
59}
60
61impl glib::value::ValueType for Cacheability {
62 type Type = Self;
63}
64
65unsafe impl<'a> glib::value::FromValue<'a> for Cacheability {
66 type Checker = glib::value::GenericValueTypeChecker<Self>;
67
68 #[inline]
69 unsafe fn from_value(value: &'a glib::Value) -> Self {
70 skip_assert_initialized!();
71 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
72 }
73}
74
75impl ToValue for Cacheability {
76 #[inline]
77 fn to_value(&self) -> glib::Value {
78 let mut value = glib::Value::for_value_type::<Self>();
79 unsafe {
80 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
81 }
82 value
83 }
84
85 #[inline]
86 fn value_type(&self) -> glib::Type {
87 Self::static_type()
88 }
89}
90
91impl From<Cacheability> for glib::Value {
92 #[inline]
93 fn from(v: Cacheability) -> Self {
94 skip_assert_initialized!();
95 ToValue::to_value(&v)
96 }
97}
98
99bitflags! {
100 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
101 #[doc(alias = "SoupExpectation")]
102 pub struct Expectation: u32 {
103 #[doc(alias = "SOUP_EXPECTATION_UNRECOGNIZED")]
104 const UNRECOGNIZED = ffi::SOUP_EXPECTATION_UNRECOGNIZED as _;
105 #[doc(alias = "SOUP_EXPECTATION_CONTINUE")]
106 const CONTINUE = ffi::SOUP_EXPECTATION_CONTINUE as _;
107 }
108}
109
110#[doc(hidden)]
111impl IntoGlib for Expectation {
112 type GlibType = ffi::SoupExpectation;
113
114 #[inline]
115 fn into_glib(self) -> ffi::SoupExpectation {
116 self.bits()
117 }
118}
119
120#[doc(hidden)]
121impl FromGlib<ffi::SoupExpectation> for Expectation {
122 #[inline]
123 unsafe fn from_glib(value: ffi::SoupExpectation) -> Self {
124 skip_assert_initialized!();
125 Self::from_bits_truncate(value)
126 }
127}
128
129impl StaticType for Expectation {
130 #[inline]
131 #[doc(alias = "soup_expectation_get_type")]
132 fn static_type() -> glib::Type {
133 unsafe { from_glib(ffi::soup_expectation_get_type()) }
134 }
135}
136
137impl glib::HasParamSpec for Expectation {
138 type ParamSpec = glib::ParamSpecFlags;
139 type SetValue = Self;
140 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
141
142 fn param_spec_builder() -> Self::BuilderFn {
143 Self::ParamSpec::builder
144 }
145}
146
147impl glib::value::ValueType for Expectation {
148 type Type = Self;
149}
150
151unsafe impl<'a> glib::value::FromValue<'a> for Expectation {
152 type Checker = glib::value::GenericValueTypeChecker<Self>;
153
154 #[inline]
155 unsafe fn from_value(value: &'a glib::Value) -> Self {
156 skip_assert_initialized!();
157 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
158 }
159}
160
161impl ToValue for Expectation {
162 #[inline]
163 fn to_value(&self) -> glib::Value {
164 let mut value = glib::Value::for_value_type::<Self>();
165 unsafe {
166 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
167 }
168 value
169 }
170
171 #[inline]
172 fn value_type(&self) -> glib::Type {
173 Self::static_type()
174 }
175}
176
177impl From<Expectation> for glib::Value {
178 #[inline]
179 fn from(v: Expectation) -> Self {
180 skip_assert_initialized!();
181 ToValue::to_value(&v)
182 }
183}
184
185bitflags! {
186 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
187 #[doc(alias = "SoupMessageFlags")]
188 pub struct MessageFlags: u32 {
189 #[doc(alias = "SOUP_MESSAGE_NO_REDIRECT")]
190 const NO_REDIRECT = ffi::SOUP_MESSAGE_NO_REDIRECT as _;
191 #[doc(alias = "SOUP_MESSAGE_NEW_CONNECTION")]
192 const NEW_CONNECTION = ffi::SOUP_MESSAGE_NEW_CONNECTION as _;
193 #[doc(alias = "SOUP_MESSAGE_IDEMPOTENT")]
194 const IDEMPOTENT = ffi::SOUP_MESSAGE_IDEMPOTENT as _;
195 #[doc(alias = "SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE")]
196 const DO_NOT_USE_AUTH_CACHE = ffi::SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE as _;
197 #[doc(alias = "SOUP_MESSAGE_COLLECT_METRICS")]
198 const COLLECT_METRICS = ffi::SOUP_MESSAGE_COLLECT_METRICS as _;
199 }
200}
201
202#[doc(hidden)]
203impl IntoGlib for MessageFlags {
204 type GlibType = ffi::SoupMessageFlags;
205
206 #[inline]
207 fn into_glib(self) -> ffi::SoupMessageFlags {
208 self.bits()
209 }
210}
211
212#[doc(hidden)]
213impl FromGlib<ffi::SoupMessageFlags> for MessageFlags {
214 #[inline]
215 unsafe fn from_glib(value: ffi::SoupMessageFlags) -> Self {
216 skip_assert_initialized!();
217 Self::from_bits_truncate(value)
218 }
219}
220
221impl StaticType for MessageFlags {
222 #[inline]
223 #[doc(alias = "soup_message_flags_get_type")]
224 fn static_type() -> glib::Type {
225 unsafe { from_glib(ffi::soup_message_flags_get_type()) }
226 }
227}
228
229impl glib::HasParamSpec for MessageFlags {
230 type ParamSpec = glib::ParamSpecFlags;
231 type SetValue = Self;
232 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
233
234 fn param_spec_builder() -> Self::BuilderFn {
235 Self::ParamSpec::builder
236 }
237}
238
239impl glib::value::ValueType for MessageFlags {
240 type Type = Self;
241}
242
243unsafe impl<'a> glib::value::FromValue<'a> for MessageFlags {
244 type Checker = glib::value::GenericValueTypeChecker<Self>;
245
246 #[inline]
247 unsafe fn from_value(value: &'a glib::Value) -> Self {
248 skip_assert_initialized!();
249 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
250 }
251}
252
253impl ToValue for MessageFlags {
254 #[inline]
255 fn to_value(&self) -> glib::Value {
256 let mut value = glib::Value::for_value_type::<Self>();
257 unsafe {
258 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
259 }
260 value
261 }
262
263 #[inline]
264 fn value_type(&self) -> glib::Type {
265 Self::static_type()
266 }
267}
268
269impl From<MessageFlags> for glib::Value {
270 #[inline]
271 fn from(v: MessageFlags) -> Self {
272 skip_assert_initialized!();
273 ToValue::to_value(&v)
274 }
275}
276
277bitflags! {
278 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
279 #[doc(alias = "SoupServerListenOptions")]
280 pub struct ServerListenOptions: u32 {
281 #[doc(alias = "SOUP_SERVER_LISTEN_HTTPS")]
282 const HTTPS = ffi::SOUP_SERVER_LISTEN_HTTPS as _;
283 #[doc(alias = "SOUP_SERVER_LISTEN_IPV4_ONLY")]
284 const IPV4_ONLY = ffi::SOUP_SERVER_LISTEN_IPV4_ONLY as _;
285 #[doc(alias = "SOUP_SERVER_LISTEN_IPV6_ONLY")]
286 const IPV6_ONLY = ffi::SOUP_SERVER_LISTEN_IPV6_ONLY as _;
287 }
288}
289
290#[doc(hidden)]
291impl IntoGlib for ServerListenOptions {
292 type GlibType = ffi::SoupServerListenOptions;
293
294 #[inline]
295 fn into_glib(self) -> ffi::SoupServerListenOptions {
296 self.bits()
297 }
298}
299
300#[doc(hidden)]
301impl FromGlib<ffi::SoupServerListenOptions> for ServerListenOptions {
302 #[inline]
303 unsafe fn from_glib(value: ffi::SoupServerListenOptions) -> Self {
304 skip_assert_initialized!();
305 Self::from_bits_truncate(value)
306 }
307}
308
309impl StaticType for ServerListenOptions {
310 #[inline]
311 #[doc(alias = "soup_server_listen_options_get_type")]
312 fn static_type() -> glib::Type {
313 unsafe { from_glib(ffi::soup_server_listen_options_get_type()) }
314 }
315}
316
317impl glib::HasParamSpec for ServerListenOptions {
318 type ParamSpec = glib::ParamSpecFlags;
319 type SetValue = Self;
320 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
321
322 fn param_spec_builder() -> Self::BuilderFn {
323 Self::ParamSpec::builder
324 }
325}
326
327impl glib::value::ValueType for ServerListenOptions {
328 type Type = Self;
329}
330
331unsafe impl<'a> glib::value::FromValue<'a> for ServerListenOptions {
332 type Checker = glib::value::GenericValueTypeChecker<Self>;
333
334 #[inline]
335 unsafe fn from_value(value: &'a glib::Value) -> Self {
336 skip_assert_initialized!();
337 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
338 }
339}
340
341impl ToValue for ServerListenOptions {
342 #[inline]
343 fn to_value(&self) -> glib::Value {
344 let mut value = glib::Value::for_value_type::<Self>();
345 unsafe {
346 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
347 }
348 value
349 }
350
351 #[inline]
352 fn value_type(&self) -> glib::Type {
353 Self::static_type()
354 }
355}
356
357impl From<ServerListenOptions> for glib::Value {
358 #[inline]
359 fn from(v: ServerListenOptions) -> Self {
360 skip_assert_initialized!();
361 ToValue::to_value(&v)
362 }
363}