diff options
Diffstat (limited to 'src/core/smtp/MCSMTPSession.h')
-rw-r--r-- | src/core/smtp/MCSMTPSession.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/smtp/MCSMTPSession.h b/src/core/smtp/MCSMTPSession.h index 7e899881..e54673c5 100644 --- a/src/core/smtp/MCSMTPSession.h +++ b/src/core/smtp/MCSMTPSession.h @@ -63,6 +63,8 @@ namespace mailcore { virtual void sendMessage(Address * from, Array * /* Address */ recipients, String * messagePath, SMTPProgressCallback * callback, ErrorCode * pError); + virtual void cancelMessageSending(); + virtual void setConnectionLogger(ConnectionLogger * logger); virtual ConnectionLogger * connectionLogger(); @@ -85,6 +87,8 @@ namespace mailcore { bool mCheckCertificateEnabled; bool mUseHeloIPEnabled; bool mShouldDisconnect; + bool mSendingCancelled; + bool mCanCancel; mailsmtp * mSmtp; SMTPProgressCallback * mProgressCallback; @@ -92,6 +96,8 @@ namespace mailcore { String * mLastSMTPResponse; int mLastLibetpanError; int mLastSMTPResponseCode; + pthread_mutex_t mCancelLock; + pthread_mutex_t mCanCancelLock; ConnectionLogger * mConnectionLogger; pthread_mutex_t mConnectionLoggerLock; @@ -104,8 +110,11 @@ namespace mailcore { void unsetup(); void connectIfNeeded(ErrorCode * pError); bool checkCertificate(); + void setSendingCancelled(bool isCancelled); void sendMessage(MessageBuilder * msg, SMTPProgressCallback * callback, ErrorCode * pError); + void internalSendMessage(Address * from, Array * /* Address */ recipients, Data * messageData, + SMTPProgressCallback * callback, ErrorCode * pError); public: // private virtual bool isDisconnected(); |