aerogramme/aero-proto/imap/command/mod.rs

21 lines
656 B
Rust
Raw Normal View History

2022-06-20 16:09:20 +00:00
pub mod anonymous;
2024-01-01 18:25:28 +00:00
pub mod anystate;
2022-06-20 16:09:20 +00:00
pub mod authenticated;
2022-06-30 11:36:21 +00:00
pub mod selected;
2024-01-01 18:25:28 +00:00
2024-02-27 17:33:49 +00:00
use crate::mail::namespace::INBOX;
2024-01-01 18:25:28 +00:00
use imap_codec::imap_types::mailbox::Mailbox as MailboxCodec;
/// Convert an IMAP mailbox name/identifier representation
/// to an utf-8 string that is used internally in Aerogramme
struct MailboxName<'a>(&'a MailboxCodec<'a>);
impl<'a> TryInto<&'a str> for MailboxName<'a> {
type Error = std::str::Utf8Error;
fn try_into(self) -> Result<&'a str, Self::Error> {
match self.0 {
MailboxCodec::Inbox => Ok(INBOX),
MailboxCodec::Other(aname) => Ok(std::str::from_utf8(aname.as_ref())?),
}
}
}