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