json_glib/auto/
serializable.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir
3// from gtk-girs (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::{ffi,Node};
7use glib::{prelude::*,translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "JsonSerializable")]
11    pub struct Serializable(Interface<ffi::JsonSerializable, ffi::JsonSerializableIface>);
12
13    match fn {
14        type_ => || ffi::json_serializable_get_type(),
15    }
16}
17
18impl Serializable {
19        pub const NONE: Option<&'static Serializable> = None;
20    
21}
22
23pub trait SerializableExt: IsA<Serializable> + 'static {
24    #[doc(alias = "json_serializable_default_deserialize_property")]
25    fn default_deserialize_property(&self, property_name: &str, value: &mut glib::Value, pspec: impl AsRef<glib::ParamSpec>, property_node: &Node) -> bool {
26        unsafe {
27            from_glib(ffi::json_serializable_default_deserialize_property(self.as_ref().to_glib_none().0, property_name.to_glib_none().0, value.to_glib_none_mut().0, pspec.as_ref().to_glib_none().0, property_node.to_glib_none().0))
28        }
29    }
30
31    #[doc(alias = "json_serializable_default_serialize_property")]
32    fn default_serialize_property(&self, property_name: &str, value: &glib::Value, pspec: impl AsRef<glib::ParamSpec>) -> Option<Node> {
33        unsafe {
34            from_glib_full(ffi::json_serializable_default_serialize_property(self.as_ref().to_glib_none().0, property_name.to_glib_none().0, value.to_glib_none().0, pspec.as_ref().to_glib_none().0))
35        }
36    }
37
38    #[doc(alias = "json_serializable_deserialize_property")]
39    fn deserialize_property(&self, property_name: &str, pspec: impl AsRef<glib::ParamSpec>, property_node: &Node) -> Option<glib::Value> {
40        unsafe {
41            let mut value = glib::Value::uninitialized();
42            let ret = from_glib(ffi::json_serializable_deserialize_property(self.as_ref().to_glib_none().0, property_name.to_glib_none().0, value.to_glib_none_mut().0, pspec.as_ref().to_glib_none().0, property_node.to_glib_none().0));
43            if ret { Some(value) } else { None }
44        }
45    }
46
47    #[doc(alias = "json_serializable_find_property")]
48    fn find_property(&self, name: &str) -> Option<glib::ParamSpec> {
49        unsafe {
50            from_glib_none(ffi::json_serializable_find_property(self.as_ref().to_glib_none().0, name.to_glib_none().0))
51        }
52    }
53
54    #[doc(alias = "json_serializable_get_property")]
55    #[doc(alias = "get_property")]
56    fn property(&self, pspec: impl AsRef<glib::ParamSpec>) -> glib::Value {
57        unsafe {
58            let mut value = glib::Value::uninitialized();
59            ffi::json_serializable_get_property(self.as_ref().to_glib_none().0, pspec.as_ref().to_glib_none().0, value.to_glib_none_mut().0);
60            value
61        }
62    }
63
64    #[doc(alias = "json_serializable_list_properties")]
65    fn list_properties(&self) -> Vec<glib::ParamSpec> {
66        unsafe {
67            let mut n_pspecs = std::mem::MaybeUninit::uninit();
68            let ret = FromGlibContainer::from_glib_container_num(ffi::json_serializable_list_properties(self.as_ref().to_glib_none().0, n_pspecs.as_mut_ptr()), n_pspecs.assume_init() as _);
69            ret
70        }
71    }
72
73    #[doc(alias = "json_serializable_serialize_property")]
74    fn serialize_property(&self, property_name: &str, value: &glib::Value, pspec: impl AsRef<glib::ParamSpec>) -> Option<Node> {
75        unsafe {
76            from_glib_full(ffi::json_serializable_serialize_property(self.as_ref().to_glib_none().0, property_name.to_glib_none().0, value.to_glib_none().0, pspec.as_ref().to_glib_none().0))
77        }
78    }
79
80    #[doc(alias = "json_serializable_set_property")]
81    fn set_property(&self, pspec: impl AsRef<glib::ParamSpec>, value: &glib::Value) {
82        unsafe {
83            ffi::json_serializable_set_property(self.as_ref().to_glib_none().0, pspec.as_ref().to_glib_none().0, value.to_glib_none().0);
84        }
85    }
86}
87
88impl<O: IsA<Serializable>> SerializableExt for O {}