gstreamer/auto/
tag_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, TagList, TagMergeMode};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "GstTagSetter")]
11    pub struct TagSetter(Interface<ffi::GstTagSetter, ffi::GstTagSetterInterface>) @requires Element, Object;
12
13    match fn {
14        type_ => || ffi::gst_tag_setter_get_type(),
15    }
16}
17
18impl TagSetter {
19    pub const NONE: Option<&'static TagSetter> = None;
20}
21
22unsafe impl Send for TagSetter {}
23unsafe impl Sync for TagSetter {}
24
25pub trait TagSetterExt: IsA<TagSetter> + 'static {
26    //#[doc(alias = "gst_tag_setter_add_tag_valist")]
27    //fn add_tag_valist(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
28    //    unsafe { TODO: call ffi:gst_tag_setter_add_tag_valist() }
29    //}
30
31    //#[doc(alias = "gst_tag_setter_add_tag_valist_values")]
32    //fn add_tag_valist_values(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
33    //    unsafe { TODO: call ffi:gst_tag_setter_add_tag_valist_values() }
34    //}
35
36    //#[doc(alias = "gst_tag_setter_add_tag_values")]
37    //fn add_tag_values(&self, mode: TagMergeMode, tag: &str, : /*Unknown conversion*//*Unimplemented*/Basic: VarArgs) {
38    //    unsafe { TODO: call ffi:gst_tag_setter_add_tag_values() }
39    //}
40
41    #[doc(alias = "gst_tag_setter_get_tag_list")]
42    #[doc(alias = "get_tag_list")]
43    fn tag_list(&self) -> Option<TagList> {
44        unsafe {
45            from_glib_none(ffi::gst_tag_setter_get_tag_list(
46                self.as_ref().to_glib_none().0,
47            ))
48        }
49    }
50
51    #[doc(alias = "gst_tag_setter_get_tag_merge_mode")]
52    #[doc(alias = "get_tag_merge_mode")]
53    fn tag_merge_mode(&self) -> TagMergeMode {
54        unsafe {
55            from_glib(ffi::gst_tag_setter_get_tag_merge_mode(
56                self.as_ref().to_glib_none().0,
57            ))
58        }
59    }
60
61    #[doc(alias = "gst_tag_setter_merge_tags")]
62    fn merge_tags(&self, list: &TagList, mode: TagMergeMode) {
63        unsafe {
64            ffi::gst_tag_setter_merge_tags(
65                self.as_ref().to_glib_none().0,
66                list.to_glib_none().0,
67                mode.into_glib(),
68            );
69        }
70    }
71
72    #[doc(alias = "gst_tag_setter_reset_tags")]
73    fn reset_tags(&self) {
74        unsafe {
75            ffi::gst_tag_setter_reset_tags(self.as_ref().to_glib_none().0);
76        }
77    }
78
79    #[doc(alias = "gst_tag_setter_set_tag_merge_mode")]
80    fn set_tag_merge_mode(&self, mode: TagMergeMode) {
81        unsafe {
82            ffi::gst_tag_setter_set_tag_merge_mode(
83                self.as_ref().to_glib_none().0,
84                mode.into_glib(),
85            );
86        }
87    }
88}
89
90impl<O: IsA<TagSetter>> TagSetterExt for O {}