polkit_agent_rs/auto/
flags.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ b2a1c6f9b362)
2// from ../misc (@ ???)
3// DO NOT EDIT
4
5use crate::ffi;
6use glib::{bitflags::bitflags, prelude::*, translate::*};
7
8bitflags! {
9    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
10    #[doc(alias = "PolkitAgentRegisterFlags")]
11    pub struct RegisterFlags: u32 {
12        #[doc(alias = "POLKIT_AGENT_REGISTER_FLAGS_NONE")]
13        const NONE = ffi::POLKIT_AGENT_REGISTER_FLAGS_NONE as _;
14        #[doc(alias = "POLKIT_AGENT_REGISTER_FLAGS_RUN_IN_THREAD")]
15        const RUN_IN_THREAD = ffi::POLKIT_AGENT_REGISTER_FLAGS_RUN_IN_THREAD as _;
16    }
17}
18
19#[doc(hidden)]
20impl IntoGlib for RegisterFlags {
21    type GlibType = ffi::PolkitAgentRegisterFlags;
22
23    #[inline]
24    fn into_glib(self) -> ffi::PolkitAgentRegisterFlags {
25        self.bits()
26    }
27}
28
29#[doc(hidden)]
30impl FromGlib<ffi::PolkitAgentRegisterFlags> for RegisterFlags {
31    #[inline]
32    unsafe fn from_glib(value: ffi::PolkitAgentRegisterFlags) -> Self {
33        Self::from_bits_truncate(value)
34    }
35}
36
37impl StaticType for RegisterFlags {
38    #[inline]
39    #[doc(alias = "polkit_agent_register_flags_get_type")]
40    fn static_type() -> glib::Type {
41        unsafe { from_glib(ffi::polkit_agent_register_flags_get_type()) }
42    }
43}
44
45impl glib::HasParamSpec for RegisterFlags {
46    type ParamSpec = glib::ParamSpecFlags;
47    type SetValue = Self;
48    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
49
50    fn param_spec_builder() -> Self::BuilderFn {
51        Self::ParamSpec::builder
52    }
53}
54
55impl glib::value::ValueType for RegisterFlags {
56    type Type = Self;
57}
58
59unsafe impl<'a> glib::value::FromValue<'a> for RegisterFlags {
60    type Checker = glib::value::GenericValueTypeChecker<Self>;
61
62    #[inline]
63    unsafe fn from_value(value: &'a glib::Value) -> Self {
64        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
65    }
66}
67
68impl ToValue for RegisterFlags {
69    #[inline]
70    fn to_value(&self) -> glib::Value {
71        let mut value = glib::Value::for_value_type::<Self>();
72        unsafe {
73            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
74        }
75        value
76    }
77
78    #[inline]
79    fn value_type(&self) -> glib::Type {
80        Self::static_type()
81    }
82}
83
84impl From<RegisterFlags> for glib::Value {
85    #[inline]
86    fn from(v: RegisterFlags) -> Self {
87        ToValue::to_value(&v)
88    }
89}