view src/stats/mail-session.h @ 14629:c93ca5e46a8a

Marked functions parameters that are allowed to be NULL. Some APIs were also changed. The non-obvious APIs where NULL parameter was changed to "" are master_service_init() and auth_master_user_list_init(). These checks can currently be enabled only on a patched clang: http://llvm.org/bugs/show_bug.cgi?id=6786
author Timo Sirainen <tss@iki.fi>
date Sun, 24 Jun 2012 00:52:57 +0300
parents 2492161a87f5
children a9952ceeac61
line wrap: on
line source

#ifndef MAIL_SESSION_H
#define MAIL_SESSION_H

struct mail_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 mail_stats *diff_stats) ATTR_NULL(2);

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

#endif