gstreamer/auto/
toc_setter.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
6use crate::{ffi, Element, Object, Toc};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "GstTocSetter")]
11    pub struct TocSetter(Interface<ffi::GstTocSetter, ffi::GstTocSetterInterface>) @requires Element, Object;
12
13    match fn {
14        type_ => || ffi::gst_toc_setter_get_type(),
15    }
16}
17
18impl TocSetter {
19    pub const NONE: Option<&'static TocSetter> = None;
20}
21
22unsafe impl Send for TocSetter {}
23unsafe impl Sync for TocSetter {}
24
25mod sealed {
26    pub trait Sealed {}
27    impl<T: super::IsA<super::TocSetter>> Sealed for T {}
28}
29
30pub trait TocSetterExt: IsA<TocSetter> + sealed::Sealed + 'static {
31    #[doc(alias = "gst_toc_setter_get_toc")]
32    #[doc(alias = "get_toc")]
33    fn toc(&self) -> Option<Toc> {
34        unsafe { from_glib_full(ffi::gst_toc_setter_get_toc(self.as_ref().to_glib_none().0)) }
35    }
36
37    #[doc(alias = "gst_toc_setter_reset")]
38    fn reset(&self) {
39        unsafe {
40            ffi::gst_toc_setter_reset(self.as_ref().to_glib_none().0);
41        }
42    }
43
44    #[doc(alias = "gst_toc_setter_set_toc")]
45    fn set_toc(&self, toc: Option<&Toc>) {
46        unsafe {
47            ffi::gst_toc_setter_set_toc(self.as_ref().to_glib_none().0, toc.to_glib_none().0);
48        }
49    }
50}
51
52impl<O: IsA<TocSetter>> TocSetterExt for O {}