blob: b0b1715a09030aa980fbcbe9d258b3641c563304 (
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#ifndef IMAP_SYNC_PRIVATE_H
#define IMAP_SYNC_PRIVATE_H
#include "imap-sync.h"
struct imap_client_sync_context {
/* if multiple commands are in progress, we may need to wait for them
to finish before syncing mailbox. */
unsigned int counter;
enum mailbox_sync_flags flags;
enum imap_sync_flags imap_flags;
const char *tagline;
};
struct imap_sync_context {
struct client *client;
struct mailbox *box;
enum imap_sync_flags imap_flags;
struct mailbox_transaction_context *t;
struct mailbox_sync_context *sync_ctx;
struct mail *mail;
struct mailbox_status status;
struct mailbox_sync_status sync_status;
struct mailbox_sync_rec sync_rec;
ARRAY_TYPE(keywords) tmp_keywords;
ARRAY_TYPE(seq_range) expunges;
uint32_t seq;
ARRAY_TYPE(seq_range) search_adds, search_removes;
unsigned int search_update_idx;
unsigned int messages_count;
/* Module-specific contexts. */
ARRAY(union imap_module_context *) module_contexts;
bool failed:1;
bool finished:1;
bool no_newmail:1;
bool have_new_mails:1;
bool search_update_notifying:1;
};
#endif
|