/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* 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 "nsrootidl.idl" #include "nsIMsgWindow.idl" #include "nsIMsgIdentity.idl" interface nsIMsgDBHdr; interface mozIDOMWindowProxy; interface nsITransactionManager; interface nsIMsgMessageService; interface nsIFile; interface nsIUrlListener; [scriptable, uuid(01b967c8-b289-4e32-ad46-6eb7c89d4106)] interface nsIMessenger : nsISupports { const long eUnknown = 0; const long eDeleteMsg = 1; const long eMoveMsg = 2; const long eCopyMsg = 3; const long eMarkAllMsg = 4; readonly attribute nsITransactionManager transactionManager; void setWindow(in mozIDOMWindowProxy ptr, in nsIMsgWindow msgWindow); boolean canUndo(); boolean canRedo(); unsigned long getUndoTransactionType(); unsigned long getRedoTransactionType(); void undo(in nsIMsgWindow msgWindow); void redo(in nsIMsgWindow msgWindow); /** * Saves a given message to a file or template. * * @param aURI The URI of the message to save * @param aAsFile If true, save as file, otherwise save as a template * @param aIdentity When saving as a template, this is used to determine * the location to save the template to. * @param aMsgFilename When saving as a file, the filename to save the * message as, or the default filename for the file * picker. * @param aBypassFilePicker * If not specified or false, this function will show * a file picker when saving as a file. If true, no * file picker will be shown. */ void saveAs(in AUTF8String aURI, in boolean aAsFile, in nsIMsgIdentity aIdentity, in AString aMsgFilename, [optional] in boolean aBypassFilePicker); /** * Save the given messages as files in a folder - the user will be prompted * for which folder to use. * @param count message count * @param filenameArray the filenames to use * @param messageUriArray uris of the messages to save */ void saveMessages(in Array filenameArray, in Array messageUriArray); nsIMsgDBHdr msgHdrFromURI(in AUTF8String aUri); AString formatFileSize(in unsigned long long aPos, [optional] in boolean aUseKB); };