Skip to main content

soup/auto/
functions.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::{Cookie, DateFormat, HTTPVersion, Message, MessageHeaders, ffi};
7use glib::translate::*;
8
9#[doc(alias = "soup_check_version")]
10pub fn check_version(major: u32, minor: u32, micro: u32) -> bool {
11    assert_initialized_main_thread!();
12    unsafe { from_glib(ffi::soup_check_version(major, minor, micro)) }
13}
14
15#[doc(alias = "soup_cookies_from_request")]
16pub fn cookies_from_request(msg: &Message) -> Vec<Cookie> {
17    skip_assert_initialized!();
18    unsafe {
19        FromGlibPtrContainer::from_glib_full(ffi::soup_cookies_from_request(msg.to_glib_none().0))
20    }
21}
22
23#[doc(alias = "soup_cookies_from_response")]
24pub fn cookies_from_response(msg: &Message) -> Vec<Cookie> {
25    skip_assert_initialized!();
26    unsafe {
27        FromGlibPtrContainer::from_glib_full(ffi::soup_cookies_from_response(msg.to_glib_none().0))
28    }
29}
30
31#[doc(alias = "soup_date_time_new_from_http_string")]
32pub fn date_time_new_from_http_string(date_string: &str) -> Option<glib::DateTime> {
33    assert_initialized_main_thread!();
34    unsafe {
35        from_glib_full(ffi::soup_date_time_new_from_http_string(
36            date_string.to_glib_none().0,
37        ))
38    }
39}
40
41#[doc(alias = "soup_date_time_to_string")]
42pub fn date_time_to_string(date: &glib::DateTime, format: DateFormat) -> Option<glib::GString> {
43    assert_initialized_main_thread!();
44    unsafe {
45        from_glib_full(ffi::soup_date_time_to_string(
46            date.to_glib_none().0,
47            format.into_glib(),
48        ))
49    }
50}
51
52//#[doc(alias = "soup_form_decode")]
53//pub fn form_decode(encoded_form: &str) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 } {
54//    unsafe { TODO: call ffi:soup_form_decode() }
55//}
56
57//#[doc(alias = "soup_form_decode_multipart")]
58//pub fn form_decode_multipart(multipart: Multipart, file_control_name: Option<&str>) -> (/*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 }, glib::GString, glib::GString, glib::Bytes) {
59//    unsafe { TODO: call ffi:soup_form_decode_multipart() }
60//}
61
62//#[doc(alias = "soup_form_encode")]
63//pub fn form_encode(first_field: &str, : /*Unknown conversion*//*Unimplemented*/Basic: VarArgs) -> Option<glib::GString> {
64//    unsafe { TODO: call ffi:soup_form_encode() }
65//}
66
67//#[doc(alias = "soup_form_encode_datalist")]
68//pub fn form_encode_datalist(form_data_set: /*Ignored*/&mut glib::Data) -> Option<glib::GString> {
69//    unsafe { TODO: call ffi:soup_form_encode_datalist() }
70//}
71
72//#[doc(alias = "soup_form_encode_hash")]
73//pub fn form_encode_hash(form_data_set: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 }) -> Option<glib::GString> {
74//    unsafe { TODO: call ffi:soup_form_encode_hash() }
75//}
76
77//#[doc(alias = "soup_form_encode_valist")]
78//pub fn form_encode_valist(first_field: &str, args: /*Unknown conversion*//*Unimplemented*/Unsupported) -> Option<glib::GString> {
79//    unsafe { TODO: call ffi:soup_form_encode_valist() }
80//}
81
82#[doc(alias = "soup_get_major_version")]
83#[doc(alias = "get_major_version")]
84pub fn major_version() -> u32 {
85    assert_initialized_main_thread!();
86    unsafe { ffi::soup_get_major_version() }
87}
88
89#[doc(alias = "soup_get_micro_version")]
90#[doc(alias = "get_micro_version")]
91pub fn micro_version() -> u32 {
92    assert_initialized_main_thread!();
93    unsafe { ffi::soup_get_micro_version() }
94}
95
96#[doc(alias = "soup_get_minor_version")]
97#[doc(alias = "get_minor_version")]
98pub fn minor_version() -> u32 {
99    assert_initialized_main_thread!();
100    unsafe { ffi::soup_get_minor_version() }
101}
102
103#[doc(alias = "soup_header_contains")]
104pub fn header_contains(header: &str, token: &str) -> bool {
105    assert_initialized_main_thread!();
106    unsafe {
107        from_glib(ffi::soup_header_contains(
108            header.to_glib_none().0,
109            token.to_glib_none().0,
110        ))
111    }
112}
113
114#[cfg(feature = "v3_8")]
115#[cfg_attr(docsrs, doc(cfg(feature = "v3_8")))]
116#[doc(alias = "soup_header_contains_case_sensitive")]
117pub fn header_contains_case_sensitive(header: &str, token: &str) -> bool {
118    assert_initialized_main_thread!();
119    unsafe {
120        from_glib(ffi::soup_header_contains_case_sensitive(
121            header.to_glib_none().0,
122            token.to_glib_none().0,
123        ))
124    }
125}
126
127//#[doc(alias = "soup_header_free_list")]
128//pub fn header_free_list(list: /*Unimplemented*/&[&Basic: Pointer]) {
129//    unsafe { TODO: call ffi:soup_header_free_list() }
130//}
131
132//#[doc(alias = "soup_header_free_param_list")]
133//pub fn header_free_param_list(param_list: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 }) {
134//    unsafe { TODO: call ffi:soup_header_free_param_list() }
135//}
136
137//#[doc(alias = "soup_header_g_string_append_param")]
138//pub fn header_g_string_append_param(string: /*Ignored*/&mut glib::String, name: &str, value: Option<&str>) {
139//    unsafe { TODO: call ffi:soup_header_g_string_append_param() }
140//}
141
142//#[doc(alias = "soup_header_g_string_append_param_quoted")]
143//pub fn header_g_string_append_param_quoted(string: /*Ignored*/&mut glib::String, name: &str, value: &str) {
144//    unsafe { TODO: call ffi:soup_header_g_string_append_param_quoted() }
145//}
146
147#[doc(alias = "soup_header_parse_list")]
148pub fn header_parse_list(header: &str) -> Vec<glib::GString> {
149    assert_initialized_main_thread!();
150    unsafe {
151        FromGlibPtrContainer::from_glib_full(ffi::soup_header_parse_list(header.to_glib_none().0))
152    }
153}
154
155//#[doc(alias = "soup_header_parse_param_list")]
156//pub fn header_parse_param_list(header: &str) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 } {
157//    unsafe { TODO: call ffi:soup_header_parse_param_list() }
158//}
159
160//#[doc(alias = "soup_header_parse_param_list_strict")]
161//pub fn header_parse_param_list_strict(header: &str) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 } {
162//    unsafe { TODO: call ffi:soup_header_parse_param_list_strict() }
163//}
164
165//#[doc(alias = "soup_header_parse_quality_list")]
166//pub fn header_parse_quality_list(header: &str, unacceptable: /*Unimplemented*/Vec<glib::GString>) -> Vec<glib::GString> {
167//    unsafe { TODO: call ffi:soup_header_parse_quality_list() }
168//}
169
170//#[doc(alias = "soup_header_parse_semi_param_list")]
171//pub fn header_parse_semi_param_list(header: &str) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 } {
172//    unsafe { TODO: call ffi:soup_header_parse_semi_param_list() }
173//}
174
175//#[doc(alias = "soup_header_parse_semi_param_list_strict")]
176//pub fn header_parse_semi_param_list_strict(header: &str) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 0, id: 28 } {
177//    unsafe { TODO: call ffi:soup_header_parse_semi_param_list_strict() }
178//}
179
180#[doc(alias = "soup_headers_parse")]
181pub fn headers_parse(str: &str, dest: &MessageHeaders) -> bool {
182    assert_initialized_main_thread!();
183    let len = str.len() as _;
184    unsafe {
185        from_glib(ffi::soup_headers_parse(
186            str.to_glib_none().0,
187            len,
188            dest.to_glib_none().0,
189        ))
190    }
191}
192
193#[doc(alias = "soup_headers_parse_request")]
194pub fn headers_parse_request(
195    str: &str,
196    req_headers: &MessageHeaders,
197) -> (u32, glib::GString, glib::GString, HTTPVersion) {
198    assert_initialized_main_thread!();
199    let len = str.len() as _;
200    unsafe {
201        let mut req_method = std::ptr::null_mut();
202        let mut req_path = std::ptr::null_mut();
203        let mut ver = std::mem::MaybeUninit::uninit();
204        let ret = ffi::soup_headers_parse_request(
205            str.to_glib_none().0,
206            len,
207            req_headers.to_glib_none().0,
208            &mut req_method,
209            &mut req_path,
210            ver.as_mut_ptr(),
211        );
212        (
213            ret,
214            from_glib_full(req_method),
215            from_glib_full(req_path),
216            from_glib(ver.assume_init()),
217        )
218    }
219}
220
221#[doc(alias = "soup_headers_parse_response")]
222pub fn headers_parse_response(
223    str: &str,
224    headers: &MessageHeaders,
225) -> Option<(HTTPVersion, u32, glib::GString)> {
226    assert_initialized_main_thread!();
227    let len = str.len() as _;
228    unsafe {
229        let mut ver = std::mem::MaybeUninit::uninit();
230        let mut status_code = std::mem::MaybeUninit::uninit();
231        let mut reason_phrase = std::ptr::null_mut();
232        let ret = from_glib(ffi::soup_headers_parse_response(
233            str.to_glib_none().0,
234            len,
235            headers.to_glib_none().0,
236            ver.as_mut_ptr(),
237            status_code.as_mut_ptr(),
238            &mut reason_phrase,
239        ));
240        if ret {
241            Some((
242                from_glib(ver.assume_init()),
243                status_code.assume_init(),
244                from_glib_full(reason_phrase),
245            ))
246        } else {
247            None
248        }
249    }
250}
251
252#[doc(alias = "soup_headers_parse_status_line")]
253pub fn headers_parse_status_line(status_line: &str) -> Option<(HTTPVersion, u32, glib::GString)> {
254    assert_initialized_main_thread!();
255    unsafe {
256        let mut ver = std::mem::MaybeUninit::uninit();
257        let mut status_code = std::mem::MaybeUninit::uninit();
258        let mut reason_phrase = std::ptr::null_mut();
259        let ret = from_glib(ffi::soup_headers_parse_status_line(
260            status_line.to_glib_none().0,
261            ver.as_mut_ptr(),
262            status_code.as_mut_ptr(),
263            &mut reason_phrase,
264        ));
265        if ret {
266            Some((
267                from_glib(ver.assume_init()),
268                status_code.assume_init(),
269                from_glib_full(reason_phrase),
270            ))
271        } else {
272            None
273        }
274    }
275}
276
277#[doc(alias = "soup_tld_domain_is_public_suffix")]
278pub fn tld_domain_is_public_suffix(domain: &str) -> bool {
279    assert_initialized_main_thread!();
280    unsafe {
281        from_glib(ffi::soup_tld_domain_is_public_suffix(
282            domain.to_glib_none().0,
283        ))
284    }
285}
286
287#[doc(alias = "soup_tld_get_base_domain")]
288pub fn tld_get_base_domain(hostname: &str) -> Result<glib::GString, glib::Error> {
289    assert_initialized_main_thread!();
290    unsafe {
291        let mut error = std::ptr::null_mut();
292        let ret = ffi::soup_tld_get_base_domain(hostname.to_glib_none().0, &mut error);
293        if error.is_null() {
294            Ok(from_glib_none(ret))
295        } else {
296            Err(from_glib_full(error))
297        }
298    }
299}
300
301//#[doc(alias = "soup_uri_copy")]
302//pub fn uri_copy(uri: &glib::Uri, first_component: URIComponent, : /*Unknown conversion*//*Unimplemented*/Basic: VarArgs) -> Option<glib::Uri> {
303//    unsafe { TODO: call ffi:soup_uri_copy() }
304//}
305
306#[doc(alias = "soup_uri_decode_data_uri")]
307pub fn uri_decode_data_uri(uri: &str) -> (glib::Bytes, Option<glib::GString>) {
308    assert_initialized_main_thread!();
309    unsafe {
310        let mut content_type = std::ptr::null_mut();
311        let ret = from_glib_full(ffi::soup_uri_decode_data_uri(
312            uri.to_glib_none().0,
313            &mut content_type,
314        ));
315        (ret, from_glib_full(content_type))
316    }
317}
318
319#[doc(alias = "soup_uri_equal")]
320pub fn uri_equal(uri1: &glib::Uri, uri2: &glib::Uri) -> bool {
321    assert_initialized_main_thread!();
322    unsafe {
323        from_glib(ffi::soup_uri_equal(
324            uri1.to_glib_none().0,
325            uri2.to_glib_none().0,
326        ))
327    }
328}
329
330//#[doc(alias = "soup_websocket_client_prepare_handshake")]
331//pub fn websocket_client_prepare_handshake(msg: &Message, origin: Option<&str>, protocols: &[&str], supported_extensions: /*Ignored*/&[&glib::TypeClass]) {
332//    unsafe { TODO: call ffi:soup_websocket_client_prepare_handshake() }
333//}
334
335//#[doc(alias = "soup_websocket_client_verify_handshake")]
336//pub fn websocket_client_verify_handshake(msg: &Message, supported_extensions: /*Ignored*/&[&glib::TypeClass], accepted_extensions: /*Unimplemented*/Vec<WebsocketExtension>) -> Result<(), glib::Error> {
337//    unsafe { TODO: call ffi:soup_websocket_client_verify_handshake() }
338//}
339
340//#[doc(alias = "soup_websocket_server_check_handshake")]
341//pub fn websocket_server_check_handshake(msg: &ServerMessage, origin: Option<&str>, protocols: &[&str], supported_extensions: /*Ignored*/&[&glib::TypeClass]) -> Result<(), glib::Error> {
342//    unsafe { TODO: call ffi:soup_websocket_server_check_handshake() }
343//}
344
345//#[doc(alias = "soup_websocket_server_process_handshake")]
346//pub fn websocket_server_process_handshake(msg: &ServerMessage, expected_origin: Option<&str>, protocols: &[&str], supported_extensions: /*Ignored*/&[&glib::TypeClass], accepted_extensions: /*Unimplemented*/Vec<WebsocketExtension>) -> bool {
347//    unsafe { TODO: call ffi:soup_websocket_server_process_handshake() }
348//}