blob: 524bb867f97a70d1e5eeb874549e89fb24cbb5cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
/* -*- 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;
};
|