gio/auto/
unix_fd_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, SocketControlMessage, UnixFDList};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GUnixFDMessage")]
10    pub struct UnixFDMessage(Object<ffi::GUnixFDMessage, ffi::GUnixFDMessageClass>) @extends SocketControlMessage;
11
12    match fn {
13        type_ => || ffi::g_unix_fd_message_get_type(),
14    }
15}
16
17impl UnixFDMessage {
18    pub const NONE: Option<&'static UnixFDMessage> = None;
19
20    #[doc(alias = "g_unix_fd_message_new")]
21    pub fn new() -> UnixFDMessage {
22        unsafe { SocketControlMessage::from_glib_full(ffi::g_unix_fd_message_new()).unsafe_cast() }
23    }
24
25    #[doc(alias = "g_unix_fd_message_new_with_fd_list")]
26    #[doc(alias = "new_with_fd_list")]
27    pub fn with_fd_list(fd_list: &impl IsA<UnixFDList>) -> UnixFDMessage {
28        unsafe {
29            SocketControlMessage::from_glib_full(ffi::g_unix_fd_message_new_with_fd_list(
30                fd_list.as_ref().to_glib_none().0,
31            ))
32            .unsafe_cast()
33        }
34    }
35}
36
37impl Default for UnixFDMessage {
38    fn default() -> Self {
39        Self::new()
40    }
41}
42
43pub trait UnixFDMessageExt: IsA<UnixFDMessage> + 'static {
44    #[doc(alias = "g_unix_fd_message_get_fd_list")]
45    #[doc(alias = "get_fd_list")]
46    #[doc(alias = "fd-list")]
47    fn fd_list(&self) -> UnixFDList {
48        unsafe {
49            from_glib_none(ffi::g_unix_fd_message_get_fd_list(
50                self.as_ref().to_glib_none().0,
51            ))
52        }
53    }
54}
55
56impl<O: IsA<UnixFDMessage>> UnixFDMessageExt for O {}