Refactoring; consume listing response
This commit is contained in:
parent
cc03f6f4c8
commit
d603bbe2ce
4 changed files with 57 additions and 53 deletions
worker/imap
|
@ -6,7 +6,7 @@ import (
|
|||
"git.sr.ht/~sircmpwn/aerc2/worker/types"
|
||||
)
|
||||
|
||||
func (imapw *IMAPWorker) handleListDirectories(msg types.ListDirectories) {
|
||||
func (imapw *IMAPWorker) handleListDirectories(msg *types.ListDirectories) {
|
||||
mailboxes := make(chan *imap.MailboxInfo)
|
||||
done := make(chan error, 1)
|
||||
imapw.worker.Logger.Println("Listing mailboxes")
|
||||
|
@ -18,18 +18,22 @@ func (imapw *IMAPWorker) handleListDirectories(msg types.ListDirectories) {
|
|||
select {
|
||||
case err := <-done:
|
||||
if err != nil {
|
||||
imapw.worker.PostMessage(types.Error{
|
||||
imapw.worker.PostMessage(&types.Error{
|
||||
Message: types.RespondTo(msg),
|
||||
Error: err,
|
||||
}, nil)
|
||||
} else {
|
||||
imapw.worker.PostMessage(
|
||||
types.Done{types.RespondTo(msg)}, nil)
|
||||
&types.Done{types.RespondTo(msg)}, nil)
|
||||
}
|
||||
return
|
||||
case mbox := <-mailboxes:
|
||||
if mbox != nil {
|
||||
imapw.worker.Logger.Printf("%v\n", mbox.Name)
|
||||
imapw.worker.PostMessage(&types.Directory{
|
||||
Message: types.RespondTo(msg),
|
||||
Name: mbox.Name,
|
||||
Attributes: mbox.Attributes,
|
||||
}, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue