Lines Matching refs:result

7 #include "mailbox-search-result-private.h"
10 mailbox_search_result_analyze_args(struct mail_search_result *result,
17 mailbox_search_result_analyze_args(result,
21 result->args_have_flags = TRUE;
24 result->args_have_keywords = TRUE;
27 result->args_have_modseq = TRUE;
39 struct mail_search_result *result;
41 result = i_new(struct mail_search_result, 1);
42 result->box = box;
43 result->flags = flags;
44 i_array_init(&result->uids, 32);
45 i_array_init(&result->never_uids, 128);
47 if ((result->flags & MAILBOX_SEARCH_RESULT_FLAG_UPDATE) != 0) {
48 result->search_args = args;
49 mail_search_args_ref(result->search_args);
50 mailbox_search_result_analyze_args(result, args->args);
53 array_append(&result->box->search_results, &result, 1);
54 return result;
59 struct mail_search_result *result = *_result;
65 results = array_get(&result->box->search_results, &count);
67 if (results[i] == result) {
68 array_delete(&result->box->search_results, i, 1);
74 if (result->search_args != NULL)
75 mail_search_args_unref(&result->search_args);
77 array_free(&result->uids);
78 array_free(&result->never_uids);
79 if (array_is_created(&result->removed_uids)) {
80 array_free(&result->removed_uids);
81 array_free(&result->added_uids);
83 i_free(result);
90 struct mail_search_result *result;
92 result = mailbox_search_result_alloc(ctx->transaction->box,
94 array_append(&ctx->results, &result, 1);
95 return result;
98 void mailbox_search_result_initial_done(struct mail_search_result *result)
100 if ((result->flags & MAILBOX_SEARCH_RESULT_FLAG_QUEUE_SYNC) != 0) {
101 i_array_init(&result->removed_uids, 32);
102 i_array_init(&result->added_uids, 32);
104 mail_search_args_seq2uid(result->search_args);
117 void mailbox_search_result_add(struct mail_search_result *result, uint32_t uid)
121 if (seq_range_exists(&result->uids, uid))
124 seq_range_array_add(&result->uids, uid);
125 if (array_is_created(&result->added_uids)) {
126 seq_range_array_add(&result->added_uids, uid);
127 seq_range_array_remove(&result->removed_uids, uid);
131 void mailbox_search_result_remove(struct mail_search_result *result,
134 if (seq_range_array_remove(&result->uids, uid)) {
135 if (array_is_created(&result->removed_uids)) {
136 seq_range_array_add(&result->removed_uids, uid);
137 seq_range_array_remove(&result->added_uids, uid);
162 void mailbox_search_result_never(struct mail_search_result *result,
165 seq_range_array_add(&result->never_uids, uid);
183 mailbox_search_result_get(struct mail_search_result *result)
185 return &result->uids;
188 void mailbox_search_result_sync(struct mail_search_result *result,
195 array_append_array(removed_uids, &result->removed_uids);
196 array_append_array(added_uids, &result->added_uids);
198 array_clear(&result->removed_uids);
199 array_clear(&result->added_uids);