diff options
Diffstat (limited to 'src/async/nntp/MCNNTPFetchArticleOperation.cc')
-rw-r--r-- | src/async/nntp/MCNNTPFetchArticleOperation.cc | 16 |
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); } |