json_glib/auto/
serializable.rs1use 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 {}