From 625fb09c8b426296ead488943f993a0f5b592204 Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Tue, 21 Jun 2016 20:34:19 -0400 Subject: [PATCH] Move mailbox to its own file --- example.rs | 3 ++- src/client.rs | 26 ++------------------------ src/lib.rs | 1 + src/mailbox.rs | 23 +++++++++++++++++++++++ 4 files changed, 28 insertions(+), 25 deletions(-) create mode 100644 src/mailbox.rs diff --git a/example.rs b/example.rs index 0f4161a..0f166cd 100644 --- a/example.rs +++ b/example.rs @@ -2,7 +2,8 @@ extern crate imap; extern crate openssl; use openssl::ssl::{SslContext, SslMethod}; -use imap::client::{Client, Mailbox}; +use imap::client::Client; +use imap::mailbox::Mailbox; fn main() { let mut imap_socket = match Client::secure_connect(("imap.gmail.com", 993), SslContext::new(SslMethod::Sslv23).unwrap()) { diff --git a/src/client.rs b/src/client.rs index fde7e01..4345341 100644 --- a/src/client.rs +++ b/src/client.rs @@ -3,6 +3,8 @@ use openssl::ssl::{SslContext, SslStream}; use std::io::{Error, ErrorKind, Read, Result, Write}; use regex::Regex; +use super::mailbox::Mailbox; + static TAG_PREFIX: &'static str = "a"; const INITIAL_TAG: u32 = 0; @@ -12,30 +14,6 @@ pub struct Client { tag: u32 } -pub struct Mailbox { - pub flags: String, - pub exists: u32, - pub recent: u32, - pub unseen: Option, - pub permanent_flags: Option, - pub uid_next: Option, - pub uid_validity: Option -} - -impl Default for Mailbox { - fn default() -> Mailbox { - Mailbox { - flags: "".to_string(), - exists: 0, - recent: 0, - unseen: None, - permanent_flags: None, - uid_next: None, - uid_validity: None - } - } -} - impl Client { /// Creates a new client. pub fn connect(addr: A) -> Result> { diff --git a/src/lib.rs b/src/lib.rs index a49f77a..9727a66 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ extern crate openssl; extern crate regex; pub mod client; +pub mod mailbox; #[cfg(test)] mod mock_stream; diff --git a/src/mailbox.rs b/src/mailbox.rs new file mode 100644 index 0000000..f41491d --- /dev/null +++ b/src/mailbox.rs @@ -0,0 +1,23 @@ +pub struct Mailbox { + pub flags: String, + pub exists: u32, + pub recent: u32, + pub unseen: Option, + pub permanent_flags: Option, + pub uid_next: Option, + pub uid_validity: Option +} + +impl Default for Mailbox { + fn default() -> Mailbox { + Mailbox { + flags: "".to_string(), + exists: 0, + recent: 0, + unseen: None, + permanent_flags: None, + uid_next: None, + uid_validity: None + } + } +}