From c883470c2ef977b8675b12428591bb003694e235 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Thu, 23 Apr 2020 20:48:17 +0200 Subject: Restructure imap pkg --- internal/imap/mailboxes.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/imap/mailboxes.go (limited to 'internal/imap/mailboxes.go') diff --git a/internal/imap/mailboxes.go b/internal/imap/mailboxes.go new file mode 100644 index 0000000..d0fdede --- /dev/null +++ b/internal/imap/mailboxes.go @@ -0,0 +1,34 @@ +package imap + +import ( + "sync" + + "github.com/emersion/go-imap" +) + +type mailboxes struct { + mb map[string]*imap.MailboxInfo + mu sync.RWMutex +} + +func (mbs *mailboxes) contains(elem Folder) bool { + mbs.mu.RLock() + defer mbs.mu.RUnlock() + + _, ok := mbs.mb[elem.str] + return ok +} + +func (mbs *mailboxes) add(elem *imap.MailboxInfo) { + mbs.mu.Lock() + defer mbs.mu.Unlock() + + mbs.mb[elem.Name] = elem +} + +func NewMailboxes() *mailboxes { + return &mailboxes{ + mb: map[string]*imap.MailboxInfo{}, + mu: sync.RWMutex{}, + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf