Revision control

Copy as Markdown

Other Tools

/* -*- 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 onSendProgress(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
* ("<host>:<port>")
*/
void onTransportSecurityError(in string msgID, in nsresult status, in nsITransportSecurityInfo secInfo, in ACString location);
};