use glib::{translate::*};
use std::{fmt};
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[derive(Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "DbusmenuStatus")]
pub enum Status {
#[doc(alias = "DBUSMENU_STATUS_NORMAL")]
Normal,
#[doc(alias = "DBUSMENU_STATUS_NOTICE")]
Notice,
#[doc(hidden)]
__Unknown(i32),
}
impl fmt::Display for Status {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Status::{}", match *self {
Self::Normal => "Normal",
Self::Notice => "Notice",
_ => "Unknown",
})
}
}
#[doc(hidden)]
impl IntoGlib for Status {
type GlibType = ffi::DbusmenuStatus;
#[inline]
fn into_glib(self) -> ffi::DbusmenuStatus {
match self {
Self::Normal => ffi::DBUSMENU_STATUS_NORMAL,
Self::Notice => ffi::DBUSMENU_STATUS_NOTICE,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::DbusmenuStatus> for Status {
#[inline]
unsafe fn from_glib(value: ffi::DbusmenuStatus) -> Self {
skip_assert_initialized!();
match value {
ffi::DBUSMENU_STATUS_NORMAL => Self::Normal,
ffi::DBUSMENU_STATUS_NOTICE => Self::Notice,
value => Self::__Unknown(value),
}
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[derive(Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "DbusmenuTextDirection")]
pub enum TextDirection {
#[doc(alias = "DBUSMENU_TEXT_DIRECTION_NONE")]
None,
#[doc(alias = "DBUSMENU_TEXT_DIRECTION_LTR")]
Ltr,
#[doc(alias = "DBUSMENU_TEXT_DIRECTION_RTL")]
Rtl,
#[doc(hidden)]
__Unknown(i32),
}
impl fmt::Display for TextDirection {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "TextDirection::{}", match *self {
Self::None => "None",
Self::Ltr => "Ltr",
Self::Rtl => "Rtl",
_ => "Unknown",
})
}
}
#[doc(hidden)]
impl IntoGlib for TextDirection {
type GlibType = ffi::DbusmenuTextDirection;
#[inline]
fn into_glib(self) -> ffi::DbusmenuTextDirection {
match self {
Self::None => ffi::DBUSMENU_TEXT_DIRECTION_NONE,
Self::Ltr => ffi::DBUSMENU_TEXT_DIRECTION_LTR,
Self::Rtl => ffi::DBUSMENU_TEXT_DIRECTION_RTL,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::DbusmenuTextDirection> for TextDirection {
#[inline]
unsafe fn from_glib(value: ffi::DbusmenuTextDirection) -> Self {
skip_assert_initialized!();
match value {
ffi::DBUSMENU_TEXT_DIRECTION_NONE => Self::None,
ffi::DBUSMENU_TEXT_DIRECTION_LTR => Self::Ltr,
ffi::DBUSMENU_TEXT_DIRECTION_RTL => Self::Rtl,
value => Self::__Unknown(value),
}
}
}