aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc
diff options
context:
space:
mode:
authorGravatar pfennema <paul@bryce.demon.nl>2013-12-04 22:27:53 +0100
committerGravatar pfennema <paul@bryce.demon.nl>2013-12-04 22:27:53 +0100
commite2e59990da11eba54050001fff58b466a58ce740 (patch)
treeab0dbcc156ca4e7602e9e9692c4a8d721e39fcbe /src/objc
parentbaef8a77d30a9844eb63886624a1e04761d88a4a (diff)
Separate searches for to, cc and bcc fields.
Furthermore, search with uids now supported.
Diffstat (limited to 'src/objc')
-rw-r--r--src/objc/abstract/MCOConstants.h8
-rw-r--r--src/objc/imap/MCOIMAPSearchExpression.h41
-rw-r--r--src/objc/imap/MCOIMAPSearchExpression.mm18
3 files changed, 65 insertions, 2 deletions
diff --git a/src/objc/abstract/MCOConstants.h b/src/objc/abstract/MCOConstants.h
index ac71dd6b..710ea9eb 100644
--- a/src/objc/abstract/MCOConstants.h
+++ b/src/objc/abstract/MCOConstants.h
@@ -165,12 +165,20 @@ typedef enum {
MCOIMAPSearchKindNone,
/** Match sender.*/
MCOIMAPSearchKindFrom,
+ /** Match to */
+ MCOIMAPSearchKindTo,
+ /** Match CC: */
+ MCOIMAPSearchKindCC,
+ /** Match BCC: */
+ MCOIMAPSearchKindBCC,
/** Match recipient.*/
MCOIMAPSearchKindRecipient,
/** Match subject.*/
MCOIMAPSearchKindSubject,
/** Match content of the message.*/
MCOIMAPSearchKindContent,
+ /** Match uids */
+ MCOIMAPSearchKindUids,
/** Match headers of the message.*/
MCOIMAPSearchKindHeader,
/** Match X-GM-THRID.*/
diff --git a/src/objc/imap/MCOIMAPSearchExpression.h b/src/objc/imap/MCOIMAPSearchExpression.h
index ea9b6812..735d6b07 100644
--- a/src/objc/imap/MCOIMAPSearchExpression.h
+++ b/src/objc/imap/MCOIMAPSearchExpression.h
@@ -14,6 +14,7 @@
#import <Foundation/Foundation.h>
#import <MailCore/MCOConstants.h>
+#import "MCOIndexSet.h"
@interface MCOIMAPSearchExpression : NSObject
@@ -37,12 +38,39 @@
/**
Creates a search expression that matches any recipient of an email.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchRecipient:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the receiver (to) of an email. Useful to check whether the mail is directly addressed to the receiver.
Example:
- MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchRecipient:@"ngan@etpan.org"]
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchTo:@"ngan@etpan.org"]
**/
-+ (MCOIMAPSearchExpression *) searchRecipient:(NSString *)value;
++ (MCOIMAPSearchExpression *) searchTo:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the cc of an email. Useful to check whether the mail is addressed to the receiver as cc.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchCC:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchCC:(NSString *)value;
+
+/**
+ Creates a search expression that matches on the bcc field of an email. Useful to check whether the mail is addressed to the receiver as bcc.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBCC:@"ngan@etpan.org"]
+ **/
++ (MCOIMAPSearchExpression *) searchBCC:(NSString *)value;
/*
Creates a search expression that matches the subject of an email.
@@ -63,6 +91,15 @@
+ (MCOIMAPSearchExpression *) searchContent:(NSString *)value;
/**
+ Creates a search expression that matches the uids specified.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchUids:uids]
+ **/
++ (MCOIMAPSearchExpression *) searchUids:(MCOIndexSet *) uids;
+
+/**
Creates a search expression that matches the content of a specific header.
Example:
diff --git a/src/objc/imap/MCOIMAPSearchExpression.mm b/src/objc/imap/MCOIMAPSearchExpression.mm
index 252e73b3..2c275054 100644
--- a/src/objc/imap/MCOIMAPSearchExpression.mm
+++ b/src/objc/imap/MCOIMAPSearchExpression.mm
@@ -67,6 +67,20 @@
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchFrom([value mco_mcString]));
}
++ (MCOIMAPSearchExpression *) searchTo:(NSString *)value
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchTo([value mco_mcString]));
+}
+
++ (MCOIMAPSearchExpression *) searchCC:(NSString *)value
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchCC([value mco_mcString]));
+}
+
++ (MCOIMAPSearchExpression *) searchBCC:(NSString *)value
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchBCC([value mco_mcString]));
+}
+ (MCOIMAPSearchExpression *) searchRecipient:(NSString *)value
{
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchRecipient([value mco_mcString]));
@@ -82,6 +96,10 @@
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchContent([value mco_mcString]));
}
++ (MCOIMAPSearchExpression *) searchUids:(MCOIndexSet *) uids
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchUids(MCO_FROM_OBJC(mailcore::IndexSet, uids)));
+}
+ (MCOIMAPSearchExpression *) searchHeader:(NSString *)header value:(NSString *)value
{
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchHeader([header mco_mcString], [value mco_mcString]));