/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIFile; interface nsITransportSecurityInfo; [scriptable, uuid(D34DC178-5E78-45E8-8658-A8F52D9CCF5F)] interface nsIMsgSendListener : nsISupports { /** * Notify the observer that the message has started to be delivered. This method is * called only once, at the beginning of a message send operation. * * @return The return value is currently ignored. In the future it may be * used to cancel the URL load.. */ void onStartSending(in string aMsgID, in uint32_t aMsgSize); /** * Notify the observer that progress as occurred for the message send */ void onProgress(in string aMsgID, in uint32_t aProgress, in uint32_t aProgressMax); /** * Notify the observer with a status message for the message send */ void onStatus(in string aMsgID, in wstring aMsg); /** * Notify the observer that the message has been sent. This method is * called once when the networking library has finished processing the * message. * * This method is called regardless of whether the the operation was successful. * aMsgID The message id for the mail message * status Status code for the message send. * msg A text string describing the error. * returnFileSpec The returned file spec for save to file operations. */ void onStopSending(in string aMsgID, in nsresult aStatus, in wstring aMsg, in nsIFile aReturnFile); /** * Notify the observer with the message id and the folder uri before the draft * is copied. */ void onGetDraftFolderURI(in string aMsgID, in AUTF8String aFolderURI); /** * Notify the observer when the user aborts the send without actually doing the send * eg : by closing the compose window without Send. */ void onSendNotPerformed(in string aMsgID, in nsresult aStatus); /** * Notify that an NSS security error has occurred during the send * (e.g. Bad Certificate or SSL version failure). * This callback is invoked before onStopSending(), in case a listener * needs the securityInfo - most likely to get at a failed certificate, * allowing the user to add an exception. * onStopSending() will still be called after this, so a listener * which doesn't need special NSS handling can just leave this callback as * an empty function and leave the handling to onStopSending(). * * @param {string} msgID - The message ID. * @param {nsresult} status - The error code (it will be in the NSS error * code range). * @param {nsITransportSecurityInfo} secInfo * - Security info for the failed operation. * @param {ACString} location - The location of the failed operation * (":") */ void onTransportSecurityError(in string msgID, in nsresult status, in nsITransportSecurityInfo secInfo, in ACString location); };