gio/auto/
socket_control_message.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// DO NOT EDIT
4
5use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GSocketControlMessage")]
10    pub struct SocketControlMessage(Object<ffi::GSocketControlMessage, ffi::GSocketControlMessageClass>);
11
12    match fn {
13        type_ => || ffi::g_socket_control_message_get_type(),
14    }
15}
16
17impl SocketControlMessage {
18    pub const NONE: Option<&'static SocketControlMessage> = None;
19
20    #[doc(alias = "g_socket_control_message_deserialize")]
21    pub fn deserialize(level: i32, type_: i32, data: &[u8]) -> Option<SocketControlMessage> {
22        let size = data.len() as _;
23        unsafe {
24            from_glib_full(ffi::g_socket_control_message_deserialize(
25                level,
26                type_,
27                size,
28                data.to_glib_none().0 as glib::ffi::gpointer,
29            ))
30        }
31    }
32}
33
34pub trait SocketControlMessageExt: IsA<SocketControlMessage> + 'static {
35    #[doc(alias = "g_socket_control_message_get_level")]
36    #[doc(alias = "get_level")]
37    fn level(&self) -> i32 {
38        unsafe { ffi::g_socket_control_message_get_level(self.as_ref().to_glib_none().0) }
39    }
40
41    #[doc(alias = "g_socket_control_message_get_msg_type")]
42    #[doc(alias = "get_msg_type")]
43    fn msg_type(&self) -> i32 {
44        unsafe { ffi::g_socket_control_message_get_msg_type(self.as_ref().to_glib_none().0) }
45    }
46
47    #[doc(alias = "g_socket_control_message_get_size")]
48    #[doc(alias = "get_size")]
49    fn size(&self) -> usize {
50        unsafe { ffi::g_socket_control_message_get_size(self.as_ref().to_glib_none().0) }
51    }
52}
53
54impl<O: IsA<SocketControlMessage>> SocketControlMessageExt for O {}