Checking in |nsIImapService| string cleanup for bug 379070. r=mscott.
git-svn-id: svn://10.0.0.236/trunk@227285 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -58,8 +58,7 @@ interface nsIMsgWindow;
|
||||
interface nsIImapIncomingServer;
|
||||
interface nsICacheSession;
|
||||
|
||||
|
||||
[scriptable, uuid(f05bce9f-66ec-40d3-ac89-0273bbcb4ed6)]
|
||||
[scriptable, uuid(16d88469-a6ba-4389-ae75-e306373afc2a)]
|
||||
interface nsIImapService : nsISupports
|
||||
{
|
||||
// As always, you can pass in null for the url listener and the url if you don't require either.....
|
||||
@@ -83,9 +82,9 @@ interface nsIImapService : nsISupports
|
||||
in nsIImapMessageSink aImapMessageSink,
|
||||
in nsIMsgWindow aMsgWindow,
|
||||
in nsISupports aConsumer,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in boolean convertDataToText,
|
||||
in string additionalHeader,
|
||||
in ACString additionalHeader,
|
||||
out nsIURI aOutURL);
|
||||
|
||||
void noop(in nsIEventTarget aClientEventTarget,
|
||||
@@ -97,13 +96,13 @@ interface nsIImapService : nsISupports
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
out nsIURI aURL,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in boolean aMessageIdsAreUID);
|
||||
|
||||
nsIURI getBodyStart(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in long numBytes);
|
||||
|
||||
void expunge(in nsIEventTarget aClientEventTarget,
|
||||
@@ -125,7 +124,7 @@ interface nsIImapService : nsISupports
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
out nsIURI aURL,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in boolean aMessageIdsAreUID);
|
||||
|
||||
void deleteAllMessages(in nsIEventTarget aClientEventTarget,
|
||||
@@ -137,7 +136,7 @@ interface nsIImapService : nsISupports
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
out nsIURI aURL,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in imapMessageFlagsType aFlags,
|
||||
in boolean aMessageIdsAreUID);
|
||||
|
||||
@@ -145,7 +144,7 @@ interface nsIImapService : nsISupports
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
out nsIURI aURL,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in imapMessageFlagsType aFlags,
|
||||
in boolean aMessageIdsAreUID);
|
||||
|
||||
@@ -153,7 +152,7 @@ interface nsIImapService : nsISupports
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
out nsIURI aURL,
|
||||
in string aMessageIdentifierList,
|
||||
in ACString aMessageIdentifierList,
|
||||
in imapMessageFlagsType aFlags,
|
||||
in boolean aMessageIdsAreUID);
|
||||
|
||||
@@ -170,12 +169,12 @@ interface nsIImapService : nsISupports
|
||||
void discoverChildren(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aImapMailFolder,
|
||||
in nsIUrlListener aUrlListener,
|
||||
in string folderPath,
|
||||
in ACString folderPath,
|
||||
out nsIURI aURL);
|
||||
|
||||
void onlineMessageCopy(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aSrcFolder,
|
||||
in string aMessageIds,
|
||||
in ACString aMessageIds,
|
||||
in nsIMsgFolder aDstFolder,
|
||||
in boolean aIdsAreUids,
|
||||
in boolean aIsMove,
|
||||
@@ -188,7 +187,7 @@ interface nsIImapService : nsISupports
|
||||
void appendMessageFromFile(in nsIEventTarget aClientEventTarget,
|
||||
in nsIFile aFile,
|
||||
in nsIMsgFolder aDstFolder,
|
||||
in string aMessageId,
|
||||
in ACString aMessageId,
|
||||
in boolean idsAreUids,
|
||||
in boolean aInSelectedState,
|
||||
in nsIUrlListener aUrlListener,
|
||||
@@ -196,7 +195,7 @@ interface nsIImapService : nsISupports
|
||||
in nsISupports aCopyState,
|
||||
in nsIMsgWindow aMsgWindow);
|
||||
|
||||
void downloadMessagesForOffline(in string aMessageIds, in nsIMsgFolder aSrcFolder,
|
||||
void downloadMessagesForOffline(in ACString aMessageIds, in nsIMsgFolder aSrcFolder,
|
||||
in nsIUrlListener aListener, in nsIMsgWindow aMsgWindow);
|
||||
|
||||
nsIURI moveFolder(in nsIEventTarget aClientEventTarget,
|
||||
@@ -207,7 +206,7 @@ interface nsIImapService : nsISupports
|
||||
|
||||
nsIURI renameLeaf(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aSrcFolder,
|
||||
in wstring aLeafName,
|
||||
in AString aLeafName,
|
||||
in nsIUrlListener aUrlListener,
|
||||
in nsIMsgWindow msgWindow);
|
||||
|
||||
@@ -217,7 +216,7 @@ interface nsIImapService : nsISupports
|
||||
|
||||
nsIURI createFolder(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aParentFolder,
|
||||
in wstring aLeafName,
|
||||
in AString aLeafName,
|
||||
in nsIUrlListener aUrlListener);
|
||||
|
||||
nsIURI listFolder(in nsIEventTarget aClientEventTarget,
|
||||
@@ -226,12 +225,12 @@ interface nsIImapService : nsISupports
|
||||
|
||||
nsIURI subscribeFolder(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aMailFolder,
|
||||
in wstring mailboxName,
|
||||
in AString mailboxName,
|
||||
in nsIUrlListener aUrlListener);
|
||||
|
||||
nsIURI unsubscribeFolder(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aMailFolder,
|
||||
in wstring mailboxName,
|
||||
in AString mailboxName,
|
||||
in nsIUrlListener aUrlListener);
|
||||
|
||||
// this method will first check if the folder exists but is
|
||||
@@ -240,7 +239,7 @@ interface nsIImapService : nsISupports
|
||||
// with one url.
|
||||
nsIURI ensureFolderExists(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aParentFolder,
|
||||
in wstring aLeafName,
|
||||
in AString aLeafName,
|
||||
in nsIUrlListener aUrlListener);
|
||||
|
||||
|
||||
@@ -252,24 +251,24 @@ interface nsIImapService : nsISupports
|
||||
nsIURI issueCommandOnMsgs(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aMailFolder,
|
||||
in nsIMsgWindow aMsgWindow,
|
||||
in string aCommand,
|
||||
in string aMessageIdentifierList);
|
||||
in ACString aCommand,
|
||||
in ACString aMessageIdentifierList);
|
||||
|
||||
nsIURI fetchCustomMsgAttribute(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aMailFolder,
|
||||
in nsIMsgWindow aMsgWindow,
|
||||
in string aAttribute,
|
||||
in string aMessageIdentifierList);
|
||||
in ACString aAttribute,
|
||||
in ACString aMessageIdentifierList);
|
||||
|
||||
nsIURI storeCustomKeywords(in nsIEventTarget aClientEventTarget,
|
||||
in nsIMsgFolder aMailFolder,
|
||||
in nsIMsgWindow aMsgWindow,
|
||||
in string flagsToAdd,
|
||||
in string flagsToSubtract,
|
||||
in string aMessageIdentifierList);
|
||||
in ACString flagsToAdd,
|
||||
in ACString flagsToSubtract,
|
||||
in ACString aMessageIdentifierList);
|
||||
|
||||
void getListOfFoldersOnServer(in nsIImapIncomingServer aServer, in nsIMsgWindow aMsgWindow);
|
||||
void getListOfFoldersWithPath(in nsIImapIncomingServer aServer, in nsIMsgWindow aMsgWindow, in string folderPath);
|
||||
void getListOfFoldersWithPath(in nsIImapIncomingServer aServer, in nsIMsgWindow aMsgWindow, in ACString folderPath);
|
||||
|
||||
nsISupports playbackAllOfflineOperations(in nsIMsgWindow aMsgWindow, in nsIUrlListener aListener);
|
||||
void downloadAllOffineImapFolders(in nsIMsgWindow aMsgWindow, in nsIUrlListener aListener);
|
||||
|
||||
@@ -2538,8 +2538,7 @@ NS_IMETHODIMP nsImapIncomingServer::OnLogonRedirectionReply(const PRUnichar *pHo
|
||||
nsresult rv;
|
||||
nsCOMPtr <nsIImapProtocol> imapProtocol;
|
||||
nsCAutoString cookie(pCookieData, pCookieSize);
|
||||
// we used to logoff the external requestor...we no longer need to do
|
||||
// that.
|
||||
// we used to logoff the external requestor...we no longer need to do that.
|
||||
|
||||
m_redirectedLogonRetries = 0; // we got through, so reset this counter.
|
||||
|
||||
@@ -2613,7 +2612,7 @@ nsImapIncomingServer::StartPopulatingWithUri(nsIMsgWindow *aMsgWindow, PRBool aF
|
||||
to get path from uri, skip over imap://user@host + 1 (for the /)
|
||||
*/
|
||||
const char *path = uri + serverUri.Length() + 1;
|
||||
return imapService->GetListOfFoldersWithPath(this, aMsgWindow, path);
|
||||
return imapService->GetListOfFoldersWithPath(this, aMsgWindow, nsDependentCString(path));
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@@ -2827,9 +2826,9 @@ nsImapIncomingServer::SubscribeToFolder(const nsAString& aName, PRBool subscribe
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
if (subscribe)
|
||||
rv = imapService->SubscribeFolder(thread, msgFolder, unicodeName.get(), nsnull, aUri);
|
||||
rv = imapService->SubscribeFolder(thread, msgFolder, unicodeName, nsnull, aUri);
|
||||
else
|
||||
rv = imapService->UnsubscribeFolder(thread, msgFolder, unicodeName.get(), nsnull, nsnull);
|
||||
rv = imapService->UnsubscribeFolder(thread, msgFolder, unicodeName, nsnull, nsnull);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
@@ -837,7 +837,7 @@ NS_IMETHODIMP nsImapMailFolder::CreateSubfolder(const nsAString& folderName, nsI
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
return imapService->CreateFolder(m_thread, this, nsPromiseFlatString(folderName).get(), this, nsnull);
|
||||
return imapService->CreateFolder(m_thread, this, folderName, this, nsnull);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::CreateClientSubfolderInfo(const nsACString& folderName, PRUnichar hierarchyDelimiter, PRInt32 flags, PRBool suppressNotification)
|
||||
@@ -1027,7 +1027,7 @@ NS_IMETHODIMP nsImapMailFolder::CreateStorageIfMissing(nsIUrlListener* urlListen
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr <nsIURI> uri;
|
||||
imapService->EnsureFolderExists(m_thread, msgParent, folderName.get(), urlListener, getter_AddRefs(uri));
|
||||
imapService->EnsureFolderExists(m_thread, msgParent, folderName, urlListener, getter_AddRefs(uri));
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
@@ -1474,7 +1474,7 @@ NS_IMETHODIMP nsImapMailFolder::Rename (const nsAString& newName, nsIMsgWindow *
|
||||
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
return imapService->RenameLeaf(m_thread, this, nsPromiseFlatString(newName).get(), this, msgWindow, nsnull);
|
||||
return imapService->RenameLeaf(m_thread, this, newName, this, msgWindow, nsnull);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::RecursiveCloseActiveConnections(nsIImapIncomingServer *incomingImapServer)
|
||||
@@ -2977,7 +2977,7 @@ NS_IMETHODIMP nsImapMailFolder::EndCopy(PRBool copySucceeded)
|
||||
copySupport = do_QueryInterface(m_copyState);
|
||||
rv = imapService->AppendMessageFromFile(m_thread,
|
||||
m_copyState->m_tmpFile,
|
||||
this, "", PR_TRUE,
|
||||
this, EmptyCString(), PR_TRUE,
|
||||
m_copyState->m_selectedState,
|
||||
urlListener, nsnull,
|
||||
copySupport,
|
||||
@@ -3289,7 +3289,7 @@ NS_IMETHODIMP nsImapMailFolder::SetImapFlags(const char *uids, PRInt32 flags, ns
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
return imapService->SetMessageFlags(m_thread, this, this, url, uids, flags, PR_TRUE);
|
||||
return imapService->SetMessageFlags(m_thread, this, this, url, nsCAutoString(uids), flags, PR_TRUE);
|
||||
}
|
||||
|
||||
// "this" is the parent folder
|
||||
@@ -3298,7 +3298,7 @@ NS_IMETHODIMP nsImapMailFolder::PlaybackOfflineFolderCreate(const nsAString& aFo
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
return imapService->CreateFolder(m_thread, this, nsPromiseFlatString(aFolderName).get(), this, url);
|
||||
return imapService->CreateFolder(m_thread, this, aFolderName, this, url);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::ReplayOfflineMoveCopy(nsMsgKey *msgKeys, PRUint32 numKeys, PRBool isMove, nsIMsgFolder *aDstFolder,
|
||||
@@ -3312,7 +3312,7 @@ NS_IMETHODIMP nsImapMailFolder::ReplayOfflineMoveCopy(nsMsgKey *msgKeys, PRUint3
|
||||
AllocateUidStringFromKeys(msgKeys, numKeys, uids);
|
||||
rv = imapService->OnlineMessageCopy(m_thread,
|
||||
this,
|
||||
uids.get(),
|
||||
uids,
|
||||
aDstFolder,
|
||||
PR_TRUE,
|
||||
isMove,
|
||||
@@ -3342,11 +3342,10 @@ NS_IMETHODIMP nsImapMailFolder::StoreImapFlags(PRInt32 flags, PRBool addFlags,
|
||||
AllocateUidStringFromKeys(keys, numKeys, msgIds);
|
||||
if (addFlags)
|
||||
imapService->AddMessageFlags(m_thread, this, aUrlListener ? aUrlListener : this,
|
||||
nsnull, msgIds.get(), flags, PR_TRUE);
|
||||
nsnull, msgIds, flags, PR_TRUE);
|
||||
else
|
||||
imapService->SubtractMessageFlags(m_thread, this, aUrlListener ? aUrlListener : this,
|
||||
nsnull, msgIds.get(), flags,
|
||||
PR_TRUE);
|
||||
nsnull, msgIds, flags, PR_TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3509,7 +3508,7 @@ NS_IMETHODIMP nsImapMailFolder::IssueCommandOnMsgs(const nsACString& command, co
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
return imapService->IssueCommandOnMsgs(m_thread, this, aWindow, nsPromiseFlatCString(command).get(), uids, url);
|
||||
return imapService->IssueCommandOnMsgs(m_thread, this, aWindow, command, nsDependentCString(uids), url);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::FetchCustomMsgAttribute(const nsACString& attribute, const char *uids, nsIMsgWindow *aWindow, nsIURI **url)
|
||||
@@ -3518,7 +3517,7 @@ NS_IMETHODIMP nsImapMailFolder::FetchCustomMsgAttribute(const nsACString& attrib
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
return imapService->FetchCustomMsgAttribute(m_thread, this, aWindow, nsPromiseFlatCString(attribute).get(), uids, url);
|
||||
return imapService->FetchCustomMsgAttribute(m_thread, this, aWindow, attribute, nsDependentCString(uids), url);
|
||||
}
|
||||
|
||||
nsresult nsImapMailFolder::MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
|
||||
@@ -3821,7 +3820,7 @@ NS_IMETHODIMP nsImapMailFolder::DownloadMessagesForOffline(nsISupportsArray *mes
|
||||
return rv;
|
||||
}
|
||||
|
||||
return imapService->DownloadMessagesForOffline(messageIds.get(), this, this, window);
|
||||
return imapService->DownloadMessagesForOffline(messageIds, this, this, window);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::DownloadAllForOffline(nsIUrlListener *listener, nsIMsgWindow *msgWindow)
|
||||
@@ -3972,7 +3971,7 @@ nsImapMailFolder::OnlineCopyCompleted(nsIImapProtocol *aProtocol, ImapOnlineCopy
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
return imapService->AddMessageFlags(m_thread, this, nsnull, nsnull,
|
||||
messageIds.get(),
|
||||
messageIds,
|
||||
kImapMsgDeletedFlag,
|
||||
PR_TRUE);
|
||||
}
|
||||
@@ -6415,7 +6414,7 @@ nsImapMailFolder::CopyMessages(nsIMsgFolder* srcFolder,
|
||||
|
||||
copySupport = do_QueryInterface(m_copyState);
|
||||
rv = imapService->OnlineMessageCopy(m_thread,
|
||||
srcFolder, messageIds.get(),
|
||||
srcFolder, messageIds,
|
||||
this, PR_TRUE, isMove,
|
||||
urlListener, nsnull,
|
||||
copySupport, msgWindow);
|
||||
@@ -6510,7 +6509,7 @@ nsImapFolderCopyState::StartNextCopy()
|
||||
|
||||
return imapService->EnsureFolderExists(NS_GetCurrentThread(),
|
||||
m_destParent,
|
||||
folderName.get(),
|
||||
folderName,
|
||||
this, nsnull);
|
||||
}
|
||||
|
||||
@@ -6834,7 +6833,7 @@ nsImapMailFolder::CopyFileMessage(nsIFile* file,
|
||||
if (!isDraftOrTemplate)
|
||||
m_copyState->m_totalCount = 1;
|
||||
rv = imapService->AppendMessageFromFile(m_thread, file, this,
|
||||
messageId.get(),
|
||||
messageId,
|
||||
PR_TRUE, isDraftOrTemplate,
|
||||
urlListener, nsnull,
|
||||
copySupport,
|
||||
@@ -7259,7 +7258,7 @@ NS_IMETHODIMP nsImapMailFolder::PerformExpand(nsIMsgWindow *aMsgWindow)
|
||||
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
rv = imapService->DiscoverChildren(m_thread, this, this,
|
||||
m_onlineFolderName.get(),
|
||||
m_onlineFolderName,
|
||||
nsnull);
|
||||
}
|
||||
return rv;
|
||||
@@ -7580,8 +7579,8 @@ nsImapMailFolder::StoreCustomKeywords(nsIMsgWindow *aMsgWindow, const nsACString
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCAutoString msgIds;
|
||||
AllocateUidStringFromKeys(aKeysToStore, aNumKeys, msgIds);
|
||||
return imapService->StoreCustomKeywords(m_thread, this, aMsgWindow, nsPromiseFlatCString(aFlagsToAdd).get(),
|
||||
nsPromiseFlatCString(aFlagsToSubtract).get(), msgIds.get(), _retval);
|
||||
return imapService->StoreCustomKeywords(m_thread, this, aMsgWindow, aFlagsToAdd,
|
||||
aFlagsToSubtract, msgIds, _retval);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::NotifyIfNewMail()
|
||||
@@ -7886,7 +7885,7 @@ NS_IMETHODIMP nsImapMailFolder::FetchMsgPreviewText(nsMsgKey *aKeysToFetch, PRUi
|
||||
AllocateImapUidString(keysToFetchFromServer.GetArray(), msgCount,
|
||||
nsnull, messageIds);
|
||||
rv = imapService->GetBodyStart(m_thread, this, aUrlListener,
|
||||
messageIds.get(), 2048, nsnull);
|
||||
messageIds, 2048, nsnull);
|
||||
*aAsyncResults = PR_TRUE; // the preview text will be available async...
|
||||
}
|
||||
return NS_OK;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,99 +63,87 @@ class nsImapService : public nsIImapService,
|
||||
public nsIContentHandler
|
||||
{
|
||||
public:
|
||||
|
||||
nsImapService();
|
||||
virtual ~nsImapService();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIMSGPROTOCOLINFO
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// we suppport the nsIImapService interface
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
NS_DECL_NSIIMAPSERVICE
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// we suppport the nsIMsgMessageService Interface
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
NS_DECL_NSIMSGMESSAGESERVICE
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
// we suppport the nsIProtocolHandler interface
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
NS_DECL_NSIPROTOCOLHANDLER
|
||||
|
||||
NS_DECL_NSIMSGMESSAGEFETCHPARTSERVICE
|
||||
NS_DECL_NSICONTENTHANDLER
|
||||
|
||||
protected:
|
||||
|
||||
PRUnichar GetHierarchyDelimiter(nsIMsgFolder* aMsgFolder);
|
||||
nsresult GetFolderName(nsIMsgFolder* aImapFolder,
|
||||
char **folderName);
|
||||
nsresult CreateStartOfImapUrl(const char * aImapURI /* a RDF URI for the current message / folder, can be null */,
|
||||
nsIImapUrl **imapUrl,
|
||||
nsIMsgFolder* aImapFolder,
|
||||
nsIUrlListener * aUrlListener,
|
||||
nsCString & urlSpec,
|
||||
PRUnichar GetHierarchyDelimiter(nsIMsgFolder *aMsgFolder);
|
||||
|
||||
nsresult GetFolderName(nsIMsgFolder *aImapFolder, nsACString &aFolderName);
|
||||
|
||||
nsresult CreateStartOfImapUrl(const nsACString &aImapURI, // a RDF URI for the current message/folder, can be empty
|
||||
nsIImapUrl **imapUrl,
|
||||
nsIMsgFolder *aImapFolder,
|
||||
nsIUrlListener *aUrlListener,
|
||||
nsACString &urlSpec,
|
||||
PRUnichar &hierarchyDelimiter);
|
||||
nsresult GetImapConnectionAndLoadUrl(nsIEventTarget* aClientEventTarget,
|
||||
nsIImapUrl* aImapUrl,
|
||||
nsISupports* aConsumer,
|
||||
nsIURI** aURL);
|
||||
nsresult SetImapUrlSink(nsIMsgFolder* aMsgFolder,
|
||||
nsIImapUrl* aImapUrl);
|
||||
|
||||
nsresult FetchMimePart(nsIImapUrl * aImapUrl,
|
||||
nsImapAction aImapAction,
|
||||
nsIMsgFolder * aImapMailFolder,
|
||||
nsIImapMessageSink * aImapMessage,
|
||||
nsIURI ** aURL,
|
||||
nsISupports * aDisplayConsumer,
|
||||
const char *messageIdentifierList,
|
||||
const char *mimePart);
|
||||
|
||||
nsresult FolderCommand(nsIEventTarget * clientEventTarget,
|
||||
nsIMsgFolder * imapMailFolder,
|
||||
nsIUrlListener * urlListener,
|
||||
const char *command,
|
||||
nsImapAction imapAction,
|
||||
nsIURI ** url);
|
||||
|
||||
nsresult ChangeFolderSubscription(nsIEventTarget* eventTarget,
|
||||
nsIMsgFolder* folder,
|
||||
const PRUnichar* folderName,
|
||||
const char *command,
|
||||
nsIUrlListener* urlListener, nsIURI** url);
|
||||
|
||||
nsresult DiddleFlags(nsIEventTarget * aClientEventTarget,
|
||||
nsIMsgFolder * aImapMailFolder,
|
||||
nsIUrlListener * aUrlListener,
|
||||
nsIURI ** aURL,
|
||||
const char *messageIdentifierList,
|
||||
|
||||
nsresult GetImapConnectionAndLoadUrl(nsIEventTarget *aClientEventTarget,
|
||||
nsIImapUrl *aImapUrl,
|
||||
nsISupports *aConsumer,
|
||||
nsIURI **aURL);
|
||||
|
||||
nsresult SetImapUrlSink(nsIMsgFolder *aMsgFolder, nsIImapUrl *aImapUrl);
|
||||
|
||||
nsresult FetchMimePart(nsIImapUrl *aImapUrl,
|
||||
nsImapAction aImapAction,
|
||||
nsIMsgFolder *aImapMailFolder,
|
||||
nsIImapMessageSink *aImapMessage,
|
||||
nsIURI **aURL,
|
||||
nsISupports *aDisplayConsumer,
|
||||
const nsACString &messageIdentifierList,
|
||||
const nsACString &mimePart);
|
||||
|
||||
nsresult FolderCommand(nsIEventTarget *clientEventTarget,
|
||||
nsIMsgFolder *imapMailFolder,
|
||||
nsIUrlListener *urlListener,
|
||||
const char *aCommand,
|
||||
nsImapAction imapAction,
|
||||
nsIURI **url);
|
||||
|
||||
nsresult ChangeFolderSubscription(nsIEventTarget *eventTarget,
|
||||
nsIMsgFolder *folder,
|
||||
const nsAString &folderName,
|
||||
const char *aCommand,
|
||||
nsIUrlListener *urlListener,
|
||||
nsIURI **url);
|
||||
|
||||
nsresult DiddleFlags(nsIEventTarget *aClientEventTarget,
|
||||
nsIMsgFolder *aImapMailFolder,
|
||||
nsIUrlListener *aUrlListener,
|
||||
nsIURI **aURL,
|
||||
const nsACString &messageIdentifierList,
|
||||
const char *howToDiddle,
|
||||
imapMessageFlagsType flags,
|
||||
PRBool messageIdsAreUID);
|
||||
|
||||
nsresult OfflineAppendFromFile(nsIFile* aFile,
|
||||
|
||||
nsresult OfflineAppendFromFile(nsIFile *aFile,
|
||||
nsIURI *aUrl,
|
||||
nsIMsgFolder* aDstFolder,
|
||||
const char* messageId, // te be replaced
|
||||
nsIMsgFolder *aDstFolder,
|
||||
const nsACString &messageId, // to be replaced
|
||||
PRBool inSelectedState, // needs to be in
|
||||
nsIUrlListener* aListener,
|
||||
nsIURI** aURL,
|
||||
nsISupports* aCopyState);
|
||||
|
||||
nsIUrlListener *aListener,
|
||||
nsIURI **aURL,
|
||||
nsISupports *aCopyState);
|
||||
|
||||
nsresult GetServerFromUrl(nsIImapUrl *aImapUrl, nsIMsgIncomingServer **aServer);
|
||||
|
||||
|
||||
// just a little helper method...maybe it should be a macro? which helps break down a imap message uri
|
||||
// into the folder and message key equivalents
|
||||
nsresult DecomposeImapURI(const char * aMessageURI, nsIMsgFolder ** aFolder, char ** msgKey);
|
||||
nsresult DecomposeImapURI(const char * aMessageURI, nsIMsgFolder ** aFolder, nsMsgKey *msgKey);
|
||||
nsresult DecomposeImapURI(const nsACString &aMessageURI, nsIMsgFolder **aFolder, nsACString &msgKey);
|
||||
nsresult DecomposeImapURI(const nsACString &aMessageURI, nsIMsgFolder **aFolder, nsMsgKey *msgKey);
|
||||
|
||||
PRBool mPrintingOperation; // Flag for printing operations
|
||||
|
||||
// handle to the cache session for imap.....
|
||||
nsCOMPtr<nsICacheSession> mCacheSession;
|
||||
nsCOMPtr<nsICacheSession> mCacheSession; // handle to the cache session for imap.....
|
||||
PRBool mPrintingOperation; // Flag for printing operations
|
||||
};
|
||||
|
||||
#endif /* nsImapService_h___ */
|
||||
|
||||
@@ -185,14 +185,15 @@ nsImapMoveCopyMsgTxn::UndoTransaction(void)
|
||||
CheckForToggleDelete(srcFolder, m_srcKeyArray.GetAt(0), &deletedMsgs);
|
||||
|
||||
if (deletedMsgs)
|
||||
rv = imapService->SubtractMessageFlags(
|
||||
m_eventTarget, srcFolder, srcListener, nsnull,
|
||||
m_srcMsgIdString.get(), kImapMsgDeletedFlag,
|
||||
rv = imapService->SubtractMessageFlags(m_eventTarget, srcFolder,
|
||||
srcListener, nsnull,
|
||||
m_srcMsgIdString,
|
||||
kImapMsgDeletedFlag,
|
||||
m_idsAreUids);
|
||||
else
|
||||
rv = imapService->AddMessageFlags(m_eventTarget, srcFolder,
|
||||
srcListener, nsnull,
|
||||
m_srcMsgIdString.get(),
|
||||
m_srcMsgIdString,
|
||||
kImapMsgDeletedFlag,
|
||||
m_idsAreUids);
|
||||
if (NS_FAILED(rv))
|
||||
@@ -201,7 +202,7 @@ nsImapMoveCopyMsgTxn::UndoTransaction(void)
|
||||
if (deleteModel != nsMsgImapDeleteModels::IMAPDelete)
|
||||
rv = imapService->GetHeaders(m_eventTarget, srcFolder,
|
||||
srcListener, nsnull,
|
||||
m_srcMsgIdString.get(),
|
||||
m_srcMsgIdString,
|
||||
PR_TRUE);
|
||||
}
|
||||
}
|
||||
@@ -221,7 +222,7 @@ nsImapMoveCopyMsgTxn::UndoTransaction(void)
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
rv = imapService->AddMessageFlags(m_eventTarget, dstFolder,
|
||||
dstListener, nsnull,
|
||||
m_dstMsgIdString.get(),
|
||||
m_dstMsgIdString,
|
||||
kImapMsgDeletedFlag,
|
||||
m_idsAreUids);
|
||||
}
|
||||
@@ -272,16 +273,20 @@ nsImapMoveCopyMsgTxn::RedoTransaction(void)
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
if (deletedMsgs)
|
||||
{
|
||||
rv = imapService->SubtractMessageFlags(m_eventTarget, srcFolder,
|
||||
srcListener, nsnull,
|
||||
m_srcMsgIdString.get(), kImapMsgDeletedFlag,
|
||||
m_srcMsgIdString, kImapMsgDeletedFlag,
|
||||
m_idsAreUids);
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = imapService->AddMessageFlags(m_eventTarget, srcFolder,
|
||||
srcListener, nsnull, m_srcMsgIdString.get(),
|
||||
srcListener, nsnull, m_srcMsgIdString,
|
||||
kImapMsgDeletedFlag, m_idsAreUids);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!m_dstMsgIdString.IsEmpty())
|
||||
{
|
||||
nsCOMPtr<nsIMsgFolder> dstFolder = do_QueryReferent(m_dstFolder, &rv);
|
||||
@@ -300,7 +305,7 @@ nsImapMoveCopyMsgTxn::RedoTransaction(void)
|
||||
return rv;
|
||||
rv = imapService->SubtractMessageFlags(m_eventTarget, dstFolder,
|
||||
dstListener, nsnull,
|
||||
m_dstMsgIdString.get(),
|
||||
m_dstMsgIdString,
|
||||
kImapMsgDeletedFlag,
|
||||
m_idsAreUids);
|
||||
if (NS_FAILED(rv))
|
||||
@@ -308,11 +313,13 @@ nsImapMoveCopyMsgTxn::RedoTransaction(void)
|
||||
nsMsgImapDeleteModel deleteModel;
|
||||
rv = GetImapDeleteModel(dstFolder, &deleteModel);
|
||||
if (NS_FAILED(rv) || deleteModel == nsMsgImapDeleteModels::MoveToTrash)
|
||||
{
|
||||
rv = imapService->GetHeaders(m_eventTarget, dstFolder,
|
||||
dstListener, nsnull,
|
||||
m_dstMsgIdString.get(),
|
||||
m_dstMsgIdString,
|
||||
PR_TRUE);
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
@@ -181,14 +181,14 @@ nsLocalMoveCopyMsgTxn::UndoImapDeleteFlag(nsIMsgFolder* folder,
|
||||
if (!deleteFlag)
|
||||
rv =imapService->AddMessageFlags(thread, folder,
|
||||
urlListener, nsnull,
|
||||
msgIds.get(),
|
||||
msgIds,
|
||||
kImapMsgDeletedFlag,
|
||||
PR_TRUE);
|
||||
else
|
||||
rv = imapService->SubtractMessageFlags(thread,
|
||||
folder,
|
||||
urlListener, nsnull,
|
||||
msgIds.get(),
|
||||
msgIds,
|
||||
kImapMsgDeletedFlag,
|
||||
PR_TRUE);
|
||||
if (NS_SUCCEEDED(rv) && m_msgWindow)
|
||||
|
||||
Reference in New Issue
Block a user