Skip to main content

webkit6/auto/
web_view_session_state.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from webkit-gir-files
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::translate::*;
8
9glib::wrapper! {
10    /// Handles serialization of a web view's browsing state.
11    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
12    pub struct WebViewSessionState(Shared<ffi::WebKitWebViewSessionState>);
13
14    match fn {
15        ref => |ptr| ffi::webkit_web_view_session_state_ref(ptr),
16        unref => |ptr| ffi::webkit_web_view_session_state_unref(ptr),
17        type_ => || ffi::webkit_web_view_session_state_get_type(),
18    }
19}
20
21impl WebViewSessionState {
22    /// Creates a new [`WebViewSessionState`][crate::WebViewSessionState] from serialized data.
23    /// ## `data`
24    /// a [`glib::Bytes`][crate::glib::Bytes]
25    ///
26    /// # Returns
27    ///
28    /// a new [`WebViewSessionState`][crate::WebViewSessionState], or [`None`] if `data` doesn't contain a
29    ///  valid serialized [`WebViewSessionState`][crate::WebViewSessionState].
30    #[doc(alias = "webkit_web_view_session_state_new")]
31    pub fn new(data: &glib::Bytes) -> WebViewSessionState {
32        assert_initialized_main_thread!();
33        unsafe {
34            from_glib_full(ffi::webkit_web_view_session_state_new(
35                data.to_glib_none().0,
36            ))
37        }
38    }
39
40    /// Serializes a [`WebViewSessionState`][crate::WebViewSessionState].
41    ///
42    /// # Returns
43    ///
44    /// a [`glib::Bytes`][crate::glib::Bytes] containing the `self` serialized.
45    #[doc(alias = "webkit_web_view_session_state_serialize")]
46    pub fn serialize(&self) -> Option<glib::Bytes> {
47        unsafe {
48            from_glib_full(ffi::webkit_web_view_session_state_serialize(
49                self.to_glib_none().0,
50            ))
51        }
52    }
53}