mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 17:37:30 +09:00
66 lines
2.3 KiB
Text
66 lines
2.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 "nsIStreamListener.idl"
|
|
|
|
interface nsIMsgStatusFeedback;
|
|
interface nsIMsgIdentity;
|
|
interface nsIMsgSendLaterListener;
|
|
interface nsIMsgFolder;
|
|
|
|
/**
|
|
* nsIMsgSendLater is a service used for sending messages in the background.
|
|
* Messages should be saved to an identity's unsent messages folder, and then
|
|
* can be sent by calling sendUnsentMessages.
|
|
*
|
|
* Although the service supports passing identities as parameters, until bug
|
|
* 317803 is fixed, all identities use the same folder, and hence the option
|
|
* currently doesn't work.
|
|
*/
|
|
[scriptable, uuid(fa324a4b-4b87-4e9a-a3c0-af9071a358df)]
|
|
interface nsIMsgSendLater : nsIStreamListener
|
|
{
|
|
/// Used to obtain status feedback for when messages are sent.
|
|
attribute nsIMsgStatusFeedback statusFeedback;
|
|
|
|
/**
|
|
* Sends any unsent messages in the identity's unsent messages folder.
|
|
*
|
|
* @param aIdentity The identity to send messages for.
|
|
*/
|
|
void sendUnsentMessages(in nsIMsgIdentity aIdentity);
|
|
|
|
/**
|
|
* Adds an listener to the service to receive notifications.
|
|
*
|
|
* @param aListener The listener to add.
|
|
*/
|
|
void addListener(in nsIMsgSendLaterListener aListener);
|
|
|
|
/**
|
|
* Removes a listener from the service.
|
|
*
|
|
* @param aListener The listener to remove.
|
|
* @exception NS_ERROR_INVALID_ARG If the listener was not already added to
|
|
* the service.
|
|
*/
|
|
void removeListener(in nsIMsgSendLaterListener aListener);
|
|
|
|
/**
|
|
* Returns the unsent messages folder for the identity.
|
|
*/
|
|
nsIMsgFolder getUnsentMessagesFolder(in nsIMsgIdentity userIdentity);
|
|
|
|
/**
|
|
* Returns true if there are any unsent messages to send.
|
|
*
|
|
* @param aIdentity The identity whose folder to check for unsent messages.
|
|
* If not specified, all unsent message folders are checked.
|
|
*/
|
|
boolean hasUnsentMessages([optional] in nsIMsgIdentity aIdentity);
|
|
|
|
/// Returns true if the service is currently sending messages.
|
|
readonly attribute boolean sendingMessages;
|
|
};
|