aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/smtp/MCSMTPSendWithDataOperation.cc
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-12 00:10:03 -0800
committerGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-12 00:10:03 -0800
commit7b04566d191b27d8018fd486570a12b6f1049a16 (patch)
treee84617c937960fedab80548e83f780824d4d3eb4 /src/async/smtp/MCSMTPSendWithDataOperation.cc
parent739b68a69682d80d8247d4465eae7b182acc9da0 (diff)
implemented asynchronous SMTP
Diffstat (limited to 'src/async/smtp/MCSMTPSendWithDataOperation.cc')
-rw-r--r--src/async/smtp/MCSMTPSendWithDataOperation.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/async/smtp/MCSMTPSendWithDataOperation.cc b/src/async/smtp/MCSMTPSendWithDataOperation.cc
index ab42aa0e..5c43828a 100644
--- a/src/async/smtp/MCSMTPSendWithDataOperation.cc
+++ b/src/async/smtp/MCSMTPSendWithDataOperation.cc
@@ -7,3 +7,36 @@
//
#include "MCSMTPSendWithDataOperation.h"
+
+#include "MCSMTPAsyncSession.h"
+#include "MCSMTPSession.h"
+
+using namespace mailcore;
+
+SMTPSendWithDataOperation::SMTPSendWithDataOperation()
+{
+ mMessageData = NULL;
+}
+
+SMTPSendWithDataOperation::~SMTPSendWithDataOperation()
+{
+ MC_SAFE_RELEASE(mMessageData);
+}
+
+void SMTPSendWithDataOperation::setMessageData(Data * data)
+{
+ MC_SAFE_REPLACE_RETAIN(Data, mMessageData, data);
+}
+
+Data * SMTPSendWithDataOperation::messageData()
+{
+ return mMessageData;
+}
+
+void SMTPSendWithDataOperation::main()
+{
+ ErrorCode error;
+
+ session()->session()->sendMessage(mMessageData, this, &error);
+ setError(error);
+}