Skip to main content

lightdm/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from lightdm-gir-files
3// DO NOT EDIT
4
5use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8/// Error codes returned by greeter operations.
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "LightDMGreeterError")]
12pub enum GreeterError {
13    /// error communicating with daemon.
14    #[doc(alias = "LIGHTDM_GREETER_ERROR_COMMUNICATION_ERROR")]
15    CommunicationError,
16    /// failed to connect to the daemon.
17    #[doc(alias = "LIGHTDM_GREETER_ERROR_CONNECTION_FAILED")]
18    ConnectionFailed,
19    /// requested session failed to start.
20    #[doc(alias = "LIGHTDM_GREETER_ERROR_SESSION_FAILED")]
21    SessionFailed,
22    /// autologin not configured.
23    #[doc(alias = "LIGHTDM_GREETER_ERROR_NO_AUTOLOGIN")]
24    NoAutologin,
25    /// autologin not configured.
26    #[doc(alias = "LIGHTDM_GREETER_ERROR_INVALID_USER")]
27    InvalidUser,
28    #[doc(hidden)]
29    __Unknown(i32),
30}
31
32#[doc(hidden)]
33impl IntoGlib for GreeterError {
34    type GlibType = ffi::LightDMGreeterError;
35
36    #[inline]
37    fn into_glib(self) -> ffi::LightDMGreeterError {
38        match self {
39            Self::CommunicationError => ffi::LIGHTDM_GREETER_ERROR_COMMUNICATION_ERROR,
40            Self::ConnectionFailed => ffi::LIGHTDM_GREETER_ERROR_CONNECTION_FAILED,
41            Self::SessionFailed => ffi::LIGHTDM_GREETER_ERROR_SESSION_FAILED,
42            Self::NoAutologin => ffi::LIGHTDM_GREETER_ERROR_NO_AUTOLOGIN,
43            Self::InvalidUser => ffi::LIGHTDM_GREETER_ERROR_INVALID_USER,
44            Self::__Unknown(value) => value,
45        }
46    }
47}
48
49#[doc(hidden)]
50impl FromGlib<ffi::LightDMGreeterError> for GreeterError {
51    #[inline]
52    unsafe fn from_glib(value: ffi::LightDMGreeterError) -> Self {
53        skip_assert_initialized!();
54
55        match value {
56            ffi::LIGHTDM_GREETER_ERROR_COMMUNICATION_ERROR => Self::CommunicationError,
57            ffi::LIGHTDM_GREETER_ERROR_CONNECTION_FAILED => Self::ConnectionFailed,
58            ffi::LIGHTDM_GREETER_ERROR_SESSION_FAILED => Self::SessionFailed,
59            ffi::LIGHTDM_GREETER_ERROR_NO_AUTOLOGIN => Self::NoAutologin,
60            ffi::LIGHTDM_GREETER_ERROR_INVALID_USER => Self::InvalidUser,
61            value => Self::__Unknown(value),
62        }
63    }
64}
65
66impl glib::error::ErrorDomain for GreeterError {
67    #[inline]
68    fn domain() -> glib::Quark {
69        skip_assert_initialized!();
70
71        unsafe { from_glib(ffi::lightdm_greeter_error_quark()) }
72    }
73
74    #[inline]
75    fn code(self) -> i32 {
76        self.into_glib()
77    }
78
79    #[inline]
80    #[allow(clippy::match_single_binding)]
81    fn from(code: i32) -> Option<Self> {
82        skip_assert_initialized!();
83        match unsafe { from_glib(code) } {
84            value => Some(value),
85        }
86    }
87}
88
89impl StaticType for GreeterError {
90    #[inline]
91    #[doc(alias = "lightdm_greeter_error_get_type")]
92    fn static_type() -> glib::Type {
93        unsafe { from_glib(ffi::lightdm_greeter_error_get_type()) }
94    }
95}
96
97impl glib::HasParamSpec for GreeterError {
98    type ParamSpec = glib::ParamSpecEnum;
99    type SetValue = Self;
100    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
101
102    fn param_spec_builder() -> Self::BuilderFn {
103        Self::ParamSpec::builder_with_default
104    }
105}
106
107impl glib::value::ValueType for GreeterError {
108    type Type = Self;
109}
110
111unsafe impl<'a> glib::value::FromValue<'a> for GreeterError {
112    type Checker = glib::value::GenericValueTypeChecker<Self>;
113
114    #[inline]
115    unsafe fn from_value(value: &'a glib::Value) -> Self {
116        skip_assert_initialized!();
117        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
118    }
119}
120
121impl ToValue for GreeterError {
122    #[inline]
123    fn to_value(&self) -> glib::Value {
124        let mut value = glib::Value::for_value_type::<Self>();
125        unsafe {
126            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
127        }
128        value
129    }
130
131    #[inline]
132    fn value_type(&self) -> glib::Type {
133        Self::static_type()
134    }
135}
136
137impl From<GreeterError> for glib::Value {
138    #[inline]
139    fn from(v: GreeterError) -> Self {
140        skip_assert_initialized!();
141        ToValue::to_value(&v)
142    }
143}
144
145#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
146#[non_exhaustive]
147#[doc(alias = "LightDMMessageType")]
148pub enum MessageType {
149    /// Informational message.
150    #[doc(alias = "LIGHTDM_MESSAGE_TYPE_INFO")]
151    Info,
152    /// Error message.
153    #[doc(alias = "LIGHTDM_MESSAGE_TYPE_ERROR")]
154    Error,
155    #[doc(hidden)]
156    __Unknown(i32),
157}
158
159#[doc(hidden)]
160impl IntoGlib for MessageType {
161    type GlibType = ffi::LightDMMessageType;
162
163    #[inline]
164    fn into_glib(self) -> ffi::LightDMMessageType {
165        match self {
166            Self::Info => ffi::LIGHTDM_MESSAGE_TYPE_INFO,
167            Self::Error => ffi::LIGHTDM_MESSAGE_TYPE_ERROR,
168            Self::__Unknown(value) => value,
169        }
170    }
171}
172
173#[doc(hidden)]
174impl FromGlib<ffi::LightDMMessageType> for MessageType {
175    #[inline]
176    unsafe fn from_glib(value: ffi::LightDMMessageType) -> Self {
177        skip_assert_initialized!();
178
179        match value {
180            ffi::LIGHTDM_MESSAGE_TYPE_INFO => Self::Info,
181            ffi::LIGHTDM_MESSAGE_TYPE_ERROR => Self::Error,
182            value => Self::__Unknown(value),
183        }
184    }
185}
186
187impl StaticType for MessageType {
188    #[inline]
189    #[doc(alias = "lightdm_message_type_get_type")]
190    fn static_type() -> glib::Type {
191        unsafe { from_glib(ffi::lightdm_message_type_get_type()) }
192    }
193}
194
195impl glib::HasParamSpec for MessageType {
196    type ParamSpec = glib::ParamSpecEnum;
197    type SetValue = Self;
198    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
199
200    fn param_spec_builder() -> Self::BuilderFn {
201        Self::ParamSpec::builder_with_default
202    }
203}
204
205impl glib::value::ValueType for MessageType {
206    type Type = Self;
207}
208
209unsafe impl<'a> glib::value::FromValue<'a> for MessageType {
210    type Checker = glib::value::GenericValueTypeChecker<Self>;
211
212    #[inline]
213    unsafe fn from_value(value: &'a glib::Value) -> Self {
214        skip_assert_initialized!();
215        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
216    }
217}
218
219impl ToValue for MessageType {
220    #[inline]
221    fn to_value(&self) -> glib::Value {
222        let mut value = glib::Value::for_value_type::<Self>();
223        unsafe {
224            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
225        }
226        value
227    }
228
229    #[inline]
230    fn value_type(&self) -> glib::Type {
231        Self::static_type()
232    }
233}
234
235impl From<MessageType> for glib::Value {
236    #[inline]
237    fn from(v: MessageType) -> Self {
238        skip_assert_initialized!();
239        ToValue::to_value(&v)
240    }
241}
242
243/// Prompt types the client is required to display.
244#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
245#[non_exhaustive]
246#[doc(alias = "LightDMPromptType")]
247pub enum PromptType {
248    /// prompt is a question.  The information can be shown as it is entered.
249    #[doc(alias = "LIGHTDM_PROMPT_TYPE_QUESTION")]
250    Question,
251    /// prompt is for secret information.  The entered information should be obscured so it can't be publically visible.
252    #[doc(alias = "LIGHTDM_PROMPT_TYPE_SECRET")]
253    Secret,
254    #[doc(hidden)]
255    __Unknown(i32),
256}
257
258#[doc(hidden)]
259impl IntoGlib for PromptType {
260    type GlibType = ffi::LightDMPromptType;
261
262    #[inline]
263    fn into_glib(self) -> ffi::LightDMPromptType {
264        match self {
265            Self::Question => ffi::LIGHTDM_PROMPT_TYPE_QUESTION,
266            Self::Secret => ffi::LIGHTDM_PROMPT_TYPE_SECRET,
267            Self::__Unknown(value) => value,
268        }
269    }
270}
271
272#[doc(hidden)]
273impl FromGlib<ffi::LightDMPromptType> for PromptType {
274    #[inline]
275    unsafe fn from_glib(value: ffi::LightDMPromptType) -> Self {
276        skip_assert_initialized!();
277
278        match value {
279            ffi::LIGHTDM_PROMPT_TYPE_QUESTION => Self::Question,
280            ffi::LIGHTDM_PROMPT_TYPE_SECRET => Self::Secret,
281            value => Self::__Unknown(value),
282        }
283    }
284}
285
286impl StaticType for PromptType {
287    #[inline]
288    #[doc(alias = "lightdm_prompt_type_get_type")]
289    fn static_type() -> glib::Type {
290        unsafe { from_glib(ffi::lightdm_prompt_type_get_type()) }
291    }
292}
293
294impl glib::HasParamSpec for PromptType {
295    type ParamSpec = glib::ParamSpecEnum;
296    type SetValue = Self;
297    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
298
299    fn param_spec_builder() -> Self::BuilderFn {
300        Self::ParamSpec::builder_with_default
301    }
302}
303
304impl glib::value::ValueType for PromptType {
305    type Type = Self;
306}
307
308unsafe impl<'a> glib::value::FromValue<'a> for PromptType {
309    type Checker = glib::value::GenericValueTypeChecker<Self>;
310
311    #[inline]
312    unsafe fn from_value(value: &'a glib::Value) -> Self {
313        skip_assert_initialized!();
314        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
315    }
316}
317
318impl ToValue for PromptType {
319    #[inline]
320    fn to_value(&self) -> glib::Value {
321        let mut value = glib::Value::for_value_type::<Self>();
322        unsafe {
323            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
324        }
325        value
326    }
327
328    #[inline]
329    fn value_type(&self) -> glib::Type {
330        Self::static_type()
331    }
332}
333
334impl From<PromptType> for glib::Value {
335    #[inline]
336    fn from(v: PromptType) -> Self {
337        skip_assert_initialized!();
338        ToValue::to_value(&v)
339    }
340}