1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
// Take a look at the license at the top of the repository in the LICENSE file.
use glib::{translate::*, Slice};
use crate::{ContentFormats, ContentFormatsBuilder};
impl ContentFormats {
/// Gets the `GType`s included in @self.
///
/// Note that @self may not contain any `GType`s, in particular when
/// they are empty. In that case [`None`] will be returned.
///
/// # Returns
///
///
/// `G_TYPE_INVALID`-terminated array of types included in @self
#[doc(alias = "gdk_content_formats_get_gtypes")]
#[doc(alias = "get_gtypes")]
pub fn types(&self) -> Slice<glib::Type> {
unsafe {
let mut n_types = std::mem::MaybeUninit::uninit();
let types =
ffi::gdk_content_formats_get_gtypes(self.to_glib_none().0, n_types.as_mut_ptr());
Slice::from_glib_none_num(types, n_types.assume_init() as _)
}
}
// rustdoc-stripper-ignore-next
/// Creates a new builder-pattern struct instance to construct
/// [`ContentFormats`] objects.
///
/// This method returns an instance of
/// [`ContentFormatsBuilder`](crate::builders::ContentFormatsBuilder) which
/// can be used to create [`ContentFormats`] objects.
pub fn builder() -> ContentFormatsBuilder {
ContentFormatsBuilder::default()
}
}
#[cfg(feature = "v4_4")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
impl std::str::FromStr for ContentFormats {
type Err = glib::BoolError;
fn from_str(s: &str) -> Result<Self, Self::Err> {
skip_assert_initialized!();
ContentFormats::parse(s)
}
}