gstreamer_validate/auto/
report.rs1use crate::{ffi, Issue, ReportLevel, Reporter, ReportingDetails};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11    pub struct Report(Shared<ffi::GstValidateReport>);
12
13    match fn {
14        ref => |ptr| ffi::gst_validate_report_ref(ptr),
15        unref => |ptr| ffi::gst_validate_report_unref(ptr),
16        type_ => || ffi::gst_validate_report_get_type(),
17    }
18}
19
20impl Report {
21    #[doc(alias = "gst_validate_report_new")]
22    pub fn new(issue: &mut Issue, reporter: &impl IsA<Reporter>, message: &str) -> Report {
23        skip_assert_initialized!();
24        unsafe {
25            from_glib_full(ffi::gst_validate_report_new(
26                issue.to_glib_none_mut().0,
27                reporter.as_ref().to_glib_none().0,
28                message.to_glib_none().0,
29            ))
30        }
31    }
32
33    #[doc(alias = "gst_validate_report_add_message")]
34    pub fn add_message(&self, message: &str) {
35        unsafe {
36            ffi::gst_validate_report_add_message(self.to_glib_none().0, message.to_glib_none().0);
37        }
38    }
39
40    #[doc(alias = "gst_validate_report_add_repeated_report")]
41    pub fn add_repeated_report(&self, repeated_report: &Report) {
42        unsafe {
43            ffi::gst_validate_report_add_repeated_report(
44                self.to_glib_none().0,
45                repeated_report.to_glib_none().0,
46            );
47        }
48    }
49
50    #[doc(alias = "gst_validate_report_check_abort")]
51    pub fn check_abort(&self) -> bool {
52        unsafe { from_glib(ffi::gst_validate_report_check_abort(self.to_glib_none().0)) }
53    }
54
55    #[doc(alias = "gst_validate_report_get_dotfile_name")]
60    #[doc(alias = "get_dotfile_name")]
61    pub fn dotfile_name(&self) -> Option<glib::GString> {
62        unsafe {
63            from_glib_full(ffi::gst_validate_report_get_dotfile_name(
64                self.to_glib_none().0,
65            ))
66        }
67    }
68
69    #[doc(alias = "gst_validate_report_get_issue")]
74    #[doc(alias = "get_issue")]
75    pub fn issue(&self) -> Issue {
76        unsafe { from_glib_full(ffi::gst_validate_report_get_issue(self.to_glib_none().0)) }
77    }
78
79    #[doc(alias = "gst_validate_report_get_issue_id")]
80    #[doc(alias = "get_issue_id")]
81    pub fn issue_id(&self) -> u32 {
82        unsafe { ffi::gst_validate_report_get_issue_id(self.to_glib_none().0) }
83    }
84
85    #[doc(alias = "gst_validate_report_get_level")]
90    #[doc(alias = "get_level")]
91    pub fn level(&self) -> ReportLevel {
92        unsafe { from_glib(ffi::gst_validate_report_get_level(self.to_glib_none().0)) }
93    }
94
95    #[doc(alias = "gst_validate_report_get_message")]
100    #[doc(alias = "get_message")]
101    pub fn message(&self) -> glib::GString {
102        unsafe { from_glib_full(ffi::gst_validate_report_get_message(self.to_glib_none().0)) }
103    }
104
105    #[doc(alias = "gst_validate_report_get_reporter")]
110    #[doc(alias = "get_reporter")]
111    pub fn reporter(&self) -> Reporter {
112        unsafe { from_glib_full(ffi::gst_validate_report_get_reporter(self.to_glib_none().0)) }
113    }
114
115    #[doc(alias = "gst_validate_report_get_reporter_name")]
120    #[doc(alias = "get_reporter_name")]
121    pub fn reporter_name(&self) -> glib::GString {
122        unsafe {
123            from_glib_full(ffi::gst_validate_report_get_reporter_name(
124                self.to_glib_none().0,
125            ))
126        }
127    }
128
129    #[doc(alias = "gst_validate_report_get_reporting_level")]
134    #[doc(alias = "get_reporting_level")]
135    pub fn reporting_level(&self) -> ReportingDetails {
136        unsafe {
137            from_glib(ffi::gst_validate_report_get_reporting_level(
138                self.to_glib_none().0,
139            ))
140        }
141    }
142
143    #[doc(alias = "gst_validate_report_get_trace")]
154    #[doc(alias = "get_trace")]
155    pub fn trace(&self) -> Option<glib::GString> {
156        unsafe { from_glib_full(ffi::gst_validate_report_get_trace(self.to_glib_none().0)) }
157    }
158
159    #[doc(alias = "gst_validate_report_print_description")]
160    pub fn print_description(&self) {
161        unsafe {
162            ffi::gst_validate_report_print_description(self.to_glib_none().0);
163        }
164    }
165
166    #[doc(alias = "gst_validate_report_print_details")]
167    pub fn print_details(&self) {
168        unsafe {
169            ffi::gst_validate_report_print_details(self.to_glib_none().0);
170        }
171    }
172
173    #[doc(alias = "gst_validate_report_print_detected_on")]
174    pub fn print_detected_on(&self) {
175        unsafe {
176            ffi::gst_validate_report_print_detected_on(self.to_glib_none().0);
177        }
178    }
179
180    #[doc(alias = "gst_validate_report_print_level")]
181    pub fn print_level(&self) {
182        unsafe {
183            ffi::gst_validate_report_print_level(self.to_glib_none().0);
184        }
185    }
186
187    #[doc(alias = "gst_validate_report_printf")]
188    pub fn printf(&self) {
189        unsafe {
190            ffi::gst_validate_report_printf(self.to_glib_none().0);
191        }
192    }
193
194    #[doc(alias = "gst_validate_report_set_master_report")]
195    pub fn set_master_report(&self, master_report: &Report) -> bool {
196        unsafe {
197            from_glib(ffi::gst_validate_report_set_master_report(
198                self.to_glib_none().0,
199                master_report.to_glib_none().0,
200            ))
201        }
202    }
203
204    #[doc(alias = "gst_validate_report_set_reporting_level")]
205    pub fn set_reporting_level(&self, level: ReportingDetails) {
206        unsafe {
207            ffi::gst_validate_report_set_reporting_level(self.to_glib_none().0, level.into_glib());
208        }
209    }
210
211    #[doc(alias = "gst_validate_report_should_print")]
212    pub fn should_print(&self) -> bool {
213        unsafe { from_glib(ffi::gst_validate_report_should_print(self.to_glib_none().0)) }
214    }
215
216    #[doc(alias = "gst_validate_report_init")]
222    pub fn init() {
223        assert_initialized_main_thread!();
224        unsafe {
225            ffi::gst_validate_report_init();
226        }
227    }
228
229    }
234
235unsafe impl Send for Report {}
236unsafe impl Sync for Report {}