alsaseq/auto/
event_data_result.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::{ffi, EventType};
7use glib::translate::*;
8
9glib::wrapper! {
10    /// A boxed object to express data of result event.
11    ///
12    /// A [`EventDataResult`][crate::EventDataResult] is a boxed object to express data of result event. The instance of
13    /// object is one of data properties in event.
14    ///
15    /// The object wraps `struct snd_seq_result` in UAPI of Linux sound subsystem.
16    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
17    pub struct EventDataResult(Boxed<ffi::ALSASeqEventDataResult>);
18
19    match fn {
20        copy => |ptr| glib::gobject_ffi::g_boxed_copy(ffi::alsaseq_event_data_result_get_type(), ptr as *mut _) as *mut ffi::ALSASeqEventDataResult,
21        free => |ptr| glib::gobject_ffi::g_boxed_free(ffi::alsaseq_event_data_result_get_type(), ptr as *mut _),
22        type_ => || ffi::alsaseq_event_data_result_get_type(),
23    }
24}
25
26impl EventDataResult {
27    /// Get the type of event in which the data results.
28    ///
29    /// # Returns
30    ///
31    ///
32    /// ## `event_type`
33    /// The type of event in which the data results.
34    #[doc(alias = "alsaseq_event_data_result_get_event")]
35    #[doc(alias = "get_event")]
36    pub fn event(&self) -> EventType {
37        unsafe {
38            let mut event_type = std::mem::MaybeUninit::uninit();
39            ffi::alsaseq_event_data_result_get_event(
40                self.to_glib_none().0,
41                event_type.as_mut_ptr(),
42            );
43            from_glib(event_type.assume_init())
44        }
45    }
46
47    /// Get the status of event.
48    ///
49    /// # Returns
50    ///
51    ///
52    /// ## `result`
53    /// the status of the event.
54    #[doc(alias = "alsaseq_event_data_result_get_result")]
55    #[doc(alias = "get_result")]
56    pub fn result(&self) -> i32 {
57        unsafe {
58            let mut result = std::mem::MaybeUninit::uninit();
59            ffi::alsaseq_event_data_result_get_result(self.to_glib_none().0, result.as_mut_ptr());
60            result.assume_init()
61        }
62    }
63
64    /// Set the type of event in which the data results.
65    /// ## `event_type`
66    /// A #ALSASeqEventType.
67    #[doc(alias = "alsaseq_event_data_result_set_event")]
68    pub fn set_event(&mut self, event_type: EventType) {
69        unsafe {
70            ffi::alsaseq_event_data_result_set_event(
71                self.to_glib_none_mut().0,
72                event_type.into_glib(),
73            );
74        }
75    }
76
77    /// Set the status of event.
78    /// ## `result`
79    /// The status of event.
80    #[doc(alias = "alsaseq_event_data_result_set_result")]
81    pub fn set_result(&mut self, result: i32) {
82        unsafe {
83            ffi::alsaseq_event_data_result_set_result(self.to_glib_none_mut().0, result);
84        }
85    }
86}
87
88unsafe impl Send for EventDataResult {}