mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-28 03:17:31 +09:00
59 lines
2.3 KiB
Text
59 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 "nsISupports.idl"
|
||
|
|
#include "MailNewsTypes2.idl"
|
||
|
|
|
||
|
|
interface nsIStreamListener;
|
||
|
|
interface nsIMsgDBHdr;
|
||
|
|
|
||
|
|
typedef long nsMailboxAction;
|
||
|
|
|
||
|
|
[scriptable, uuid(2ac72280-90f4-4d80-8af1-5e7a1997e2a8)]
|
||
|
|
interface nsIMailboxUrl : nsISupports {
|
||
|
|
|
||
|
|
// Mailbox urls which parse a mailbox folder require a consumer of the
|
||
|
|
// stream which will represent the mailbox. This consumer is the mailbox
|
||
|
|
// parser. As data from the mailbox folder is read in, the data will be
|
||
|
|
// written to a stream and the consumer will be notified through
|
||
|
|
// nsIStreamListenter::OnDataAvailable that the stream has data
|
||
|
|
// available...
|
||
|
|
// mscott: I wonder if the caller should be allowed to create and set
|
||
|
|
// the stream they want the data written to as well? Hmm....
|
||
|
|
|
||
|
|
attribute nsIStreamListener mailboxParser;
|
||
|
|
|
||
|
|
/////////////////////////////////////////////////////////////////////////
|
||
|
|
// Copy/Move mailbox urls require a mailbox copy handler which actually
|
||
|
|
// performs the copy.
|
||
|
|
/////////////////////////////////////////////////////////////////////////
|
||
|
|
attribute nsIStreamListener mailboxCopyHandler;
|
||
|
|
|
||
|
|
// Some mailbox urls include a message key for the message in question.
|
||
|
|
readonly attribute nsMsgKey messageKey;
|
||
|
|
|
||
|
|
// this is to support multiple msg move/copy in one url
|
||
|
|
void setMoveCopyMsgKeys(out nsMsgKey keysToFlag, in long numKeys);
|
||
|
|
void getMoveCopyMsgHdrForIndex(in unsigned long msgIndex, out nsIMsgDBHdr msgHdr);
|
||
|
|
readonly attribute unsigned long numMoveCopyMsgs;
|
||
|
|
attribute unsigned long curMoveCopyMsgIndex;
|
||
|
|
// mailbox urls to fetch a mail message can specify the size of
|
||
|
|
// the message...
|
||
|
|
// this saves us the trouble of having to open up the msg db and ask
|
||
|
|
// ourselves...
|
||
|
|
attribute unsigned long messageSize;
|
||
|
|
|
||
|
|
attribute nsMailboxAction mailboxAction;
|
||
|
|
|
||
|
|
/* these are nsMailboxActions */
|
||
|
|
const long ActionParseMailbox = 0;
|
||
|
|
const long ActionFetchMessage = 1;
|
||
|
|
const long ActionCopyMessage = 2;
|
||
|
|
const long ActionMoveMessage = 3;
|
||
|
|
const long ActionSaveMessageToDisk = 4;
|
||
|
|
const long ActionAppendMessageToDisk = 5;
|
||
|
|
const long ActionFetchPart = 6;
|
||
|
|
};
|
||
|
|
|