gstreamer_validate/auto/
reporter.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, Report, ReportingDetails, Runner};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    ///
11    ///
12    /// ## Properties
13    ///
14    ///
15    /// #### `validate-runner`
16    ///  Readable | Writeable | Construct Only
17    ///
18    /// # Implements
19    ///
20    /// [`ReporterExt`][trait@crate::prelude::ReporterExt]
21    #[doc(alias = "GstValidateReporter")]
22    pub struct Reporter(Interface<ffi::GstValidateReporter, ffi::GstValidateReporterInterface>);
23
24    match fn {
25        type_ => || ffi::gst_validate_reporter_get_type(),
26    }
27}
28
29impl Reporter {
30    pub const NONE: Option<&'static Reporter> = None;
31}
32
33unsafe impl Send for Reporter {}
34unsafe impl Sync for Reporter {}
35
36/// Trait containing all [`struct@Reporter`] methods.
37///
38/// # Implementors
39///
40/// [`BinMonitor`][struct@crate::BinMonitor], [`ElementMonitor`][struct@crate::ElementMonitor], [`Monitor`][struct@crate::Monitor], [`PadMonitor`][struct@crate::PadMonitor], [`PipelineMonitor`][struct@crate::PipelineMonitor], [`Reporter`][struct@crate::Reporter], [`Scenario`][struct@crate::Scenario]
41pub trait ReporterExt: IsA<Reporter> + 'static {
42    /// Gets `name` of `self`
43    ///
44    /// # Returns
45    ///
46    /// The name of the reporter
47    #[doc(alias = "gst_validate_reporter_get_name")]
48    #[doc(alias = "get_name")]
49    fn name(&self) -> Option<glib::GString> {
50        unsafe {
51            from_glib_none(ffi::gst_validate_reporter_get_name(
52                self.as_ref().to_glib_none().0,
53            ))
54        }
55    }
56
57    ///
58    /// # Returns
59    ///
60    /// The [`gst::Pipeline`][crate::gst::Pipeline]
61    #[doc(alias = "gst_validate_reporter_get_pipeline")]
62    #[doc(alias = "get_pipeline")]
63    fn pipeline(&self) -> Option<gst::Pipeline> {
64        unsafe {
65            from_glib_full(ffi::gst_validate_reporter_get_pipeline(
66                self.as_ref().to_glib_none().0,
67            ))
68        }
69    }
70
71    //#[doc(alias = "gst_validate_reporter_get_report")]
72    //#[doc(alias = "get_report")]
73    //fn report(&self, issue_id: /*Ignored*/IssueId) -> Option<Report> {
74    //    unsafe { TODO: call ffi:gst_validate_reporter_get_report() }
75    //}
76
77    #[doc(alias = "gst_validate_reporter_get_reporting_level")]
78    #[doc(alias = "get_reporting_level")]
79    fn reporting_level(&self) -> ReportingDetails {
80        unsafe {
81            from_glib(ffi::gst_validate_reporter_get_reporting_level(
82                self.as_ref().to_glib_none().0,
83            ))
84        }
85    }
86
87    /// Get the list of reports present in the reporter.
88    ///
89    /// # Returns
90    ///
91    /// the list of
92    /// [`Report`][crate::Report] present in the reporter.
93    /// The caller should unref each report once it is done with them.
94    #[doc(alias = "gst_validate_reporter_get_reports")]
95    #[doc(alias = "get_reports")]
96    fn reports(&self) -> Vec<Report> {
97        unsafe {
98            FromGlibPtrContainer::from_glib_full(ffi::gst_validate_reporter_get_reports(
99                self.as_ref().to_glib_none().0,
100            ))
101        }
102    }
103
104    /// Get the number of reports present in the reporter.
105    ///
106    /// # Returns
107    ///
108    /// the number of reports currently present in `self`.
109    #[doc(alias = "gst_validate_reporter_get_reports_count")]
110    #[doc(alias = "get_reports_count")]
111    fn reports_count(&self) -> i32 {
112        unsafe { ffi::gst_validate_reporter_get_reports_count(self.as_ref().to_glib_none().0) }
113    }
114
115    ///
116    /// # Returns
117    ///
118    /// The runner
119    #[doc(alias = "gst_validate_reporter_get_runner")]
120    #[doc(alias = "get_runner")]
121    fn runner(&self) -> Option<Runner> {
122        unsafe {
123            from_glib_full(ffi::gst_validate_reporter_get_runner(
124                self.as_ref().to_glib_none().0,
125            ))
126        }
127    }
128
129    #[doc(alias = "gst_validate_reporter_init")]
130    fn init(&self, name: &str) {
131        unsafe {
132            ffi::gst_validate_reporter_init(self.as_ref().to_glib_none().0, name.to_glib_none().0);
133        }
134    }
135
136    /// Remove all the [`Report`][crate::Report] from `self`. This should be called
137    /// before unreffing the reporter to break cyclic references.
138    #[doc(alias = "gst_validate_reporter_purge_reports")]
139    fn purge_reports(&self) {
140        unsafe {
141            ffi::gst_validate_reporter_purge_reports(self.as_ref().to_glib_none().0);
142        }
143    }
144
145    //#[doc(alias = "gst_validate_reporter_report_simple")]
146    //fn report_simple(&self, issue_id: /*Ignored*/IssueId, message: &str) {
147    //    unsafe { TODO: call ffi:gst_validate_reporter_report_simple() }
148    //}
149
150    /// Set `self` has the 'source' of any g_log happening during the
151    /// execution. Usually the monitor of the first [`gst::Pipeline`][crate::gst::Pipeline] is used
152    /// to handle g_logs.
153    ///
154    /// Basically this function is used in order to start tracking any
155    /// issue reported with g_log in the process into GstValidate report
156    /// in the GstValidate reporting system.
157    #[doc(alias = "gst_validate_reporter_set_handle_g_logs")]
158    fn set_handle_g_logs(&self) {
159        unsafe {
160            ffi::gst_validate_reporter_set_handle_g_logs(self.as_ref().to_glib_none().0);
161        }
162    }
163
164    /// Sets `name` on `self`
165    /// ## `name`
166    /// The name of the reporter
167    #[doc(alias = "gst_validate_reporter_set_name")]
168    fn set_name(&self, name: Option<glib::GString>) {
169        unsafe {
170            ffi::gst_validate_reporter_set_name(
171                self.as_ref().to_glib_none().0,
172                name.into_glib_ptr(),
173            );
174        }
175    }
176
177    #[doc(alias = "gst_validate_reporter_set_runner")]
178    fn set_runner(&self, runner: &impl IsA<Runner>) {
179        unsafe {
180            ffi::gst_validate_reporter_set_runner(
181                self.as_ref().to_glib_none().0,
182                runner.as_ref().to_glib_none().0,
183            );
184        }
185    }
186
187    #[doc(alias = "validate-runner")]
188    fn validate_runner(&self) -> Option<Runner> {
189        ObjectExt::property(self.as_ref(), "validate-runner")
190    }
191}
192
193impl<O: IsA<Reporter>> ReporterExt for O {}