aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/nntp/MCNNTPFetchHeaderOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/nntp/MCNNTPFetchHeaderOperation.cpp')
-rw-r--r--src/async/nntp/MCNNTPFetchHeaderOperation.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/async/nntp/MCNNTPFetchHeaderOperation.cpp b/src/async/nntp/MCNNTPFetchHeaderOperation.cpp
new file mode 100644
index 00000000..386dc142
--- /dev/null
+++ b/src/async/nntp/MCNNTPFetchHeaderOperation.cpp
@@ -0,0 +1,59 @@
+//
+// MCNNTPFetchHeaderOperation.cpp
+// mailcore2
+//
+// Created by Robert Widmann on 8/13/14.
+// Copyright (c) 2014 MailCore. All rights reserved.
+//
+
+#include "MCNNTPFetchHeaderOperation.h"
+
+#include "MCNNTPAsyncSession.h"
+#include "MCNNTPSession.h"
+#include "MCMessageHeader.h"
+
+using namespace mailcore;
+
+NNTPFetchHeaderOperation::NNTPFetchHeaderOperation()
+{
+ mMessageIndex = 0;
+ mHeader = NULL;
+}
+
+NNTPFetchHeaderOperation::~NNTPFetchHeaderOperation()
+{
+ MC_SAFE_RELEASE(mHeader);
+}
+
+void NNTPFetchHeaderOperation::setGroupName(String * groupName) {
+ MC_SAFE_REPLACE_COPY(String, mGroupName, groupName);
+}
+
+String * NNTPFetchHeaderOperation::groupName() {
+ return mGroupName;
+}
+
+void NNTPFetchHeaderOperation::setMessageIndex(unsigned int messageIndex)
+{
+ mMessageIndex = messageIndex;
+}
+
+unsigned int NNTPFetchHeaderOperation::messageIndex()
+{
+ return mMessageIndex;
+}
+
+MessageHeader * NNTPFetchHeaderOperation::header()
+{
+ return mHeader;
+}
+
+void NNTPFetchHeaderOperation::main()
+{
+ ErrorCode error;
+ mHeader = session()->session()->fetchHeader(mGroupName, mMessageIndex, &error);
+ if (mHeader != NULL) {
+ mHeader->retain();
+ }
+ setError(error);
+}