soup/
cookie_jar.rs

1use crate::{prelude::*, Cookie, CookieJar};
2use glib::translate::*;
3
4mod sealed {
5    pub trait Sealed {}
6    impl<T: super::IsA<crate::CookieJar>> Sealed for T {}
7}
8
9pub trait CookieJarExtManual: IsA<CookieJar> + sealed::Sealed + 'static {
10    #[doc(alias = "soup_cookie_jar_add_cookie")]
11    fn add_cookie(&self, cookie: &mut Cookie) {
12        unsafe {
13            ffi::soup_cookie_jar_add_cookie(
14                self.as_ref().to_glib_none().0,
15                mut_override(cookie.to_glib_full()),
16            );
17        }
18    }
19
20    #[doc(alias = "soup_cookie_jar_add_cookie_full")]
21    fn add_cookie_full(
22        &self,
23        cookie: &mut Cookie,
24        uri: Option<&glib::Uri>,
25        first_party: Option<&glib::Uri>,
26    ) {
27        unsafe {
28            ffi::soup_cookie_jar_add_cookie_full(
29                self.as_ref().to_glib_none().0,
30                mut_override(cookie.to_glib_full()),
31                uri.to_glib_none().0,
32                first_party.to_glib_none().0,
33            );
34        }
35    }
36
37    #[doc(alias = "soup_cookie_jar_add_cookie_with_first_party")]
38    fn add_cookie_with_first_party(&self, first_party: &glib::Uri, cookie: &mut Cookie) {
39        unsafe {
40            ffi::soup_cookie_jar_add_cookie_with_first_party(
41                self.as_ref().to_glib_none().0,
42                first_party.to_glib_none().0,
43                mut_override(cookie.to_glib_full()),
44            );
45        }
46    }
47
48    #[doc(alias = "soup_cookie_jar_delete_cookie")]
49    fn delete_cookie(&self, cookie: &mut Cookie) {
50        unsafe {
51            ffi::soup_cookie_jar_delete_cookie(
52                self.as_ref().to_glib_none().0,
53                cookie.to_glib_none_mut().0,
54            );
55        }
56    }
57}
58
59impl<O: IsA<CookieJar>> CookieJarExtManual for O {}