diff options
Diffstat (limited to 'lib/dirstore.go')
-rw-r--r-- | lib/dirstore.go | 15 |
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 +} |