Skip to main content

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::{Asset, Extractable, Timeline, ffi};
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    #[cfg_attr(feature = "v1_30", deprecated = "Since 1.30")]
53    #[allow(deprecated)]
54    #[doc(alias = "ges_formatter_get_default")]
55    #[doc(alias = "get_default")]
56    #[allow(clippy::should_implement_trait)]
57    pub fn default() -> Asset {
58        assert_initialized_main_thread!();
59        unsafe { from_glib_none(ffi::ges_formatter_get_default()) }
60    }
61
62    #[cfg(feature = "v1_30")]
63    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
64    #[doc(alias = "ges_formatter_get_default_full")]
65    #[doc(alias = "get_default_full")]
66    pub fn default_full() -> Asset {
67        assert_initialized_main_thread!();
68        unsafe { from_glib_full(ffi::ges_formatter_get_default_full()) }
69    }
70}
71
72pub trait FormatterExt: IsA<Formatter> + 'static {
73    #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
74    #[allow(deprecated)]
75    #[doc(alias = "ges_formatter_load_from_uri")]
76    fn load_from_uri(&self, timeline: &impl IsA<Timeline>, uri: &str) -> Result<(), glib::Error> {
77        unsafe {
78            let mut error = std::ptr::null_mut();
79            let is_ok = ffi::ges_formatter_load_from_uri(
80                self.as_ref().to_glib_none().0,
81                timeline.as_ref().to_glib_none().0,
82                uri.to_glib_none().0,
83                &mut error,
84            );
85            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
86            if error.is_null() {
87                Ok(())
88            } else {
89                Err(from_glib_full(error))
90            }
91        }
92    }
93
94    #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
95    #[allow(deprecated)]
96    #[doc(alias = "ges_formatter_save_to_uri")]
97    fn save_to_uri(
98        &self,
99        timeline: &impl IsA<Timeline>,
100        uri: &str,
101        overwrite: bool,
102    ) -> Result<(), glib::Error> {
103        unsafe {
104            let mut error = std::ptr::null_mut();
105            let is_ok = ffi::ges_formatter_save_to_uri(
106                self.as_ref().to_glib_none().0,
107                timeline.as_ref().to_glib_none().0,
108                uri.to_glib_none().0,
109                overwrite.into_glib(),
110                &mut error,
111            );
112            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
113            if error.is_null() {
114                Ok(())
115            } else {
116                Err(from_glib_full(error))
117            }
118        }
119    }
120}
121
122impl<O: IsA<Formatter>> FormatterExt for O {}