aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/nntp/MCNNTPFetchArticleOperation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/nntp/MCNNTPFetchArticleOperation.cc')
-rw-r--r--src/async/nntp/MCNNTPFetchArticleOperation.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/async/nntp/MCNNTPFetchArticleOperation.cc b/src/async/nntp/MCNNTPFetchArticleOperation.cc
index a12f346f..1df0dc33 100644
--- a/src/async/nntp/MCNNTPFetchArticleOperation.cc
+++ b/src/async/nntp/MCNNTPFetchArticleOperation.cc
@@ -1,5 +1,5 @@
//
-// MCMCNNTPFetchArticlesOperation.cpp
+// MCNNTPFetchArticleOperation.cpp
// mailcore2
//
// Created by Robert Widmann on 8/13/14.
@@ -32,6 +32,14 @@ String * NNTPFetchArticleOperation::groupName() {
return mGroupName;
}
+void NNTPFetchArticleOperation::setMessageID(String * groupName) {
+ MC_SAFE_REPLACE_COPY(String, mMessageID, groupName);
+}
+
+String * NNTPFetchArticleOperation::messageID() {
+ return mMessageID;
+}
+
void NNTPFetchArticleOperation::setMessageIndex(unsigned int messageIndex)
{
mMessageIndex = messageIndex;
@@ -50,7 +58,11 @@ Data * NNTPFetchArticleOperation::data()
void NNTPFetchArticleOperation::main()
{
ErrorCode error;
- mData = session()->session()->fetchArticle(mGroupName, mMessageIndex, this, &error);
+ if (mMessageID == NULL) {
+ mData = session()->session()->fetchArticle(mGroupName, mMessageIndex, this, &error);
+ } else {
+ mData = session()->session()->fetchArticleByMessageID(mGroupName, mMessageID, &error);
+ }
MC_SAFE_RETAIN(mData);
setError(error);
}