1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
use std::num::NonZeroU32;
#[cfg(feature = "arbitrary")]
use arbitrary::Arbitrary;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
/// The currently defined status data items that can be requested.
#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum StatusAttribute {
/// The number of messages in the mailbox.
Messages,
/// The number of messages with the \Recent flag set.
Recent,
/// The next unique identifier value of the mailbox.
UidNext,
/// The unique identifier validity value of the mailbox.
UidValidity,
/// The number of messages which do not have the \Seen flag set.
Unseen,
}
/// The currently defined status data items.
#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum StatusAttributeValue {
/// The number of messages in the mailbox.
Messages(u32),
/// The number of messages with the \Recent flag set.
Recent(u32),
/// The next unique identifier value of the mailbox. Refer to
/// section 2.3.1.1 for more information.
UidNext(NonZeroU32),
/// The unique identifier validity value of the mailbox. Refer to
/// section 2.3.1.1 for more information.
UidValidity(NonZeroU32),
/// The number of messages which do not have the \Seen flag set.
Unseen(u32),
}