summaryrefslogtreecommitdiffstats
path: root/src/old-stats/mail-session.h
blob: efdc82a13978aa6694b671c52c0f6fc6b430d81e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef MAIL_SESSION_H
#define MAIL_SESSION_H

struct stats;
struct mail_session;

extern struct mail_session *stable_mail_sessions;

int mail_session_connect_parse(const char *const *args, const char **error_r);
int mail_session_disconnect_parse(const char *const *args, const char **error_r);
int mail_session_update_parse(const char *const *args, const char **error_r);
int mail_session_cmd_update_parse(const char *const *args, const char **error_r);

void mail_session_ref(struct mail_session *session);
void mail_session_unref(struct mail_session **session);

int mail_session_lookup(const char *guid, struct mail_session **session_r,
			const char **error_r);
int mail_session_get(const char *guid, struct mail_session **session_r,
		     const char **error_r);
void mail_session_refresh(struct mail_session *session,
			  const struct stats *diff_stats) ATTR_NULL(2);

void mail_sessions_free_memory(void);
void mail_sessions_init(void);
void mail_sessions_deinit(void);

#endif