Skip to main content

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