From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- comm/mailnews/base/public/nsIMsgMdnGenerator.idl | 70 ++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 comm/mailnews/base/public/nsIMsgMdnGenerator.idl (limited to 'comm/mailnews/base/public/nsIMsgMdnGenerator.idl') diff --git a/comm/mailnews/base/public/nsIMsgMdnGenerator.idl b/comm/mailnews/base/public/nsIMsgMdnGenerator.idl new file mode 100644 index 0000000000..0da7475f8c --- /dev/null +++ b/comm/mailnews/base/public/nsIMsgMdnGenerator.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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" +#include "MailNewsTypes2.idl" + +interface nsIMsgWindow; +interface nsIMsgFolder; +interface nsIMimeHeaders; + +typedef long EDisposeType; +typedef long ReceiptHdrType; +typedef long MDNIncorporateType; + +[scriptable, uuid(440EA3DE-DACA-4886-9875-84E6CD7D7927)] +interface nsIMsgMdnGenerator : nsISupports +{ + const EDisposeType eDisplayed = 0; + const EDisposeType eDispatched = 1; + const EDisposeType eProcessed = 2; + const EDisposeType eDeleted = 3; + const EDisposeType eDenied = 4; + const EDisposeType eFailed = 5; + + const ReceiptHdrType eDntType = 0; + const ReceiptHdrType eRrtType = 1; + const ReceiptHdrType eDntRrtType = 2; + + const MDNIncorporateType eIncorporateInbox = 0; + const MDNIncorporateType eIncorporateSent = 1; + + /** + * Prepare the sending of a mdn reply, and checks the prefs whether a + * reply should be send. Might send the message automatically if the + * prefs say it should. + * @param eType One of EDisposeType above, indicating the action that led + * to sending the mdn reply + * @param aWindow The window the message was displayed in, acting as parent + * for any (error) dialogs + * @param folder The folder the message is in + * @param key the message key + * @param headers the message headers + * @param autoAction true if the request action led to sending the mdn + * reply was an automatic action, false if it was user initiated + * @returns true if the user needs to be asked for permission + * false in other cases (whether the message was sent or denied) + */ + boolean process(in EDisposeType eType, in nsIMsgWindow aWindow, + in nsIMsgFolder folder, in nsMsgKey key, + in nsIMimeHeaders headers, in boolean autoAction); + + /** + * Must be called when the user was asked for permission and agreed to + * sending the mdn reply. + * May only be called when |process| returned |true|. Behaviour is + * unspecified in other cases + */ + void userAgreed(); + + /** + * Must be called when the user was asked for permission and declined to + * send the mdn reply. + * Will mark the message so that the user won't be asked next time. + * May only be called when |process| returned |true|. Behaviour is + * unspecified in other cases. + */ + void userDeclined(); +}; -- cgit v1.2.3