aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/objc/imap/MCOIMAPSearchExpression.h150
-rw-r--r--src/objc/imap/MCOIMAPSearchExpression.mm80
2 files changed, 230 insertions, 0 deletions
diff --git a/src/objc/imap/MCOIMAPSearchExpression.h b/src/objc/imap/MCOIMAPSearchExpression.h
index 73eefd23..928ec39b 100644
--- a/src/objc/imap/MCOIMAPSearchExpression.h
+++ b/src/objc/imap/MCOIMAPSearchExpression.h
@@ -72,6 +72,156 @@
+ (MCOIMAPSearchExpression *) searchHeader:(NSString *)header value:(NSString *)value;
/**
+ Creates a search expression that matches messages with the Read flag.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchRead;
+
+/**
+ Creates a search expression that matches messages without the Read flag.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchUnread;
+
+/**
+ Creates a search expression that matches messages that have been flagged.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchFlagged;
+
+/**
+ Creates a search expression that matches messages that haven't been flagged.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchUnflagged;
+
+/**
+ Creates a search expression that matches messages that have the answered flag set.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchAnswered;
+
+/**
+ Creates a search expression that matches messages that don't have the answered flag set..
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchUnanswered;
+
+/**
+ Creates a search expression that matches draft messages.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchDraft;
+
+/**
+ Creates a search expression that matches messages that aren't drafts.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchUndraft;
+
+/**
+ Creates a search expression that matches messages that are deleted.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchDeleted;
+
+/**
+ Creates a search expression that matches messages that are spam.
+
+ Example:
+
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchHeader:@"List-Id" value:@"shoes"]
+ **/
++ (MCOIMAPSearchExpression *) searchSpam;
+
+/**
+ Creates a search expression that matches messages sent before a date.
+
+ Example:
+
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent on a date.
+
+ Example:
+
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages sent since a date.
+
+ Example:
+
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages recieved before a date.
+
+ Example:
+
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchBeforeRecievedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchBeforeRecievedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages recieved on a date.
+
+ Example:
+
+ NSDate *now = [NSDate date];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchOnRecievedDate:now]
+ **/
++ (MCOIMAPSearchExpression *) searchOnRecievedDate:(NSDate *)date;
+
+/**
+ Creates a search expression that matches messages recieved since a date.
+
+ Example:
+
+ NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60.0 * 60.0 * 24.0)];
+ MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchSinceReciviedDate:yesterday]
+ **/
++ (MCOIMAPSearchExpression *) searchSinceReciviedDate:(NSDate *)date;
+
+/**
Creates a search expression that matches emails with the given gmail thread id
Example:
diff --git a/src/objc/imap/MCOIMAPSearchExpression.mm b/src/objc/imap/MCOIMAPSearchExpression.mm
index b727f9f8..e8148771 100644
--- a/src/objc/imap/MCOIMAPSearchExpression.mm
+++ b/src/objc/imap/MCOIMAPSearchExpression.mm
@@ -87,6 +87,86 @@
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchHeader([header mco_mcString], [value mco_mcString]));
}
++ (MCOIMAPSearchExpression *) searchRead
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchRead());
+}
+
++ (MCOIMAPSearchExpression *) searchUnread
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchUnread());
+}
+
++ (MCOIMAPSearchExpression *) searchFlagged
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchFlagged());
+}
+
++ (MCOIMAPSearchExpression *) searchUnflagged
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchUnflagged());
+}
+
++ (MCOIMAPSearchExpression *) searchAnswered
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchAnswered());
+}
+
++ (MCOIMAPSearchExpression *) searchUnanswered
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchUnanswered());
+}
+
++ (MCOIMAPSearchExpression *) searchDraft
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchDraft());
+}
+
++ (MCOIMAPSearchExpression *) searchUndraft
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchUndraft());
+}
+
++ (MCOIMAPSearchExpression *) searchDeleted
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchDeleted());
+}
+
++ (MCOIMAPSearchExpression *) searchSpam
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchSpam());
+}
+
++ (MCOIMAPSearchExpression *) searchBeforeDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchBeforeDate((time_t) [date timeIntervalSince1970]));
+}
+
++ (MCOIMAPSearchExpression *) searchOnDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchOnDate((time_t) [date timeIntervalSince1970]));
+}
+
++ (MCOIMAPSearchExpression *) searchSinceDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchSinceDate((time_t) [date timeIntervalSince1970]));
+}
+
++ (MCOIMAPSearchExpression *) searchBeforeRecievedDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchBeforeRecievedDate((time_t) [date timeIntervalSince1970]));
+}
+
++ (MCOIMAPSearchExpression *) searchOnRecievedDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchOnRecievedDate((time_t) [date timeIntervalSince1970]));
+}
+
++ (MCOIMAPSearchExpression *) searchSinceReciviedDate:(NSDate *)date
+{
+ return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchSinceReciviedDate((time_t) [date timeIntervalSince1970]));
+}
+
+ (MCOIMAPSearchExpression *) searchGmailThreadID:(uint64_t)number
{
return MCO_TO_OBJC(mailcore::IMAPSearchExpression::searchGmailThreadID(number));