MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / searchKeyFromSearchExpression

Function searchKeyFromSearchExpression

src/core/imap/MCIMAPSession.cpp:3223–3460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3221}
3222
3223static struct mailimap_search_key * searchKeyFromSearchExpression(IMAPSearchExpression * expression)
3224{
3225 switch (expression->kind()) {
3226 case IMAPSearchKindAll:
3227 {
3228 return mailimap_search_key_new_all();
3229 }
3230 case IMAPSearchKindFrom:
3231 {
3232 return mailimap_search_key_new_from(strdup(expression->value()->UTF8Characters()));
3233 }
3234 case IMAPSearchKindTo:
3235 {
3236 return mailimap_search_key_new_to(strdup(expression->value()->UTF8Characters()));
3237 }
3238 case IMAPSearchKindCc:
3239 {
3240 return mailimap_search_key_new_cc(strdup(expression->value()->UTF8Characters()));
3241 }
3242 case IMAPSearchKindBcc:
3243 {
3244 return mailimap_search_key_new_bcc(strdup(expression->value()->UTF8Characters()));
3245 }
3246 case IMAPSearchKindRecipient:
3247 {
3248 struct mailimap_search_key * to_search;
3249 struct mailimap_search_key * cc_search;
3250 struct mailimap_search_key * bcc_search;
3251 struct mailimap_search_key * or_search1;
3252 struct mailimap_search_key * or_search2;
3253
3254 to_search = mailimap_search_key_new_to(strdup(expression->value()->UTF8Characters()));
3255 cc_search = mailimap_search_key_new_cc(strdup(expression->value()->UTF8Characters()));
3256 bcc_search = mailimap_search_key_new_bcc(strdup(expression->value()->UTF8Characters()));
3257
3258 or_search1 = mailimap_search_key_new_or(to_search, cc_search);
3259 or_search2 = mailimap_search_key_new_or(or_search1, bcc_search);
3260
3261 return or_search2;
3262 }
3263 case IMAPSearchKindSubject:
3264 {
3265 return mailimap_search_key_new_subject(strdup(expression->value()->UTF8Characters()));
3266 }
3267 case IMAPSearchKindContent:
3268 {
3269 return mailimap_search_key_new_text(strdup(expression->value()->UTF8Characters()));
3270 }
3271 case IMAPSearchKindBody:
3272 {
3273 return mailimap_search_key_new_body(strdup(expression->value()->UTF8Characters()));
3274 }
3275 case IMAPSearchKindUIDs:
3276 {
3277 return mailimap_search_key_new_uid(setFromIndexSet(expression->uids()));
3278 }
3279 case IMAPSearchKindNumbers:
3280 {

Callers 1

searchMethod · 0.85

Calls 11

setFromIndexSetFunction · 0.85
UTF8CharactersMethod · 0.80
valueMethod · 0.80
longNumberMethod · 0.80
leftExpressionMethod · 0.80
rightExpressionMethod · 0.80
kindMethod · 0.45
uidsMethod · 0.45
numbersMethod · 0.45
headerMethod · 0.45
dateMethod · 0.45

Tested by

no test coverage detected