diff options
author | Dmitry Isaikin <isaikin-dmitry@yandex.ru> | 2016-05-19 20:58:38 +0400 |
---|---|---|
committer | HoĆ V. DINH <dinh.viet.hoa@gmail.com> | 2016-05-19 09:58:38 -0700 |
commit | 6ea3534c94ced99a10682916c2718be8b93056da (patch) | |
tree | ea797cad294800cef0ca4a3b03dbc72230894c47 /src/async | |
parent | 6a720fd8bf82d6220330f148ca8ad351b690a9fd (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.cpp | 8 | ||||
-rw-r--r-- | src/async/imap/MCIMAPCheckAccountOperation.h | 2 |
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; }; } |