summary refs log tree commit diff stats
path: root/lib/dirstore.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dirstore.go')
-rw-r--r--lib/dirstore.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/dirstore.go b/lib/dirstore.go
index 862e97a..bb58a9d 100644
--- a/lib/dirstore.go
+++ b/lib/dirstore.go
@@ -1,11 +1,13 @@
 package lib
 
 type DirStore struct {
-	dirs []string
+	dirs      []string
+	msgStores map[string]*MessageStore
 }
 
 func NewDirStore() *DirStore {
-	return &DirStore{}
+	msgStores := make(map[string]*MessageStore)
+	return &DirStore{msgStores: msgStores}
 }
 
 func (store *DirStore) Update(dirs []string) {
@@ -16,3 +18,12 @@ func (store *DirStore) Update(dirs []string) {
 func (store *DirStore) List() []string {
 	return store.dirs
 }
+
+func (store *DirStore) MessageStore(dirname string) (*MessageStore, bool) {
+	msgStore, ok := store.msgStores[dirname]
+	return msgStore, ok
+}
+
+func (store *DirStore) SetMessageStore(name string, msgStore *MessageStore) {
+	store.msgStores[name] = msgStore
+}