From 2438d3b74ff9faf598e67f4b6da9324aa98b8b86 Mon Sep 17 00:00:00 2001 From: Tim Culverhouse Date: Sun, 16 Apr 2023 09:53:42 -0500 Subject: dirstore: store directory model in dirstore Use the dirstore to store models.Directory data structures. This will be used in subsequent commits for accessing directory data. Signed-off-by: Tim Culverhouse Acked-by: Robin Jarry --- lib/dirstore.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lib/dirstore.go') diff --git a/lib/dirstore.go b/lib/dirstore.go index cc06d579..76833622 100644 --- a/lib/dirstore.go +++ b/lib/dirstore.go @@ -1,12 +1,17 @@ package lib +import "git.sr.ht/~rjarry/aerc/models" + type DirStore struct { + dirs map[string]*models.Directory msgStores map[string]*MessageStore } func NewDirStore() *DirStore { - msgStores := make(map[string]*MessageStore) - return &DirStore{msgStores: msgStores} + return &DirStore{ + dirs: make(map[string]*models.Directory), + msgStores: make(map[string]*MessageStore), + } } func (store *DirStore) List() []string { @@ -22,10 +27,12 @@ func (store *DirStore) MessageStore(dirname string) (*MessageStore, bool) { return msgStore, ok } -func (store *DirStore) SetMessageStore(name string, msgStore *MessageStore) { - store.msgStores[name] = msgStore +func (store *DirStore) SetMessageStore(dir *models.Directory, msgStore *MessageStore) { + store.dirs[dir.Name] = dir + store.msgStores[dir.Name] = msgStore } func (store *DirStore) Remove(name string) { + delete(store.dirs, name) delete(store.msgStores, name) } -- cgit