mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 09:27:31 +09:00
81 lines
3 KiB
Text
81 lines
3 KiB
Text
/* -*- 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;
|
|
|
|
%{C++
|
|
#define NS_MSGMDNGENERATOR_CONTRACTID \
|
|
"@mozilla.org/messenger-mdn/generator;1"
|
|
|
|
#define NS_MSGMDNGENERATOR_CID \
|
|
{ /* ec917b13-8f73-4d4d-9146-d7f7aafe9076 */ \
|
|
0xec917b13, 0x8f73, 0x4d4d, \
|
|
{ 0x91, 0x46, 0xd7, 0xf7, 0xaa, 0xfe, 0x90, 0x76 }}
|
|
%}
|
|
|
|
[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();
|
|
};
|