aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Oshikawa <oshikawa@azione.co.jp>2015-05-18 17:41:46 +0900
committerGravatar Oshikawa <oshikawa@azione.co.jp>2015-05-18 17:41:46 +0900
commit3367ac0c023c4523e070e6ae46c0a9d88eceeb5e (patch)
tree9021d3dc75ff326454805c47c6b13a2a742c664d /src
parentb0b9c5269bcb881141ff6f9d192ba771cde485aa (diff)
Added mNumbers
Diffstat (limited to 'src')
-rw-r--r--src/core/abstract/MCMessageConstants.h3
-rw-r--r--src/core/imap/MCIMAPSearchExpression.cpp13
-rw-r--r--src/core/imap/MCIMAPSearchExpression.h2
-rwxr-xr-xsrc/core/imap/MCIMAPSession.cpp2
-rw-r--r--src/objc/imap/MCOIMAPSearchExpression.h9
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: