mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Changed DeleteMessage to DeleteMessages
This commit is contained in:
parent
d002bba24a
commit
8942e3da0f
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* DO NOT EDIT. THIS FILE IS GENERATED FROM nsIDOMMsgAppCore.idl
|
||||
* DO NOT EDIT. THIS FILE IS GENERATED FROM nsIDOMMsgAppcore.idl
|
||||
*/
|
||||
|
||||
#ifndef __gen_nsIDOMMsgAppCore_h__
|
||||
#define __gen_nsIDOMMsgAppCore_h__
|
||||
#ifndef __gen_nsIDOMMsgAppcore_h__
|
||||
#define __gen_nsIDOMMsgAppcore_h__
|
||||
|
||||
#include "nsISupports.h" /* interface nsISupports */
|
||||
#include "nsIDOMWindow.h" /* interface nsIDOMWindow */
|
||||
@ -12,7 +12,6 @@
|
||||
#include "nsIDOMXULTreeElement.h" /* interface nsIDOMXULTreeElement */
|
||||
#include "nsIDOMBaseAppCore.h" /* interface nsIDOMBaseAppCore */
|
||||
#include "nsIDOMNodeList.h" /* interface nsIDOMNodeList */
|
||||
#include "nsrootidl.h"
|
||||
|
||||
#ifdef XPIDL_JS_STUBS
|
||||
#include "jsapi.h"
|
||||
@ -42,8 +41,8 @@ class nsIDOMMsgAppCore : public nsIDOMBaseAppCore {
|
||||
/* void OpenURL (in string str); */
|
||||
NS_IMETHOD OpenURL(const char *str) = 0;
|
||||
|
||||
/* void DeleteMessage (in nsIDOMXULTreeElement tree, in nsIDOMXULElement srcFolder, in nsIDOMNodeList node); */
|
||||
NS_IMETHOD DeleteMessage(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolder, nsIDOMNodeList *node) = 0;
|
||||
/* void DeleteMessages (in nsIDOMXULTreeElement tree, in nsIDOMXULElement srcFolder, in nsIDOMNodeList node); */
|
||||
NS_IMETHOD DeleteMessages(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;
|
||||
@ -79,4 +78,4 @@ nsresult NS_InitMsgAppCoreClass(nsIScriptContext *aContext, void **aPrototype);
|
||||
|
||||
|
||||
|
||||
#endif /* __gen_nsIDOMMsgAppCore_h__ */
|
||||
#endif /* __gen_nsIDOMMsgAppcore_h__ */
|
||||
|
@ -31,7 +31,7 @@ interface nsIDOMMsgAppCore : nsIDOMBaseAppCore {
|
||||
void Open3PaneWindow();
|
||||
void SetWindow(in nsIDOMWindow ptr);
|
||||
void OpenURL(in string str);
|
||||
void DeleteMessage(in nsIDOMXULTreeElement tree, in nsIDOMXULElement srcFolder, in nsIDOMNodeList node);
|
||||
void DeleteMessages(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);
|
||||
|
@ -190,8 +190,8 @@ class nsIMsgFolder : public nsIFolder {
|
||||
/* void GetExpansionArray (in nsISupportsArray expansionArray); */
|
||||
NS_IMETHOD GetExpansionArray(nsISupportsArray *expansionArray) = 0;
|
||||
|
||||
/* void DeleteMessage (in nsIMessage message); */
|
||||
NS_IMETHOD DeleteMessage(nsIMessage *message) = 0;
|
||||
/* void DeleteMessages (in nsISupportsArray message); */
|
||||
NS_IMETHOD DeleteMessages(nsISupportsArray *message) = 0;
|
||||
|
||||
/* void AcquireSemaphore (in nsISupports semHolder); */
|
||||
NS_IMETHOD AcquireSemaphore(nsISupports *semHolder) = 0;
|
||||
|
@ -111,7 +111,7 @@ interface nsIMsgFolder : nsIFolder {
|
||||
|
||||
void GetExpansionArray(in nsISupportsArray expansionArray);
|
||||
|
||||
void DeleteMessage(in nsIMessage message);
|
||||
void DeleteMessages(in nsISupportsArray message);
|
||||
|
||||
void AcquireSemaphore (in nsISupports semHolder);
|
||||
void ReleaseSemaphore (in nsISupports semHolder);
|
||||
|
@ -92,7 +92,12 @@ static nsresult DeleteMessage(nsIURL *aURL, nsIMsgFolder *srcFolder)
|
||||
|
||||
rv = GetMessage(aURL, getter_AddRefs(message));
|
||||
if(NS_SUCCEEDED(rv) && srcFolder)
|
||||
rv = srcFolder->DeleteMessage(message);
|
||||
{
|
||||
nsCOMPtr<nsISupportsArray> messageArray;
|
||||
NS_NewISupportsArray(getter_AddRefs(messageArray));
|
||||
messageArray->AppendElement(message);
|
||||
rv = srcFolder->DeleteMessages(messageArray);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -300,10 +300,10 @@ MsgAppCoreOpenURL(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *
|
||||
}
|
||||
|
||||
//
|
||||
// Native method DeleteMessage
|
||||
// Native method DeleteMessages
|
||||
//
|
||||
PR_STATIC_CALLBACK(JSBool)
|
||||
MsgAppCoreDeleteMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||
MsgAppCoreDeleteMessages(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||
{
|
||||
nsIDOMMsgAppCore *nativeThis = (nsIDOMMsgAppCore*)JS_GetPrivate(cx, obj);
|
||||
JSBool rBool = JS_FALSE;
|
||||
@ -339,7 +339,7 @@ MsgAppCoreDeleteMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, j
|
||||
argv[2]);
|
||||
|
||||
|
||||
if (!rBool || NS_OK != nativeThis->DeleteMessage(tree, srcFolder, nodeList)) {
|
||||
if (!rBool || NS_OK != nativeThis->DeleteMessages(tree, srcFolder, nodeList)) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
@ -348,7 +348,7 @@ MsgAppCoreDeleteMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, j
|
||||
*rval = JSVAL_VOID;
|
||||
}
|
||||
else {
|
||||
JS_ReportError(cx, "Function DeleteMessage requires 2 parameters");
|
||||
JS_ReportError(cx, "Function DeleteMessages requires 2 parameters");
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
@ -751,7 +751,7 @@ static JSFunctionSpec MsgAppCoreMethods[] =
|
||||
{"Open3PaneWindow", MsgAppCoreOpen3PaneWindow, 0},
|
||||
{"SetWindow", MsgAppCoreSetWindow, 1},
|
||||
{"OpenURL", MsgAppCoreOpenURL, 1},
|
||||
{"DeleteMessage", MsgAppCoreDeleteMessage, 3},
|
||||
{"DeleteMessages", MsgAppCoreDeleteMessages, 3},
|
||||
{"GetRDFResourceForMessage", MsgAppCoreGetRDFResourceForMessage, 2},
|
||||
{"exit", MsgAppCoreExit, 0},
|
||||
{"CopyMessages", MsgAppCoreCopyMessages, 3},
|
||||
|
@ -104,7 +104,7 @@ public:
|
||||
NS_IMETHOD GetNewMessages(nsIRDFCompositeDataSource *db, nsIDOMXULElement *folderElement);
|
||||
NS_IMETHOD SetWindow(nsIDOMWindow* aWin);
|
||||
NS_IMETHOD OpenURL(const char * url);
|
||||
NS_IMETHOD DeleteMessage(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolderElement, nsIDOMNodeList *nodeList);
|
||||
NS_IMETHOD DeleteMessages(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolderElement, nsIDOMNodeList *nodeList);
|
||||
NS_IMETHOD CopyMessages(nsIDOMXULElement *srcFolderElement, nsIDOMXULElement *folderElement, nsIDOMNodeList *nodeList,
|
||||
PRBool isMove);
|
||||
NS_IMETHOD GetRDFResourceForMessage(nsIDOMXULTreeElement *tree,
|
||||
@ -538,7 +538,7 @@ nsMsgAppCore::OpenURL(const char * url)
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMsgAppCore::DeleteMessage(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolderElement, nsIDOMNodeList *nodeList)
|
||||
nsMsgAppCore::DeleteMessages(nsIDOMXULTreeElement *tree, nsIDOMXULElement *srcFolderElement, nsIDOMNodeList *nodeList)
|
||||
{
|
||||
nsresult rv;
|
||||
nsIRDFCompositeDataSource *database;
|
||||
|
@ -741,16 +741,31 @@ nsMsgFolderDataSource::createFolderMessageNode(nsIMsgFolder *folder,
|
||||
nsresult nsMsgFolderDataSource::DoDeleteFromFolder(nsIMsgFolder *folder, nsISupportsArray *arguments)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsISupportsArray> messageArray, folderArray;
|
||||
NS_NewISupportsArray(getter_AddRefs(messageArray));
|
||||
NS_NewISupportsArray(getter_AddRefs(folderArray));
|
||||
|
||||
PRUint32 itemCount = arguments->Count();
|
||||
|
||||
//Split up deleted items into different type arrays to be passed to the folder
|
||||
//for deletion.
|
||||
for(PRUint32 item = 0; item < itemCount; item++)
|
||||
{
|
||||
nsCOMPtr<nsISupports> supports = getter_AddRefs((*arguments)[item]);
|
||||
nsCOMPtr<nsIMessage> deletedMessage(do_QueryInterface(supports, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
nsCOMPtr<nsIMessage> deletedMessage(do_QueryInterface(supports));
|
||||
nsCOMPtr<nsIMsgFolder> deletedFolder(do_QueryInterface(supports));
|
||||
if (deletedMessage)
|
||||
{
|
||||
rv = folder->DeleteMessage(deletedMessage);
|
||||
messageArray->AppendElement(deletedMessage);
|
||||
}
|
||||
else if(deletedFolder)
|
||||
{
|
||||
folderArray->AppendElement(deletedFolder);
|
||||
}
|
||||
}
|
||||
if(messageArray->Count() > 0)
|
||||
rv = folder->DeleteMessages(messageArray);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -237,7 +237,7 @@ public:
|
||||
NS_IMETHOD GetHostName(char **hostName);
|
||||
|
||||
virtual nsresult GetDBFolderInfoAndDB(nsIDBFolderInfo **folderInfo, nsIMsgDatabase **db) = 0;
|
||||
NS_IMETHOD DeleteMessage(nsIMessage *message) = 0;
|
||||
NS_IMETHOD DeleteMessages(nsISupportsArray *messages) = 0;
|
||||
NS_IMETHOD GetNewMessages();
|
||||
|
||||
protected:
|
||||
|
@ -1039,21 +1039,37 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetPath(nsFileSpec& aPathName)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::DeleteMessage(nsIMessage *message)
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::DeleteMessages(nsISupportsArray *messages)
|
||||
{
|
||||
nsresult rv = GetDatabase();
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr <nsIMsgDBHdr> msgDBHdr;
|
||||
nsCOMPtr<nsIDBMessage> dbMessage(do_QueryInterface(message, &rv));
|
||||
PRUint32 messageCount = messages->Count();
|
||||
for(PRUint32 i = 0; i < messageCount; i++)
|
||||
{
|
||||
nsCOMPtr<nsISupports> msgSupports = getter_AddRefs(messages->ElementAt(i));
|
||||
nsCOMPtr<nsIMessage> message(do_QueryInterface(msgSupports));
|
||||
if(message)
|
||||
{
|
||||
DeleteMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsMsgLocalMailFolder::DeleteMessage(nsIMessage *message)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr <nsIMsgDBHdr> msgDBHdr;
|
||||
nsCOMPtr<nsIDBMessage> dbMessage(do_QueryInterface(message, &rv));
|
||||
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = dbMessage->GetMsgDBHdr(getter_AddRefs(msgDBHdr));
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = dbMessage->GetMsgDBHdr(getter_AddRefs(msgDBHdr));
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv =mDatabase->DeleteHeader(msgDBHdr, nsnull, PR_TRUE, PR_TRUE);
|
||||
}
|
||||
rv =mDatabase->DeleteHeader(msgDBHdr, nsnull, PR_TRUE, PR_TRUE);
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
|
@ -96,7 +96,7 @@ public:
|
||||
|
||||
virtual nsresult GetDBFolderInfoAndDB(nsIDBFolderInfo **folderInfo, nsIMsgDatabase **db);
|
||||
|
||||
NS_IMETHOD DeleteMessage(nsIMessage *message);
|
||||
NS_IMETHOD DeleteMessages(nsISupportsArray *messages);
|
||||
NS_IMETHOD CreateMessageFromMsgDBHdr(nsIMsgDBHdr *msgDBHdr, nsIMessage **message);
|
||||
NS_IMETHOD GetNewMessages();
|
||||
|
||||
@ -125,6 +125,7 @@ protected:
|
||||
//Returns the child as well.
|
||||
nsresult AddSubfolder(nsAutoString name, nsIMsgFolder **child);
|
||||
|
||||
nsresult DeleteMessage(nsIMessage *message);
|
||||
|
||||
protected:
|
||||
nsNativeFileSpec *mPath;
|
||||
|
@ -978,7 +978,7 @@ NS_IMETHODIMP nsMsgNewsFolder::GetPath(nsFileSpec& aPathName)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgNewsFolder::DeleteMessage(nsIMessage *message)
|
||||
NS_IMETHODIMP nsMsgNewsFolder::DeleteMessages(nsISupportsArray *messages)
|
||||
{
|
||||
#if 0
|
||||
nsresult rv = GetDatabase();
|
||||
|
@ -105,7 +105,7 @@ public:
|
||||
|
||||
virtual nsresult GetDBFolderInfoAndDB(nsIDBFolderInfo **folderInfo, nsIMsgDatabase **db);
|
||||
|
||||
NS_IMETHOD DeleteMessage(nsIMessage *message);
|
||||
NS_IMETHOD DeleteMessages(nsISupportsArray *messages);
|
||||
NS_IMETHOD CreateMessageFromMsgDBHdr(nsIMsgDBHdr *msgDBHdr, nsIMessage **message);
|
||||
NS_IMETHOD GetNewMessages();
|
||||
|
||||
|
@ -59,7 +59,7 @@ function MsgDeleteMessage()
|
||||
var messageList = tree.getElementsByAttribute("selected", "true");
|
||||
//get the current folder
|
||||
var srcFolder = tree.childNodes[5];
|
||||
appCore.DeleteMessage(tree, srcFolder, messageList);
|
||||
appCore.DeleteMessages(tree, srcFolder, messageList);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user