/usr/share/idl/thunderbird/nsIMsgCopyService.idl is in thunderbird-dev 1:52.8.0-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | /* -*- Mode: C++; tab-width: 4; 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 "nsrootidl.idl"
#include "nsISupports.idl"
#include "nsIMsgFolder.idl"
#include "nsIMsgCopyServiceListener.idl"
interface nsIMsgDBHdr;
interface nsIMsgWindow;
interface nsIFile;
interface nsIArray;
[scriptable, uuid(f21e428b-73c5-4607-993b-d37325b33722)]
interface nsIMsgCopyService : nsISupports {
/**
* Copies or moves existing messages from source folder to destination folder.
*
* @param srcFolder Source folder of an operation.
* @param messages The array of nsIMsgHdrs in source folder which will be moved/copied.
* @param dstFolder Destination folder of operation.
* @param isMove false for copy operation, true for move operation.
* @param listener Listener which receive operation notifications
* @param msgWindow Window for notification callbacks, can be null.
* @param allowUndo Specifies if this operation will be done as an transaction
* that can be undone.
*/
void CopyMessages(in nsIMsgFolder srcFolder,
in nsIArray messages,
in nsIMsgFolder dstFolder,
in boolean isMove,
in nsIMsgCopyServiceListener listener,
in nsIMsgWindow msgWindow,
in boolean allowUndo);
/**
* Copies or moves existing folders do destination folder.
*
* @param folders The array of nsIMsgFolders which will be moved/copied.
* @param dstFolder The destination folder of operation.
* @param isMove false for copy operation, true for move operation.
* @param listener Listener which receive operation notifications.
* @param msgWindow Window for notification callbacks, can be null.
*/
void CopyFolders(in nsIArray folders,
in nsIMsgFolder dstFolder,
in boolean isMove,
in nsIMsgCopyServiceListener listener,
in nsIMsgWindow msgWindow);
/**
* Copies message in rfc format from file to folder.
*
* @param aFile A file which contains message in rfc format which
* will copied to destFolder.
* @param dstFolder Destination folder where a message will be copied.
* @param msgToReplace Header which identifies a message to use as a source
* of message properties, or null. For example, when
* deleting an attachment, the processed message is
* stored in a file, but the metadata should be copied
* from the original message. This method will NOT delete
* the original message.
* @param isDraftOrTemplate Specifies whether a message is a stored in draft
* folder or not. If is true listener should
* implement GetMessageId and return unique id for
* message in destination folder. This is important
* for IMAP servers which doesn't support uidplus.
* If destination folder contains message with the
* same message-id then it is possible that listener
* get wrong message key in callback
* nsIMsgCopyServiceListener::SetMessageKey.
* @param aMsgFlags Message flags which will be set after message is
* copied
* @param aMsgKeywords Keywords which will be set for newly copied
* message.
* @param listener Listener which receive copy notifications.
* @param msgWindow Window for notification callbacks, can be null.
*/
void CopyFileMessage(in nsIFile aFile,
in nsIMsgFolder dstFolder,
in nsIMsgDBHdr msgToReplace,
in boolean isDraftOrTemplate,
in unsigned long aMsgFlags,
in ACString aMsgKeywords,
in nsIMsgCopyServiceListener listener,
in nsIMsgWindow msgWindow);
/**
* Notify the message copy service that the destination folder has finished
* it's messages copying operation so that the copy service can continue
* copying the rest of the messages if there are more to copy with.
* aSupport and dstFolder uniquely identify a copy service request.
*
* @param aSupport The originator of CopyMessages or CopyFileMessage; it can
* be either a nsIMsgFolder or a nsIFile
* @param dstFolder The destination folder which performs the copy operation
* @param result The result of the copy operation
*/
void NotifyCompletion(in nsISupports aSupport,
in nsIMsgFolder dstFolder,
in nsresult result);
};
|