diff --git a/mailnews/base/public/MANIFEST b/mailnews/base/public/MANIFEST index ee023fddc69d..bcd124ed28d0 100644 --- a/mailnews/base/public/MANIFEST +++ b/mailnews/base/public/MANIFEST @@ -36,3 +36,4 @@ nsIFolderListener.h nsIMsgMailSession.h nsIMsgIdentity.h nsIDOMMsgAppCore.h +nsICopyMessageListener.h diff --git a/mailnews/base/public/Makefile.in b/mailnews/base/public/Makefile.in index 7017e891caf1..999267453aa9 100644 --- a/mailnews/base/public/Makefile.in +++ b/mailnews/base/public/Makefile.in @@ -51,6 +51,7 @@ EXPORTS = \ nsIFolderListener.h \ nsIDOMMsgAppCore.h \ nsIMsgGroupRecord.h \ + nsICopyMessageListener.h \ $(NULL) include $(topsrcdir)/config/config.mk diff --git a/mailnews/base/public/makefile.win b/mailnews/base/public/makefile.win index 08d655c8438e..f08e77a94a38 100644 --- a/mailnews/base/public/makefile.win +++ b/mailnews/base/public/makefile.win @@ -25,6 +25,7 @@ IDLSRCS = \ nsIFolder.idl \ nsIFolderListener.idl \ nsIMsgGroupRecord.idl \ + nsICopyMessageListener.idl \ $(NULL) EXPORTS = \ @@ -48,6 +49,7 @@ EXPORTS = \ nsIMsgIdentity.h \ nsIDOMMsgAppCore.h \ nsIMsgGroupRecord.h \ + nsICopyMessageListener.h \ $(NULL) MODULE=mailnews diff --git a/mailnews/base/public/nsICopyMessageListener.h b/mailnews/base/public/nsICopyMessageListener.h new file mode 100644 index 000000000000..e6df0e558d03 --- /dev/null +++ b/mailnews/base/public/nsICopyMessageListener.h @@ -0,0 +1,45 @@ +/* + * DO NOT EDIT. THIS FILE IS GENERATED FROM nsICopyMessageListener.idl + */ + +#ifndef __gen_nsICopyMessageListener_h__ +#define __gen_nsICopyMessageListener_h__ + +#include "nsISupports.h" /* interface nsISupports */ +#include "nsIInputStream.h" /* interface nsIInputStream */ + +#ifdef XPIDL_JS_STUBS +#include "jsapi.h" +#endif + +/* starting interface nsICopyMessageListener */ + +/* {53CA78FE-E231-11d2-8A4D-0060B0FC04D2} */ +#define NS_ICOPYMESSAGELISTENER_IID_STR "53CA78FE-E231-11d2-8A4D-0060B0FC04D2" +#define NS_ICOPYMESSAGELISTENER_IID \ + {0x53CA78FE, 0xE231, 0x11d2, \ + { 0x8A, 0x4D, 0x00, 0x60, 0xB0, 0xFC, 0x04, 0xD2 }} + +class nsICopyMessageListener : public nsISupports { + public: + static const nsIID& GetIID() { + static nsIID iid = NS_ICOPYMESSAGELISTENER_IID; + return iid; + } + + /* void BeginCopy (); */ + NS_IMETHOD BeginCopy() = 0; + + /* void CopyData (in nsIInputStream aIStream, in long aLength); */ + NS_IMETHOD CopyData(nsIInputStream *aIStream, PRInt32 aLength) = 0; + + /* void EndCopy (); */ + NS_IMETHOD EndCopy() = 0; + +#ifdef XPIDL_JS_STUBS + static NS_EXPORT_(JSObject *) InitJSClass(JSContext *cx); + static NS_EXPORT_(JSObject *) GetJSObject(JSContext *cx, nsICopyMessageListener *priv); +#endif +}; + +#endif /* __gen_nsICopyMessageListener_h__ */ diff --git a/mailnews/base/public/nsICopyMessageListener.idl b/mailnews/base/public/nsICopyMessageListener.idl new file mode 100644 index 000000000000..f0609d68b386 --- /dev/null +++ b/mailnews/base/public/nsICopyMessageListener.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * 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) 1999 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#include "nsISupports.idl" +#include "nsIInputStream.idl" + + +[uuid(53CA78FE-E231-11d2-8A4D-0060B0FC04D2)] + +/* Use this for any object that wants to handle copying/moving messages to it */ + +interface nsICopyMessageListener : nsISupports +{ + void BeginCopy(); + void CopyData(in nsIInputStream aIStream, in long aLength); + void EndCopy(); +}; diff --git a/mailnews/base/public/nsIDOMMsgAppCore.h b/mailnews/base/public/nsIDOMMsgAppCore.h index 01e6d68fe5bc..d8a27fd6bdd4 100644 --- a/mailnews/base/public/nsIDOMMsgAppCore.h +++ b/mailnews/base/public/nsIDOMMsgAppCore.h @@ -7,7 +7,7 @@ #include "nsISupports.h" /* interface nsISupports */ #include "nsIDOMWindow.h" /* interface nsIDOMWindow */ -#include "nsID.h" /* interface nsID */ +#include "nsIDOMXULElement.h" /* interface nsIDOMXULElement */ #include "nsIDOMXULTreeElement.h" /* interface nsIDOMXULTreeElement */ #include "nsIDOMBaseAppCore.h" /* interface nsIDOMBaseAppCore */ #include "nsIDOMNodeList.h" /* interface nsIDOMNodeList */ @@ -43,8 +43,11 @@ class nsIDOMMsgAppCore : public nsIDOMBaseAppCore { /* void OpenURL (in string str); */ NS_IMETHOD OpenURL(const char *str) = 0; - /* void DeleteMessage (in nsIDOMXULTreeElement tree, in nsIDOMNodeList node); */ - NS_IMETHOD DeleteMessage(nsIDOMXULTreeElement *tree, nsIDOMNodeList *node) = 0; + /* void DeleteMessage (in nsIDOMXULTreeElement tree, in nsIDOMXULElement srcFolder, in nsIDOMNodeList node); */ + NS_IMETHOD DeleteMessage(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolder, nsIDOMNodeList *node) = 0; + + /* void CopyMessages (in nsIDOMXULElement srcFolderElement, in nsIDOMXULElement dstFolderElement, in nsIDOMNodeList messages, in boolean isMove); */ + NS_IMETHOD CopyMessages(nsIDOMXULElement *srcFolderElement, nsIDOMXULElement *dstFolderElement, nsIDOMNodeList *messages, PRBool isMove) = 0; /* nsISupports GetRDFResourceForMessage (in nsIDOMXULTreeElement tree, in nsIDOMNodeList node); */ NS_IMETHOD GetRDFResourceForMessage(nsIDOMXULTreeElement *tree, nsIDOMNodeList *node, nsISupports **_retval) = 0; diff --git a/mailnews/base/public/nsIDOMMsgAppCore.idl b/mailnews/base/public/nsIDOMMsgAppCore.idl index 2a56e220d9b2..a90902792eb2 100644 --- a/mailnews/base/public/nsIDOMMsgAppCore.idl +++ b/mailnews/base/public/nsIDOMMsgAppCore.idl @@ -41,6 +41,7 @@ #include "nsIDOMWindow.idl" #include "nsIDOMNodeList.idl" #include "nsIDOMXULTreeElement.idl" +#include "nsIDOMXULElement.idl" [object, uuid(4f7966d0-c14f-11d2-b7f2-00805f05ffa5)] interface nsIDOMMsgAppCore : nsIDOMBaseAppCore { @@ -49,7 +50,9 @@ interface nsIDOMMsgAppCore : nsIDOMBaseAppCore { void Open3PaneWindow(); void SetWindow(in nsIDOMWindow ptr); void OpenURL(in string str); - void DeleteMessage(in nsIDOMXULTreeElement tree, in nsIDOMNodeList node); + void DeleteMessage(in nsIDOMXULTreeElement tree, in nsIDOMXULElement srcFolder, in nsIDOMNodeList node); + void CopyMessages(in nsIDOMXULElement srcFolderElement, in nsIDOMXULElement dstFolderElement, in nsIDOMNodeList messages, + in boolean isMove); nsISupports GetRDFResourceForMessage(in nsIDOMXULTreeElement tree, in nsIDOMNodeList node); void Exit(); };