gstreamer_editing_services/auto/
extractable.rs1#![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 {}