aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async
diff options
context:
space:
mode:
authorGravatar Dmitry Isaikin <isaikin-dmitry@yandex.ru>2016-05-19 20:58:38 +0400
committerGravatar HoĆ  V. DINH <dinh.viet.hoa@gmail.com>2016-05-19 09:58:38 -0700
commit6ea3534c94ced99a10682916c2718be8b93056da (patch)
treeea797cad294800cef0ca4a3b03dbc72230894c47 /src/async
parent6a720fd8bf82d6220330f148ca8ad351b690a9fd (diff)
Store last server response on login command in case of parse error (#1436)
Diffstat (limited to 'src/async')
-rw-r--r--src/async/imap/MCIMAPCheckAccountOperation.cpp8
-rw-r--r--src/async/imap/MCIMAPCheckAccountOperation.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/async/imap/MCIMAPCheckAccountOperation.cpp b/src/async/imap/MCIMAPCheckAccountOperation.cpp
index 4a833711..64e9a51a 100644
--- a/src/async/imap/MCIMAPCheckAccountOperation.cpp
+++ b/src/async/imap/MCIMAPCheckAccountOperation.cpp
@@ -16,11 +16,13 @@ using namespace mailcore;
IMAPCheckAccountOperation::IMAPCheckAccountOperation()
{
mLoginResponse = NULL;
+ mLoginUnparsedResponseData = NULL;
}
IMAPCheckAccountOperation::~IMAPCheckAccountOperation()
{
MC_SAFE_RELEASE(mLoginResponse);
+ MC_SAFE_RELEASE(mLoginUnparsedResponseData);
}
void IMAPCheckAccountOperation::main()
@@ -31,6 +33,7 @@ void IMAPCheckAccountOperation::main()
session()->session()->login(&error);
if (error != ErrorNone) {
MC_SAFE_REPLACE_COPY(String, mLoginResponse, session()->session()->loginResponse());
+ MC_SAFE_REPLACE_COPY(Data, mLoginUnparsedResponseData, session()->session()->unparsedResponseData());
}
}
setError(error);
@@ -40,3 +43,8 @@ String * IMAPCheckAccountOperation::loginResponse()
{
return mLoginResponse;
}
+
+Data * IMAPCheckAccountOperation::loginUnparsedResponseData()
+{
+ return mLoginUnparsedResponseData;
+}
diff --git a/src/async/imap/MCIMAPCheckAccountOperation.h b/src/async/imap/MCIMAPCheckAccountOperation.h
index b6ce9dbf..c8d987f3 100644
--- a/src/async/imap/MCIMAPCheckAccountOperation.h
+++ b/src/async/imap/MCIMAPCheckAccountOperation.h
@@ -22,12 +22,14 @@ namespace mailcore {
virtual ~IMAPCheckAccountOperation();
virtual String * loginResponse();
+ virtual Data * loginUnparsedResponseData();
public: // subclass behavior
virtual void main();
private:
String * mLoginResponse;
+ Data * mLoginUnparsedResponseData;
};
}