Skip to main content

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