00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */00002 /* ***** BEGIN LICENSE BLOCK *****00003 * Version: MPL 1.1/GPL 2.0/LGPL 2.100004 *00005 * The contents of this file are subject to the Mozilla Public License Version00006 * 1.1 (the "License"); you may not use this file except in compliance with00007 * the License. You may obtain a copy of the License at00008 * http://www.mozilla.org/MPL/00009 *00010 * Software distributed under the License is distributed on an "AS IS" basis,00011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License00012 * for the specific language governing rights and limitations under the00013 * License.00014 *00015 * The Original Code is mozilla.org code.00016 *00017 * The Initial Developer of the Original Code is00018 * Netscape Communications Corporation.00019 * Portions created by the Initial Developer are Copyright (C) 199900020 * the Initial Developer. All Rights Reserved.00021 *00022 * Contributor(s):00023 *00024 * Alternatively, the contents of this file may be used under the terms of00025 * either of the GNU General Public License Version 2 or later (the "GPL"),00026 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),00027 * in which case the provisions of the GPL or the LGPL are applicable instead00028 * of those above. If you wish to allow use of your version of this file only00029 * under the terms of either the GPL or the LGPL, and not to allow others to00030 * use your version of this file under the terms of the MPL, indicate your00031 * decision by deleting the provisions above and replace them with the notice00032 * and other provisions required by the GPL or the LGPL. If you do not delete00033 * the provisions above, a recipient may use your version of this file under00034 * the terms of any one of the MPL, the GPL or the LGPL.00035 *00036 * ***** END LICENSE BLOCK ***** */00037
00038 #include "nsISupports.idl"00039 #include "MailNewsTypes2.idl"00040
00041 interface nsIMsgDBHdr;
00042 interface nsIInputStream;
00043
00044 %{C++
00045 #include "nsIInputStream.h"00046 %}
00047
00048 [scriptable, uuid(53CA78FE-E231-11d2-8A4D-0060B0FC04D2)]
00049
00050 /* Use this for any object that wants to handle copying/moving messages to it */00051
00052interface nsICopyMessageListener : nsISupports
00053 {
00054 voidbeginCopy(innsIMsgDBHdrmessage);
00055 voidstartMessage();
00056 voidcopyData(innsIInputStream aIStream, inlong aLength);
00057 voidendMessage(innsMsgKeykey);
00058 voidendCopy(inboolean copySucceeded);
00059 voidendMove(inboolean moveSucceeded);
00060 };