summaryrefslogtreecommitdiffstats
path: root/src/lib-index/mail-index-alloc-cache.h
blob: 5f285639a054facdb5b6b2e748821b669190182b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef MAIL_INDEX_ALLOC_CACHE_H
#define MAIL_INDEX_ALLOC_CACHE_H

/* If using in-memory indexes, give index_dir=NULL. */
struct mail_index * ATTR_NULL(1, 2)
mail_index_alloc_cache_get(struct event *parent_event, const char *mailbox_path,
			   const char *index_dir, const char *prefix);
void mail_index_alloc_cache_unref(struct mail_index **index);

/* Find an existing already opened index from a given index directory. */
struct mail_index *
mail_index_alloc_cache_find(const char *index_dir);

void mail_index_alloc_cache_destroy_unrefed(void);

/* internal: */
void mail_index_alloc_cache_index_opened(struct mail_index *index);
void mail_index_alloc_cache_index_closing(struct mail_index *index);

#endif