gio/auto/
unix_credentials_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, Credentials, SocketControlMessage};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GUnixCredentialsMessage")]
10    pub struct UnixCredentialsMessage(Object<ffi::GUnixCredentialsMessage, ffi::GUnixCredentialsMessageClass>) @extends SocketControlMessage;
11
12    match fn {
13        type_ => || ffi::g_unix_credentials_message_get_type(),
14    }
15}
16
17impl UnixCredentialsMessage {
18    pub const NONE: Option<&'static UnixCredentialsMessage> = None;
19
20    #[doc(alias = "g_unix_credentials_message_new")]
21    pub fn new() -> UnixCredentialsMessage {
22        unsafe {
23            SocketControlMessage::from_glib_full(ffi::g_unix_credentials_message_new())
24                .unsafe_cast()
25        }
26    }
27
28    #[doc(alias = "g_unix_credentials_message_new_with_credentials")]
29    #[doc(alias = "new_with_credentials")]
30    pub fn with_credentials(credentials: &Credentials) -> UnixCredentialsMessage {
31        unsafe {
32            SocketControlMessage::from_glib_full(
33                ffi::g_unix_credentials_message_new_with_credentials(credentials.to_glib_none().0),
34            )
35            .unsafe_cast()
36        }
37    }
38
39    #[doc(alias = "g_unix_credentials_message_is_supported")]
40    pub fn is_supported() -> bool {
41        unsafe { from_glib(ffi::g_unix_credentials_message_is_supported()) }
42    }
43}
44
45impl Default for UnixCredentialsMessage {
46    fn default() -> Self {
47        Self::new()
48    }
49}
50
51pub trait UnixCredentialsMessageExt: IsA<UnixCredentialsMessage> + 'static {
52    #[doc(alias = "g_unix_credentials_message_get_credentials")]
53    #[doc(alias = "get_credentials")]
54    fn credentials(&self) -> Credentials {
55        unsafe {
56            from_glib_none(ffi::g_unix_credentials_message_get_credentials(
57                self.as_ref().to_glib_none().0,
58            ))
59        }
60    }
61}
62
63impl<O: IsA<UnixCredentialsMessage>> UnixCredentialsMessageExt for O {}