1 #ifndef MAIL_SESSION_H
2 #define MAIL_SESSION_H
3 
4 struct stats;
5 struct mail_session;
6 
7 extern struct mail_session *stable_mail_sessions;
8 
9 int mail_session_connect_parse(const char *const *args, const char **error_r);
10 int mail_session_disconnect_parse(const char *const *args, const char **error_r);
11 int mail_session_update_parse(const char *const *args, const char **error_r);
12 int mail_session_cmd_update_parse(const char *const *args, const char **error_r);
13 
14 void mail_session_ref(struct mail_session *session);
15 void mail_session_unref(struct mail_session **session);
16 
17 int mail_session_lookup(const char *guid, struct mail_session **session_r,
18 			const char **error_r);
19 int mail_session_get(const char *guid, struct mail_session **session_r,
20 		     const char **error_r);
21 void mail_session_refresh(struct mail_session *session,
22 			  const struct stats *diff_stats) ATTR_NULL(2);
23 
24 void mail_sessions_free_memory(void);
25 void mail_sessions_init(void);
26 void mail_sessions_deinit(void);
27 
28 #endif
29