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}