Skip to main content

gstreamer_editing_services/auto/
extractable.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 gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5#![allow(deprecated)]
6
7use crate::{Asset, ffi};
8use glib::{prelude::*, translate::*};
9
10glib::wrapper! {
11    #[doc(alias = "GESExtractable")]
12    pub struct Extractable(Interface<ffi::GESExtractable, ffi::GESExtractableInterface>);
13
14    match fn {
15        type_ => || ffi::ges_extractable_get_type(),
16    }
17}
18
19impl Extractable {
20    pub const NONE: Option<&'static Extractable> = None;
21}
22
23pub trait ExtractableExt: IsA<Extractable> + 'static {
24    #[cfg_attr(feature = "v1_30", deprecated = "Since 1.30")]
25    #[allow(deprecated)]
26    #[doc(alias = "ges_extractable_get_asset")]
27    #[doc(alias = "get_asset")]
28    fn asset(&self) -> Option<Asset> {
29        unsafe {
30            from_glib_none(ffi::ges_extractable_get_asset(
31                self.as_ref().to_glib_none().0,
32            ))
33        }
34    }
35
36    #[cfg(feature = "v1_30")]
37    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
38    #[doc(alias = "ges_extractable_get_asset_full")]
39    #[doc(alias = "get_asset_full")]
40    fn asset_full(&self) -> Option<Asset> {
41        unsafe {
42            from_glib_full(ffi::ges_extractable_get_asset_full(
43                self.as_ref().to_glib_none().0,
44            ))
45        }
46    }
47
48    #[doc(alias = "ges_extractable_get_id")]
49    #[doc(alias = "get_id")]
50    fn id(&self) -> glib::GString {
51        unsafe { from_glib_full(ffi::ges_extractable_get_id(self.as_ref().to_glib_none().0)) }
52    }
53
54    #[doc(alias = "ges_extractable_set_asset")]
55    fn set_asset(&self, asset: &impl IsA<Asset>) -> Result<(), glib::error::BoolError> {
56        unsafe {
57            glib::result_from_gboolean!(
58                ffi::ges_extractable_set_asset(
59                    self.as_ref().to_glib_none().0,
60                    asset.as_ref().to_glib_none().0
61                ),
62                "Failed to set asset"
63            )
64        }
65    }
66}
67
68impl<O: IsA<Extractable>> ExtractableExt for O {}