aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/smtp/MCSMTPSession.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/smtp/MCSMTPSession.h')
-rw-r--r--src/core/smtp/MCSMTPSession.h9
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();