soup/auto/
message_headers.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, Encoding, Expectation, MessageHeadersType};
7use glib::translate::*;
8
9glib::wrapper! {
10    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11    pub struct MessageHeaders(Shared<ffi::SoupMessageHeaders>);
12
13    match fn {
14        ref => |ptr| ffi::soup_message_headers_ref(ptr),
15        unref => |ptr| ffi::soup_message_headers_unref(ptr),
16        type_ => || ffi::soup_message_headers_get_type(),
17    }
18}
19
20impl MessageHeaders {
21    #[doc(alias = "soup_message_headers_new")]
22    pub fn new(type_: MessageHeadersType) -> MessageHeaders {
23        assert_initialized_main_thread!();
24        unsafe { from_glib_full(ffi::soup_message_headers_new(type_.into_glib())) }
25    }
26
27    #[doc(alias = "soup_message_headers_append")]
28    pub fn append(&self, name: &str, value: &str) {
29        unsafe {
30            ffi::soup_message_headers_append(
31                self.to_glib_none().0,
32                name.to_glib_none().0,
33                value.to_glib_none().0,
34            );
35        }
36    }
37
38    #[doc(alias = "soup_message_headers_clean_connection_headers")]
39    pub fn clean_connection_headers(&self) {
40        unsafe {
41            ffi::soup_message_headers_clean_connection_headers(self.to_glib_none().0);
42        }
43    }
44
45    #[doc(alias = "soup_message_headers_clear")]
46    pub fn clear(&self) {
47        unsafe {
48            ffi::soup_message_headers_clear(self.to_glib_none().0);
49        }
50    }
51
52    #[doc(alias = "soup_message_headers_foreach")]
53    pub fn foreach<P: FnMut(&str, &str)>(&self, func: P) {
54        let func_data: P = func;
55        unsafe extern "C" fn func_func<P: FnMut(&str, &str)>(
56            name: *const libc::c_char,
57            value: *const libc::c_char,
58            user_data: glib::ffi::gpointer,
59        ) {
60            let name: Borrowed<glib::GString> = from_glib_borrow(name);
61            let value: Borrowed<glib::GString> = from_glib_borrow(value);
62            let callback = user_data as *mut P;
63            (*callback)(name.as_str(), value.as_str())
64        }
65        let func = Some(func_func::<P> as _);
66        let super_callback0: &P = &func_data;
67        unsafe {
68            ffi::soup_message_headers_foreach(
69                self.to_glib_none().0,
70                func,
71                super_callback0 as *const _ as *mut _,
72            );
73        }
74    }
75
76    //#[doc(alias = "soup_message_headers_free_ranges")]
77    //pub fn free_ranges(&self, ranges: /*Ignored*/&mut Range) {
78    //    unsafe { TODO: call ffi:soup_message_headers_free_ranges() }
79    //}
80
81    #[doc(alias = "soup_message_headers_get_content_length")]
82    #[doc(alias = "get_content_length")]
83    pub fn content_length(&self) -> i64 {
84        unsafe { ffi::soup_message_headers_get_content_length(self.to_glib_none().0) }
85    }
86
87    #[doc(alias = "soup_message_headers_get_content_range")]
88    #[doc(alias = "get_content_range")]
89    pub fn content_range(&self) -> Option<(i64, i64, i64)> {
90        unsafe {
91            let mut start = std::mem::MaybeUninit::uninit();
92            let mut end = std::mem::MaybeUninit::uninit();
93            let mut total_length = std::mem::MaybeUninit::uninit();
94            let ret = from_glib(ffi::soup_message_headers_get_content_range(
95                self.to_glib_none().0,
96                start.as_mut_ptr(),
97                end.as_mut_ptr(),
98                total_length.as_mut_ptr(),
99            ));
100            if ret {
101                Some((
102                    start.assume_init(),
103                    end.assume_init(),
104                    total_length.assume_init(),
105                ))
106            } else {
107                None
108            }
109        }
110    }
111
112    #[doc(alias = "soup_message_headers_get_encoding")]
113    #[doc(alias = "get_encoding")]
114    pub fn encoding(&self) -> Encoding {
115        unsafe {
116            from_glib(ffi::soup_message_headers_get_encoding(
117                self.to_glib_none().0,
118            ))
119        }
120    }
121
122    #[doc(alias = "soup_message_headers_get_expectations")]
123    #[doc(alias = "get_expectations")]
124    pub fn expectations(&self) -> Expectation {
125        unsafe {
126            from_glib(ffi::soup_message_headers_get_expectations(
127                self.to_glib_none().0,
128            ))
129        }
130    }
131
132    #[doc(alias = "soup_message_headers_get_headers_type")]
133    #[doc(alias = "get_headers_type")]
134    pub fn headers_type(&self) -> MessageHeadersType {
135        unsafe {
136            from_glib(ffi::soup_message_headers_get_headers_type(
137                self.to_glib_none().0,
138            ))
139        }
140    }
141
142    #[doc(alias = "soup_message_headers_get_list")]
143    #[doc(alias = "get_list")]
144    pub fn list(&self, name: &str) -> Option<glib::GString> {
145        unsafe {
146            from_glib_none(ffi::soup_message_headers_get_list(
147                self.to_glib_none().0,
148                name.to_glib_none().0,
149            ))
150        }
151    }
152
153    #[doc(alias = "soup_message_headers_get_one")]
154    #[doc(alias = "get_one")]
155    pub fn one(&self, name: &str) -> Option<glib::GString> {
156        unsafe {
157            from_glib_none(ffi::soup_message_headers_get_one(
158                self.to_glib_none().0,
159                name.to_glib_none().0,
160            ))
161        }
162    }
163
164    //#[doc(alias = "soup_message_headers_get_ranges")]
165    //#[doc(alias = "get_ranges")]
166    //pub fn ranges(&self, total_length: i64, ranges: /*Ignored*/Vec<Range>) -> Option<i32> {
167    //    unsafe { TODO: call ffi:soup_message_headers_get_ranges() }
168    //}
169
170    #[doc(alias = "soup_message_headers_header_contains")]
171    pub fn header_contains(&self, name: &str, token: &str) -> bool {
172        unsafe {
173            from_glib(ffi::soup_message_headers_header_contains(
174                self.to_glib_none().0,
175                name.to_glib_none().0,
176                token.to_glib_none().0,
177            ))
178        }
179    }
180
181    #[doc(alias = "soup_message_headers_header_equals")]
182    pub fn header_equals(&self, name: &str, value: &str) -> bool {
183        unsafe {
184            from_glib(ffi::soup_message_headers_header_equals(
185                self.to_glib_none().0,
186                name.to_glib_none().0,
187                value.to_glib_none().0,
188            ))
189        }
190    }
191
192    #[doc(alias = "soup_message_headers_remove")]
193    pub fn remove(&self, name: &str) {
194        unsafe {
195            ffi::soup_message_headers_remove(self.to_glib_none().0, name.to_glib_none().0);
196        }
197    }
198
199    #[doc(alias = "soup_message_headers_replace")]
200    pub fn replace(&self, name: &str, value: &str) {
201        unsafe {
202            ffi::soup_message_headers_replace(
203                self.to_glib_none().0,
204                name.to_glib_none().0,
205                value.to_glib_none().0,
206            );
207        }
208    }
209
210    #[doc(alias = "soup_message_headers_set_content_length")]
211    pub fn set_content_length(&self, content_length: i64) {
212        unsafe {
213            ffi::soup_message_headers_set_content_length(self.to_glib_none().0, content_length);
214        }
215    }
216
217    #[doc(alias = "soup_message_headers_set_content_range")]
218    pub fn set_content_range(&self, start: i64, end: i64, total_length: i64) {
219        unsafe {
220            ffi::soup_message_headers_set_content_range(
221                self.to_glib_none().0,
222                start,
223                end,
224                total_length,
225            );
226        }
227    }
228
229    #[doc(alias = "soup_message_headers_set_encoding")]
230    pub fn set_encoding(&self, encoding: Encoding) {
231        unsafe {
232            ffi::soup_message_headers_set_encoding(self.to_glib_none().0, encoding.into_glib());
233        }
234    }
235
236    #[doc(alias = "soup_message_headers_set_expectations")]
237    pub fn set_expectations(&self, expectations: Expectation) {
238        unsafe {
239            ffi::soup_message_headers_set_expectations(
240                self.to_glib_none().0,
241                expectations.into_glib(),
242            );
243        }
244    }
245
246    #[doc(alias = "soup_message_headers_set_range")]
247    pub fn set_range(&self, start: i64, end: i64) {
248        unsafe {
249            ffi::soup_message_headers_set_range(self.to_glib_none().0, start, end);
250        }
251    }
252
253    //#[doc(alias = "soup_message_headers_set_ranges")]
254    //pub fn set_ranges(&self, ranges: /*Ignored*/&mut Range, length: i32) {
255    //    unsafe { TODO: call ffi:soup_message_headers_set_ranges() }
256    //}
257}