#ifndef IMAPC_STORAGE_H
#define IMAPC_STORAGE_H
#include "index-storage.h"
#include "imapc-settings.h"
#include "imapc-client.h"
struct imap_arg;
struct imapc_untagged_reply;
struct imapc_command_reply;
struct imapc_mailbox;
struct imapc_storage_client;
struct imapc_storage_client *client);
struct imapc_mailbox *mbox);
struct imapc_storage_event_callback {
char *name;
};
struct imapc_mailbox_event_callback {
const char *name;
};
struct imapc_namespace {
const char *prefix;
char separator;
};
struct imapc_storage_client {
int refcount;
/* either one of these may not be available: */
/* IMAPC_COMMAND_STATE_OK if no auth failure (yet), otherwise result to
the LOGIN/AUTHENTICATE command. */
char *auth_failed_reason;
/* Authentication reply was received (success or failure) */
};
struct imapc_storage {
unsigned int reopen_count;
};
struct imapc_mail_cache {
/* either fd != -1 or buf != NULL */
int fd;
};
struct imapc_fetch_request {
};
struct imapc_mailbox {
/* if non-empty, contains the latest FETCH command we're going to be
sending soon (but still waiting to see if we can increase its
UID range) */
char *sync_gmail_pop3_search_tag;
/* keep the previous fetched message body cached,
mainly for partial IMAP fetches */
const char *guid_fetch_field_name;
};
struct imapc_simple_context {
int ret;
};
const struct imapc_settings *imapc_set,
const struct mail_storage_settings *mail_set,
struct imapc_storage_client **client_r,
const char **error_r);
struct mail_save_context *
struct mail_index_transaction_commit_result *result);
enum mail_error default_error,
const struct imapc_command_reply *reply);
struct imapc_storage_client *client);
void *context);
bool *changes_r);
const char *name,
const char *name,
const char *key,
#endif