aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp')
-rw-r--r--src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp b/src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp
new file mode 100644
index 00000000..044e9e5e
--- /dev/null
+++ b/src/async/nntp/MCNNTPFetchAllArticlesOperation.cpp
@@ -0,0 +1,49 @@
+//
+// MCNNTPFetchAllArticlesOperation.cpp
+// mailcore2
+//
+// Created by Robert Widmann on 8/13/14.
+// Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#include "MCNNTPFetchAllArticlesOperation.h"
+
+#include "MCNNTPAsyncSession.h"
+#include "MCNNTPSession.h"
+
+using namespace mailcore;
+
+NNTPFetchAllArticlesOperation::NNTPFetchAllArticlesOperation()
+{
+ mGroupName = NULL;
+ mArticles = NULL;
+}
+
+NNTPFetchAllArticlesOperation::~NNTPFetchAllArticlesOperation()
+{
+ MC_SAFE_RELEASE(mGroupName);
+ MC_SAFE_RELEASE(mArticles);
+}
+
+void NNTPFetchAllArticlesOperation::setGroupName(String * groupname)
+{
+ MC_SAFE_REPLACE_COPY(String, mGroupName, groupname);
+}
+
+String * NNTPFetchAllArticlesOperation::groupName()
+{
+ return mGroupName;
+}
+
+IndexSet * NNTPFetchAllArticlesOperation::articles()
+{
+ return mArticles;
+}
+
+void NNTPFetchAllArticlesOperation::main()
+{
+ ErrorCode error;
+ mArticles = session()->session()->fetchAllArticles(mGroupName, &error);
+ setError(error);
+ MC_SAFE_RETAIN(mArticles);
+}