aboutsummaryrefslogtreecommitdiff
path: root/src/imap/command.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-06-17 18:39:36 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-06-17 18:39:36 +0200
commit5dd5ae8bcd6f88703bc483d7f8d5882fefad4e7e (patch)
tree312708a97fcfcd273481f41b8bd6c878030573f4 /src/imap/command.rs
parent41f1b02171cee36706d30cf24329ff12780d47fd (diff)
downloadaerogramme-5dd5ae8bcd6f88703bc483d7f8d5882fefad4e7e.tar.gz
aerogramme-5dd5ae8bcd6f88703bc483d7f8d5882fefad4e7e.zip
WIP Refactor, code is broken
Diffstat (limited to 'src/imap/command.rs')
-rw-r--r--src/imap/command.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/imap/command.rs b/src/imap/command.rs
new file mode 100644
index 0000000..adf2f90
--- /dev/null
+++ b/src/imap/command.rs
@@ -0,0 +1,29 @@
+use anyhow::{Error, Result};
+use boitalettres::errors::Error as BalError;
+use boitalettres::proto::{Request, Response};
+use imap_codec::types::core::{AString, Tag};
+use imap_codec::types::fetch_attributes::MacroOrFetchAttributes;
+use imap_codec::types::mailbox::{ListMailbox, Mailbox as MailboxCodec};
+use imap_codec::types::response::{Capability, Code, Data, Response as ImapRes, Status};
+use imap_codec::types::sequence::SequenceSet;
+
+use crate::mailbox::Mailbox;
+use crate::session;
+
+pub struct Command<'a> {
+ tag: Tag,
+ session: &'a mut session::Instance,
+}
+
+// @FIXME better handle errors, our conversions are bad due to my fork of BàL
+// @FIXME store the IMAP state in the session as an enum.
+impl<'a> Command<'a> {
+ pub fn new(tag: Tag, session: &'a mut session::Instance) -> Self {
+ Self { tag, session }
+ }
+
+
+
+
+
+}