gstreamer_editing_services/auto/
formatter.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::{ffi, Asset, Extractable, Timeline};
8use glib::{prelude::*, translate::*};
9
10glib::wrapper! {
11    #[doc(alias = "GESFormatter")]
12    pub struct Formatter(Object<ffi::GESFormatter, ffi::GESFormatterClass>) @implements Extractable;
13
14    match fn {
15        type_ => || ffi::ges_formatter_get_type(),
16    }
17}
18
19impl Formatter {
20    pub const NONE: Option<&'static Formatter> = None;
21
22    #[doc(alias = "ges_formatter_can_load_uri")]
23    pub fn can_load_uri(uri: &str) -> Result<(), glib::Error> {
24        assert_initialized_main_thread!();
25        unsafe {
26            let mut error = std::ptr::null_mut();
27            let is_ok = ffi::ges_formatter_can_load_uri(uri.to_glib_none().0, &mut error);
28            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
29            if error.is_null() {
30                Ok(())
31            } else {
32                Err(from_glib_full(error))
33            }
34        }
35    }
36
37    #[doc(alias = "ges_formatter_can_save_uri")]
38    pub fn can_save_uri(uri: &str) -> Result<(), glib::Error> {
39        assert_initialized_main_thread!();
40        unsafe {
41            let mut error = std::ptr::null_mut();
42            let is_ok = ffi::ges_formatter_can_save_uri(uri.to_glib_none().0, &mut error);
43            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
44            if error.is_null() {
45                Ok(())
46            } else {
47                Err(from_glib_full(error))
48            }
49        }
50    }
51
52    #[doc(alias = "ges_formatter_get_default")]
53    #[doc(alias = "get_default")]
54    #[allow(clippy::should_implement_trait)]
55    pub fn default() -> Asset {
56        assert_initialized_main_thread!();
57        unsafe { from_glib_none(ffi::ges_formatter_get_default()) }
58    }
59}
60
61mod sealed {
62    pub trait Sealed {}
63    impl<T: super::IsA<super::Formatter>> Sealed for T {}
64}
65
66pub trait FormatterExt: IsA<Formatter> + sealed::Sealed + 'static {
67    #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
68    #[allow(deprecated)]
69    #[doc(alias = "ges_formatter_load_from_uri")]
70    fn load_from_uri(&self, timeline: &impl IsA<Timeline>, uri: &str) -> Result<(), glib::Error> {
71        unsafe {
72            let mut error = std::ptr::null_mut();
73            let is_ok = ffi::ges_formatter_load_from_uri(
74                self.as_ref().to_glib_none().0,
75                timeline.as_ref().to_glib_none().0,
76                uri.to_glib_none().0,
77                &mut error,
78            );
79            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
80            if error.is_null() {
81                Ok(())
82            } else {
83                Err(from_glib_full(error))
84            }
85        }
86    }
87
88    #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
89    #[allow(deprecated)]
90    #[doc(alias = "ges_formatter_save_to_uri")]
91    fn save_to_uri(
92        &self,
93        timeline: &impl IsA<Timeline>,
94        uri: &str,
95        overwrite: bool,
96    ) -> Result<(), glib::Error> {
97        unsafe {
98            let mut error = std::ptr::null_mut();
99            let is_ok = ffi::ges_formatter_save_to_uri(
100                self.as_ref().to_glib_none().0,
101                timeline.as_ref().to_glib_none().0,
102                uri.to_glib_none().0,
103                overwrite.into_glib(),
104                &mut error,
105            );
106            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
107            if error.is_null() {
108                Ok(())
109            } else {
110                Err(from_glib_full(error))
111            }
112        }
113    }
114}
115
116impl<O: IsA<Formatter>> FormatterExt for O {}