annotate src/lib-storage/mailbox-search-result-private.h @ 9354:687ac828b964 HEAD

lib-index: modseqs weren't tracked properly within session when changes were done.
author Timo Sirainen <tss@iki.fi>
date Tue, 01 Sep 2009 13:05:03 -0400
parents 29d6c17f2009
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1 #ifndef MAILBOX_SEARCH_RESULT_PRIVATE_H
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2 #define MAILBOX_SEARCH_RESULT_PRIVATE_H
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 #include "mail-storage.h"
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 struct mail_search_result {
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 struct mailbox *box;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 enum mailbox_search_result_flags flags;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 struct mail_search_args *search_args;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
7671
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
11 /* UIDs of messages currently in the result */
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 ARRAY_TYPE(seq_range) uids;
7671
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
13 /* UIDs of messages that will never match the result */
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
14 ARRAY_TYPE(seq_range) never_uids;
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15 ARRAY_TYPE(seq_range) removed_uids, added_uids;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17 unsigned int args_have_flags:1;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 unsigned int args_have_keywords:1;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 unsigned int args_have_modseq:1;
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 };
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21
7893
9e4be86d4b7d Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents: 7671
diff changeset
22 struct mail_search_result *
9e4be86d4b7d Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents: 7671
diff changeset
23 mailbox_search_result_alloc(struct mailbox *box, struct mail_search_args *args,
9e4be86d4b7d Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents: 7671
diff changeset
24 enum mailbox_search_result_flags flags);
9e4be86d4b7d Added mailbox_search_result_alloc() for building search results manually.
Timo Sirainen <tss@iki.fi>
parents: 7671
diff changeset
25
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 /* called when initial search is done. */
7898
29d6c17f2009 Virtual mailboxes: Speed up initial search result building using modseqs.
Timo Sirainen <tss@iki.fi>
parents: 7893
diff changeset
27 void mailbox_search_result_initial_done(struct mail_search_result *result);
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 void mailbox_search_results_initial_done(struct mail_search_context *ctx);
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30 void mailbox_search_result_add(struct mail_search_result *result, uint32_t uid);
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
31 void mailbox_search_result_remove(struct mail_search_result *result,
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32 uint32_t uid);
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33 void mailbox_search_results_add(struct mail_search_context *ctx, uint32_t uid);
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 void mailbox_search_results_remove(struct mailbox *box, uint32_t uid);
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
35
7671
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
36 void mailbox_search_result_never(struct mail_search_result *result,
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
37 uint32_t uid);
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
38 void mailbox_search_results_never(struct mail_search_context *ctx,
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
39 uint32_t uid);
882888286bf5 Saved search results: Remember what messages' static checks never match, so
Timo Sirainen <tss@iki.fi>
parents: 7647
diff changeset
40
7647
879208fdc7e3 Implemented CONTEXT=SEARCH extension.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41 #endif