gecko-dev/mailnews/base/public/nsIMsgMessageService.idl

84 lines
3.4 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsISupports.idl"
interface nsIURL;
interface nsIUrlListener;
interface nsIStreamListener;
interface nsIFileSpec;
[scriptable, uuid(F11009C1-F697-11d2-807F-006008128C4E)]
interface nsIMsgMessageService : nsISupports {
%{ C++
/////////////////////////////////////////////////////////////////
// If you want a handle on the running task, pass in a valid nsIURL
// ptr. You can later interrupt this action by asking the netlib
// service manager to interrupt the url you are given back.
// Remember to release aURL when you are done with it. Pass nsnull
// in for aURL if you don't care about the returned URL.
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// CopyMessage: Pass in the URI for the message you want to have
// copied.
// aCopyListener already knows about the destination folder.
// Set aMoveMessage to PR_TRUE if you want the message to be moved.
// PR_FALSE leaves it as just a copy.
///////////////////////////////////////////////////////////////
%}
void CopyMessage(in string aSrcURI, in nsIStreamListener aCopyListener, in boolean aMoveMessage,
in nsIUrlListener aUrlListener, out nsIURL aURL);
%{ C++
/////////////////////////////////////////////////////////////////////
// DisplayMessage: When you want a message displayed....
// aMessageURI is a uri representing the message to display.
// aDisplayConsumer is (for now) a nsIWebshell which we'll use to load
// the message into.
// It would be nice if we can figure this out for ourselves in the
// protocol but we can't do that right now.
///////////////////////////////////////////////////////////////////
%}
void DisplayMessage(in string aMessageURI, in nsISupports aDisplayConsumer,
in nsIUrlListener aUrlListener, out nsIURL aURL);
%{ C++
/////////////////////////////////////////////////////////////////////
// SaveMessageToDisk: When you want to spool a message out to a file
// on disk. This is an asynch operation of course. You must pass in a
// url listener in order to figure out when the operation is done.
// aMessageURI--> uri representing the message to spool out to disk.
// aFile - the file you want the message saved to
// aAppendToFile --> usually FALSE. Set to TRUE if you want the msg
// appended at the end of the file.
///////////////////////////////////////////////////////////////////
%}
void SaveMessageToDisk(in string aMessageURI, in nsIFileSpec aFile, in boolean aAppendToFile,
in nsIUrlListener aUrlListener, out nsIURL aURL);
};