[go: up one dir, main page]

gdk4/auto/
content_formats.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// DO NOT EDIT
4
5use crate::ffi;
6use glib::translate::*;
7
8glib::wrapper! {
9    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10    pub struct ContentFormats(Shared<ffi::GdkContentFormats>);
11
12    match fn {
13        ref => |ptr| ffi::gdk_content_formats_ref(ptr),
14        unref => |ptr| ffi::gdk_content_formats_unref(ptr),
15        type_ => || ffi::gdk_content_formats_get_type(),
16    }
17}
18
19impl ContentFormats {
20    #[doc(alias = "gdk_content_formats_new")]
21    pub fn new(mime_types: &[&str]) -> ContentFormats {
22        assert_initialized_main_thread!();
23        let n_mime_types = mime_types.len() as _;
24        unsafe {
25            from_glib_full(ffi::gdk_content_formats_new(
26                mime_types.to_glib_none().0,
27                n_mime_types,
28            ))
29        }
30    }
31
32    #[doc(alias = "gdk_content_formats_new_for_gtype")]
33    #[doc(alias = "new_for_gtype")]
34    pub fn for_type(type_: glib::types::Type) -> ContentFormats {
35        assert_initialized_main_thread!();
36        unsafe { from_glib_full(ffi::gdk_content_formats_new_for_gtype(type_.into_glib())) }
37    }
38
39    #[doc(alias = "gdk_content_formats_contain_gtype")]
40    #[doc(alias = "contain_gtype")]
41    pub fn contains_type(&self, type_: glib::types::Type) -> bool {
42        unsafe {
43            from_glib(ffi::gdk_content_formats_contain_gtype(
44                self.to_glib_none().0,
45                type_.into_glib(),
46            ))
47        }
48    }
49
50    #[doc(alias = "gdk_content_formats_contain_mime_type")]
51    pub fn contain_mime_type(&self, mime_type: &str) -> bool {
52        unsafe {
53            from_glib(ffi::gdk_content_formats_contain_mime_type(
54                self.to_glib_none().0,
55                mime_type.to_glib_none().0,
56            ))
57        }
58    }
59
60    #[doc(alias = "gdk_content_formats_get_mime_types")]
61    #[doc(alias = "get_mime_types")]
62    pub fn mime_types(&self) -> Vec<glib::GString> {
63        unsafe {
64            let mut n_mime_types = std::mem::MaybeUninit::uninit();
65            let ret = FromGlibContainer::from_glib_none_num(
66                ffi::gdk_content_formats_get_mime_types(
67                    self.to_glib_none().0,
68                    n_mime_types.as_mut_ptr(),
69                ),
70                n_mime_types.assume_init() as _,
71            );
72            ret
73        }
74    }
75
76    #[cfg(feature = "v4_18")]
77    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
78    #[doc(alias = "gdk_content_formats_is_empty")]
79    pub fn is_empty(&self) -> bool {
80        unsafe { from_glib(ffi::gdk_content_formats_is_empty(self.to_glib_none().0)) }
81    }
82
83    #[doc(alias = "gdk_content_formats_match")]
84    #[doc(alias = "match")]
85    pub fn match_(&self, second: &ContentFormats) -> bool {
86        unsafe {
87            from_glib(ffi::gdk_content_formats_match(
88                self.to_glib_none().0,
89                second.to_glib_none().0,
90            ))
91        }
92    }
93
94    #[doc(alias = "gdk_content_formats_match_gtype")]
95    #[doc(alias = "match_gtype")]
96    pub fn match_type(&self, second: &ContentFormats) -> glib::types::Type {
97        unsafe {
98            from_glib(ffi::gdk_content_formats_match_gtype(
99                self.to_glib_none().0,
100                second.to_glib_none().0,
101            ))
102        }
103    }
104
105    #[doc(alias = "gdk_content_formats_match_mime_type")]
106    pub fn match_mime_type(&self, second: &ContentFormats) -> Option<glib::GString> {
107        unsafe {
108            from_glib_none(ffi::gdk_content_formats_match_mime_type(
109                self.to_glib_none().0,
110                second.to_glib_none().0,
111            ))
112        }
113    }
114
115    #[doc(alias = "gdk_content_formats_to_string")]
116    #[doc(alias = "to_string")]
117    pub fn to_str(&self) -> glib::GString {
118        unsafe { from_glib_full(ffi::gdk_content_formats_to_string(self.to_glib_none().0)) }
119    }
120
121    #[doc(alias = "gdk_content_formats_union")]
122    #[must_use]
123    pub fn union(self, second: &ContentFormats) -> ContentFormats {
124        unsafe {
125            from_glib_full(ffi::gdk_content_formats_union(
126                self.into_glib_ptr(),
127                second.to_glib_none().0,
128            ))
129        }
130    }
131
132    #[doc(alias = "gdk_content_formats_union_deserialize_gtypes")]
133    #[doc(alias = "union_deserialize_gtypes")]
134    #[must_use]
135    pub fn union_deserialize_types(self) -> ContentFormats {
136        unsafe {
137            from_glib_full(ffi::gdk_content_formats_union_deserialize_gtypes(
138                self.into_glib_ptr(),
139            ))
140        }
141    }
142
143    #[doc(alias = "gdk_content_formats_union_deserialize_mime_types")]
144    #[must_use]
145    pub fn union_deserialize_mime_types(self) -> ContentFormats {
146        unsafe {
147            from_glib_full(ffi::gdk_content_formats_union_deserialize_mime_types(
148                self.into_glib_ptr(),
149            ))
150        }
151    }
152
153    #[doc(alias = "gdk_content_formats_union_serialize_gtypes")]
154    #[doc(alias = "union_serialize_gtypes")]
155    #[must_use]
156    pub fn union_serialize_types(self) -> ContentFormats {
157        unsafe {
158            from_glib_full(ffi::gdk_content_formats_union_serialize_gtypes(
159                self.into_glib_ptr(),
160            ))
161        }
162    }
163
164    #[doc(alias = "gdk_content_formats_union_serialize_mime_types")]
165    #[must_use]
166    pub fn union_serialize_mime_types(self) -> ContentFormats {
167        unsafe {
168            from_glib_full(ffi::gdk_content_formats_union_serialize_mime_types(
169                self.into_glib_ptr(),
170            ))
171        }
172    }
173
174    #[cfg(feature = "v4_4")]
175    #[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
176    #[doc(alias = "gdk_content_formats_parse")]
177    pub fn parse(string: &str) -> Result<ContentFormats, glib::BoolError> {
178        assert_initialized_main_thread!();
179        unsafe {
180            Option::<_>::from_glib_full(ffi::gdk_content_formats_parse(string.to_glib_none().0))
181                .ok_or_else(|| glib::bool_error!("Can't parse ContentFormats"))
182        }
183    }
184}
185
186impl std::fmt::Display for ContentFormats {
187    #[inline]
188    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
189        f.write_str(&self.to_str())
190    }
191}