diff options
author | Oshikawa <oshikawa@azione.co.jp> | 2015-05-18 17:41:46 +0900 |
---|---|---|
committer | Oshikawa <oshikawa@azione.co.jp> | 2015-05-18 17:41:46 +0900 |
commit | 3367ac0c023c4523e070e6ae46c0a9d88eceeb5e (patch) | |
tree | 9021d3dc75ff326454805c47c6b13a2a742c664d /src | |
parent | b0b9c5269bcb881141ff6f9d192ba771cde485aa (diff) |
Added mNumbers
Diffstat (limited to 'src')
-rw-r--r-- | src/core/abstract/MCMessageConstants.h | 3 | ||||
-rw-r--r-- | src/core/imap/MCIMAPSearchExpression.cpp | 13 | ||||
-rw-r--r-- | src/core/imap/MCIMAPSearchExpression.h | 2 | ||||
-rwxr-xr-x | src/core/imap/MCIMAPSession.cpp | 2 | ||||
-rw-r--r-- | src/objc/imap/MCOIMAPSearchExpression.h | 9 |
5 files changed, 26 insertions, 3 deletions
diff --git a/src/core/abstract/MCMessageConstants.h b/src/core/abstract/MCMessageConstants.h index c948b7a2..69f1dab1 100644 --- a/src/core/abstract/MCMessageConstants.h +++ b/src/core/abstract/MCMessageConstants.h @@ -179,7 +179,8 @@ namespace mailcore { IMAPSearchKindSubject, IMAPSearchKindContent, IMAPSearchKindBody, - IMAPSearchKindUIDs, + IMAPSearchKindUIDs, + IMAPSearchKindNumbers, IMAPSearchKindHeader, IMAPSearchKindRead, IMAPSearchKindUnread, diff --git a/src/core/imap/MCIMAPSearchExpression.cpp b/src/core/imap/MCIMAPSearchExpression.cpp index b49d83bf..8d6b1f0b 100644 --- a/src/core/imap/MCIMAPSearchExpression.cpp +++ b/src/core/imap/MCIMAPSearchExpression.cpp @@ -9,6 +9,7 @@ void IMAPSearchExpression::init() mValue = NULL; mLongNumber = 0; mUids = NULL; + mNumbers = NULL; mLeftExpression = NULL; mRightExpression = NULL; } @@ -26,6 +27,7 @@ IMAPSearchExpression::IMAPSearchExpression(IMAPSearchExpression * other) MC_SAFE_REPLACE_COPY(String, mHeader, other->mHeader); MC_SAFE_REPLACE_COPY(String, mValue, other->mValue); MC_SAFE_REPLACE_COPY(IndexSet, mUids, other->mUids); + MC_SAFE_REPLACE_COPY(IndexSet, mNumbers, other->mNumbers); MC_SAFE_REPLACE_COPY(IMAPSearchExpression, mLeftExpression, other->mLeftExpression); MC_SAFE_REPLACE_COPY(IMAPSearchExpression, mRightExpression, other->mRightExpression); } @@ -35,6 +37,7 @@ IMAPSearchExpression::~IMAPSearchExpression() MC_SAFE_RELEASE(mHeader); MC_SAFE_RELEASE(mValue); MC_SAFE_RELEASE(mUids); + MC_SAFE_RELEASE(mNumbers); MC_SAFE_RELEASE(mLeftExpression); MC_SAFE_RELEASE(mRightExpression); } @@ -68,6 +71,9 @@ String * IMAPSearchExpression::description() case IMAPSearchKindUIDs: return String::stringWithUTF8Format("<%s:%p UIDs %s>", MCUTF8(className()), this, MCUTF8(mUids->description())); + case IMAPSearchKindNumbers: + return String::stringWithUTF8Format("<%s:%p Numbers %s>", MCUTF8(className()), this, + MCUTF8(mNumbers->description())); case IMAPSearchKindContent: return String::stringWithUTF8Format("<%s:%p Content %s>", MCUTF8(className()), this, MCUTF8(mValue->description())); @@ -174,7 +180,7 @@ IMAPSearchExpression * IMAPSearchExpression::searchNumbers(IndexSet * numbers) { IMAPSearchExpression * expr = new IMAPSearchExpression(); expr->mKind = IMAPSearchKindNumbers; - MC_SAFE_REPLACE_COPY(IndexSet, expr->mUids, numbers); + MC_SAFE_REPLACE_COPY(IndexSet, expr->mNumbers, numbers); return (IMAPSearchExpression *) expr->autorelease(); } @@ -400,6 +406,11 @@ IndexSet * IMAPSearchExpression::uids() return mUids; } +IndexSet * IMAPSearchExpression::numbers() +{ + return mNumbers; +} + IMAPSearchExpression * IMAPSearchExpression::leftExpression() { return mLeftExpression; diff --git a/src/core/imap/MCIMAPSearchExpression.h b/src/core/imap/MCIMAPSearchExpression.h index 9f20fe6c..182f3013 100644 --- a/src/core/imap/MCIMAPSearchExpression.h +++ b/src/core/imap/MCIMAPSearchExpression.h @@ -20,6 +20,7 @@ namespace mailcore { virtual uint64_t longNumber(); virtual time_t date(); virtual IndexSet * uids(); + virtual IndexSet * numbers(); virtual IMAPSearchExpression * leftExpression(); @@ -74,6 +75,7 @@ namespace mailcore { String * mValue; uint64_t mLongNumber; IndexSet * mUids; + IndexSet * mNumbers; IMAPSearchExpression * mLeftExpression; IMAPSearchExpression * mRightExpression; void init(); diff --git a/src/core/imap/MCIMAPSession.cpp b/src/core/imap/MCIMAPSession.cpp index 3abb5716..9fcf8397 100755 --- a/src/core/imap/MCIMAPSession.cpp +++ b/src/core/imap/MCIMAPSession.cpp @@ -2797,7 +2797,7 @@ static struct mailimap_search_key * searchKeyFromSearchExpression(IMAPSearchExpr } case IMAPSearchKindNumbers: { - return mailimap_search_key_new_set(setFromIndexSet(expression->uids())); + return mailimap_search_key_new_set(setFromIndexSet(expression->numbers())); } case IMAPSearchKindHeader: { diff --git a/src/objc/imap/MCOIMAPSearchExpression.h b/src/objc/imap/MCOIMAPSearchExpression.h index 51688dc2..225b3a5e 100644 --- a/src/objc/imap/MCOIMAPSearchExpression.h +++ b/src/objc/imap/MCOIMAPSearchExpression.h @@ -109,6 +109,15 @@ + (MCOIMAPSearchExpression *) searchUIDs:(MCOIndexSet *) uids; /** + Creates a search expression that matches the message numbers specified. + + Example: + + MCOIMAPSearchExpression * expr = [MCOIMAPSearchExpression searchNumbers:numbers] + **/ ++ (MCOIMAPSearchExpression *) searchNumbers:(MCOIndexSet *) numbers; + +/** Creates a search expression that matches the content of a specific header. Example: |