зеркало из https://github.com/mozilla/pjs.git
Bug 218825, part 1: convert users of nsIFolder to nsIMsgFolder r=bienvenu sr=Henry.Jia
This commit is contained in:
Родитель
085ad44ab6
Коммит
fe0e8be7e9
|
@ -1,90 +0,0 @@
|
|||
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsICollection.idl"
|
||||
#include "nsIFolderListener.idl"
|
||||
|
||||
interface nsISupportsArray;
|
||||
|
||||
[scriptable, uuid(75621650-0fce-11d3-8b49-006008948010)]
|
||||
interface nsIFolder : nsICollection {
|
||||
|
||||
readonly attribute string URI;
|
||||
attribute wstring name;
|
||||
attribute wstring prettyName;
|
||||
readonly attribute wstring abbreviatedName;
|
||||
|
||||
nsISupports getChildNamed(in wstring name);
|
||||
attribute nsIFolder parent;
|
||||
|
||||
nsIEnumerator GetSubFolders();
|
||||
readonly attribute boolean hasSubFolders;
|
||||
|
||||
void AddFolderListener(in nsIFolderListener listener);
|
||||
void RemoveFolderListener(in nsIFolderListener listener);
|
||||
nsIFolder FindSubFolder(in string escapedSubFolderName);
|
||||
|
||||
void NotifyPropertyChanged(in nsIAtom property,
|
||||
in string oldValue,
|
||||
in string newValue);
|
||||
void NotifyIntPropertyChanged(in nsIAtom property,
|
||||
in long oldValue,
|
||||
in long newValue);
|
||||
void NotifyBoolPropertyChanged(in nsIAtom property,
|
||||
in boolean oldValue,
|
||||
in boolean newValue);
|
||||
void NotifyPropertyFlagChanged(in nsISupports item,
|
||||
in nsIAtom property,
|
||||
in unsigned long oldValue,
|
||||
in unsigned long newValue);
|
||||
void NotifyUnicharPropertyChanged(in nsIAtom property,
|
||||
in wstring oldValue,
|
||||
in wstring newValue);
|
||||
|
||||
void NotifyItemAdded(in nsISupports parentItem, in nsISupports item, in string viewString);
|
||||
void NotifyItemDeleted(in nsISupports parentItem, in nsISupports item, in string viewString);
|
||||
|
||||
void NotifyFolderEvent(in nsIAtom event);
|
||||
|
||||
// void NotifyFolderLoaded();
|
||||
// void NotifyDeleteOrMoveMessagesCompleted(in nsIFolder folder);
|
||||
|
||||
// lists all descendents, not just first level children
|
||||
void ListDescendents(in nsISupportsArray descendents);
|
||||
void Shutdown(in boolean shutdownChildren);
|
||||
};
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
#include "nsISupports.idl"
|
||||
#include "nsIAtom.idl"
|
||||
|
||||
interface nsIFolder;
|
||||
interface nsIMsgFolder;
|
||||
|
||||
typedef unsigned long folderListenerNotifyFlagValue;
|
||||
|
||||
|
@ -85,10 +85,10 @@ interface nsIFolderListener : nsISupports {
|
|||
in unsigned long newFlag);
|
||||
|
||||
const folderListenerNotifyFlagValue event = 0x80;
|
||||
void OnItemEvent(in nsIFolder item, in nsIAtom event);
|
||||
void OnItemEvent(in nsIMsgFolder item, in nsIAtom event);
|
||||
|
||||
const folderListenerNotifyFlagValue all = 0xFFFFFFFF;
|
||||
|
||||
// void OnFolderLoaded(in nsIFolder aFolder);
|
||||
// void OnDeleteOrMoveMessagesCompleted(in nsIFolder aFolder);
|
||||
// void OnFolderLoaded(in nsIMsgFolder aFolder);
|
||||
// void OnDeleteOrMoveMessagesCompleted(in nsIMsgFolder aFolder);
|
||||
};
|
||||
|
|
|
@ -189,7 +189,7 @@ interface nsIMsgAccountManager : nsISupports {
|
|||
void addIncomingServerListener(in nsIIncomingServerListener serverListener);
|
||||
void removeIncomingServerListener(in nsIIncomingServerListener serverListener);
|
||||
|
||||
// these are going away in favor of nsIFolder::NotifyEvent(in nsIAtom event);
|
||||
// these are going away in favor of nsIMsgFolder::NotifyEvent(in nsIAtom event);
|
||||
void notifyServerLoaded(in nsIMsgIncomingServer server);
|
||||
void notifyServerUnloaded(in nsIMsgIncomingServer server);
|
||||
void notifyServerChanged(in nsIMsgIncomingServer server);
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#include "MailNewsTypes2.idl"
|
||||
|
||||
interface nsIFileSpec;
|
||||
interface nsIFolder;
|
||||
interface nsIMsgFolder;
|
||||
interface nsIMsgFolderCache;
|
||||
interface nsIMsgWindow;
|
||||
|
@ -159,7 +158,7 @@ interface nsIMsgIncomingServer : nsISupports {
|
|||
readonly attribute string serverURI;
|
||||
|
||||
/* the root folder for this server */
|
||||
attribute nsIFolder rootFolder;
|
||||
attribute nsIMsgFolder rootFolder;
|
||||
|
||||
/* handy accessor when we want a msg folder */
|
||||
readonly attribute nsIMsgFolder rootMsgFolder;
|
||||
|
|
|
@ -777,7 +777,7 @@ function loadStartFolder(initialUri)
|
|||
}
|
||||
}
|
||||
|
||||
var startFolder = startFolderResource.QueryInterface(Components.interfaces.nsIFolder);
|
||||
var startFolder = startFolderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
SelectFolder(startFolder.URI);
|
||||
|
||||
// only do this on startup, when we pass in null
|
||||
|
@ -1400,42 +1400,28 @@ function SetNextMessageAfterDelete()
|
|||
gNextMessageViewIndexAfterDelete = treeSelection.currentIndex;
|
||||
}
|
||||
|
||||
function EnsureAllAncestorsAreExpanded(tree, resource)
|
||||
function EnsureFolderIndex(builder, msgFolder)
|
||||
{
|
||||
// get the parent of the desired folder, and then try to get
|
||||
// the index of the parent in the tree
|
||||
var folder = resource.QueryInterface(Components.interfaces.nsIFolder);
|
||||
|
||||
// if this is a server, there are no ancestors, so stop.
|
||||
var msgFolder = folder.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
if (msgFolder.isServer)
|
||||
return;
|
||||
|
||||
var parentFolderResource = RDF.GetResource(folder.parent.URI);
|
||||
var folderIndex = GetFolderIndex(tree, parentFolderResource);
|
||||
|
||||
if (folderIndex == -1) {
|
||||
// if we couldn't find the parent, recurse
|
||||
EnsureAllAncestorsAreExpanded(tree, parentFolderResource);
|
||||
// ok, now we should be able to find the parent
|
||||
folderIndex = GetFolderIndex(tree, parentFolderResource);
|
||||
}
|
||||
|
||||
// if the parent isn't open, open it
|
||||
if (!(tree.treeBoxObject.view.isContainerOpen(folderIndex)))
|
||||
tree.treeBoxObject.view.toggleOpenState(folderIndex);
|
||||
// try to get the index of the folder in the tree
|
||||
var index = builder.getIndexOfResource(msgFolder);
|
||||
if (index == -1) {
|
||||
// if we couldn't find the folder, open the parent
|
||||
builder.toggleOpenState(EnsureFolderindex(builder, msgFolder.parent));
|
||||
index = builder.getIndexOfResource(msgFolder);
|
||||
}
|
||||
return index;
|
||||
}
|
||||
|
||||
function SelectFolder(folderUri)
|
||||
{
|
||||
var folderTree = GetFolderTree();
|
||||
var folderResource = RDF.GetResource(folderUri);
|
||||
var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
|
||||
// before we can select a folder, we need to make sure it is "visible"
|
||||
// in the tree. to do that, we need to ensure that all its
|
||||
// ancestors are expanded
|
||||
EnsureAllAncestorsAreExpanded(folderTree, folderResource);
|
||||
var folderIndex = GetFolderIndex(folderTree, folderResource);
|
||||
var folderIndex = EnsureFolderIndex(folderTree.builderView, msgFolder);
|
||||
ChangeSelection(folderTree, folderIndex);
|
||||
}
|
||||
|
||||
|
|
|
@ -502,14 +502,12 @@ nsresult nsMsgFilter::ConvertMoveToFolderValue(nsIMsgRuleAction *filterAction, n
|
|||
nsCRT::free(utfNewName);
|
||||
}
|
||||
|
||||
nsCOMPtr <nsIFolder> destIFolder;
|
||||
nsCOMPtr <nsIMsgFolder> destIFolder;
|
||||
if (rootFolder)
|
||||
{
|
||||
rootFolder->FindSubFolder(originalServerPath.get(), getter_AddRefs(destIFolder));
|
||||
if (destIFolder)
|
||||
{
|
||||
nsCOMPtr <nsIMsgFolder> msgFolder;
|
||||
msgFolder = do_QueryInterface(destIFolder);
|
||||
destIFolder->GetURI(getter_Copies(folderUri));
|
||||
filterAction->SetTargetFolderUri(folderUri);
|
||||
moveValue.Assign(folderUri);
|
||||
|
@ -521,7 +519,7 @@ nsresult nsMsgFilter::ConvertMoveToFolderValue(nsIMsgRuleAction *filterAction, n
|
|||
// start off leaving the value the same.
|
||||
filterAction->SetTargetFolderUri(moveValue.get());
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr <nsIFolder> localMailRoot;
|
||||
nsCOMPtr <nsIMsgFolder> localMailRoot;
|
||||
rootFolder->GetURI(getter_Copies(folderUri));
|
||||
// if the root folder is not imap, than the local mail root is the server root.
|
||||
// otherwise, it's the migrated local folders.
|
||||
|
|
|
@ -561,7 +561,7 @@ nsresult nsMsgFilterAfterTheFact::ApplyFilter()
|
|||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
PRBool canFileMessages = PR_TRUE;
|
||||
nsCOMPtr<nsIFolder> parentFolder;
|
||||
nsCOMPtr<nsIMsgFolder> parentFolder;
|
||||
destIFolder->GetParent(getter_AddRefs(parentFolder));
|
||||
if (parentFolder)
|
||||
destIFolder->GetCanFileMessages(&canFileMessages);
|
||||
|
|
|
@ -736,7 +736,7 @@ nsMsgSearchSession::RemoveFolderListener(nsIFolderListener *listener)
|
|||
|
||||
// nsIFolderListener methods.
|
||||
NS_IMETHODIMP
|
||||
nsMsgSearchSession::OnItemEvent(nsIFolder *aFolder,
|
||||
nsMsgSearchSession::OnItemEvent(nsIMsgFolder *aFolder,
|
||||
nsIAtom *aEvent)
|
||||
{
|
||||
PRInt32 count = m_folderListenerList.Count();
|
||||
|
|
|
@ -163,7 +163,7 @@ nsMessengerOS2Integration::OnItemBoolPropertyChanged(nsISupports *aItem,
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMessengerOS2Integration::OnItemEvent(nsIFolder *, nsIAtom *)
|
||||
nsMessengerOS2Integration::OnItemEvent(nsIMsgFolder *, nsIAtom *)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -887,7 +887,7 @@ nsMessengerWinIntegration::OnItemBoolPropertyChanged(nsISupports *aItem,
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMessengerWinIntegration::OnItemEvent(nsIFolder *, nsIAtom *)
|
||||
nsMessengerWinIntegration::OnItemEvent(nsIMsgFolder *, nsIAtom *)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -544,10 +544,10 @@ nsMsgAccountManager::createKeyedServer(const char* key,
|
|||
|
||||
// now add all listeners that are supposed to be
|
||||
// waiting on root folders
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
mFolderListeners->EnumerateForwards(addListenerToFolder,
|
||||
(void *)(nsIFolder*)rootFolder);
|
||||
(void *)(nsIMsgFolder*)rootFolder);
|
||||
|
||||
*aServer = server;
|
||||
NS_ADDREF(*aServer);
|
||||
|
@ -559,7 +559,7 @@ PRBool
|
|||
nsMsgAccountManager::addListenerToFolder(nsISupports *element, void *data)
|
||||
{
|
||||
nsresult rv;
|
||||
nsIFolder *rootFolder = (nsIFolder *)data;
|
||||
nsIMsgFolder *rootFolder = (nsIMsgFolder *)data;
|
||||
nsCOMPtr<nsIFolderListener> listener = do_QueryInterface(element, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, PR_TRUE);
|
||||
|
||||
|
@ -571,7 +571,7 @@ PRBool
|
|||
nsMsgAccountManager::removeListenerFromFolder(nsISupports *element, void *data)
|
||||
{
|
||||
nsresult rv;
|
||||
nsIFolder *rootFolder = (nsIFolder *)data;
|
||||
nsIMsgFolder *rootFolder = (nsIMsgFolder *)data;
|
||||
nsCOMPtr<nsIFolderListener> listener = do_QueryInterface(element, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, PR_TRUE);
|
||||
|
||||
|
@ -655,7 +655,7 @@ nsMsgAccountManager::RemoveAccount(nsIMsgAccount *aAccount)
|
|||
// remove reference from hashtable
|
||||
NS_IF_RELEASE(removedServer);
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
nsCOMPtr<nsISupportsArray> allDescendents;
|
||||
NS_NewISupportsArray(getter_AddRefs(allDescendents));
|
||||
|
@ -852,7 +852,7 @@ nsMsgAccountManager::notifyDefaultServerChange(nsIMsgAccount *aOldAccount,
|
|||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIMsgIncomingServer> server;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
|
||||
// first tell old server it's no longer the default
|
||||
if (aOldAccount) {
|
||||
|
@ -925,11 +925,11 @@ nsMsgAccountManager::hashUnloadServer(nsHashKey *aKey, void *aData,
|
|||
nsMsgAccountManager *accountManager = (nsMsgAccountManager*)closure;
|
||||
accountManager->NotifyServerUnloaded(server);
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
|
||||
accountManager->mFolderListeners->EnumerateForwards(removeListenerFromFolder,
|
||||
(void *)(nsIFolder*)rootFolder);
|
||||
(void *)(nsIMsgFolder*)rootFolder);
|
||||
|
||||
if(NS_SUCCEEDED(rv))
|
||||
rootFolder->Shutdown(PR_TRUE);
|
||||
|
@ -1023,7 +1023,7 @@ PRBool PR_CALLBACK nsMsgAccountManager::cleanupOnExit(nsHashKey *aKey, void *aDa
|
|||
imapserver->GetCleanupInboxOnExit(&cleanupInboxOnExit);
|
||||
if (emptyTrashOnExit || cleanupInboxOnExit)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> root;
|
||||
nsCOMPtr<nsIMsgFolder> root;
|
||||
server->GetRootFolder(getter_AddRefs(root));
|
||||
nsXPIDLCString type;
|
||||
server->GetType(getter_Copies(type));
|
||||
|
@ -1524,7 +1524,7 @@ nsMsgAccountManager::SetSpecialFolders()
|
|||
if (folderUri && NS_SUCCEEDED(rdf->GetResource(folderUri, getter_AddRefs(res))))
|
||||
{
|
||||
folder = do_QueryInterface(res, &rv);
|
||||
nsCOMPtr <nsIFolder> parent;
|
||||
nsCOMPtr <nsIMsgFolder> parent;
|
||||
if (folder && NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = folder->GetParent(getter_AddRefs(parent));
|
||||
|
@ -1545,7 +1545,7 @@ nsMsgAccountManager::SetSpecialFolders()
|
|||
folder = do_QueryInterface(res, &rv);
|
||||
if (folder && NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr <nsIFolder> parent;
|
||||
nsCOMPtr <nsIMsgFolder> parent;
|
||||
rv = folder->GetParent(getter_AddRefs(parent));
|
||||
if (NS_SUCCEEDED(rv) && parent) // only set flag if folder is real
|
||||
rv = folder->SetFlag(MSG_FOLDER_FLAG_TEMPLATES);
|
||||
|
@ -2181,7 +2181,7 @@ nsMsgAccountManager::addListener(nsHashKey *aKey, void *element, void *aData)
|
|||
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv, PR_TRUE);
|
||||
|
||||
|
@ -2199,7 +2199,7 @@ nsMsgAccountManager::removeListener(nsHashKey *aKey, void *element, void *aData)
|
|||
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv, PR_TRUE);
|
||||
|
||||
|
|
|
@ -895,7 +895,7 @@ nsMsgAccountManagerDataSource::createServerResources(nsISupports *element,
|
|||
nsCOMPtr<nsIMsgIncomingServer> server = do_QueryInterface(element, &rv);
|
||||
if (NS_FAILED(rv)) return PR_TRUE;
|
||||
|
||||
nsCOMPtr <nsIFolder> serverFolder;
|
||||
nsCOMPtr <nsIMsgFolder> serverFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(serverFolder));
|
||||
if(NS_FAILED(rv)) return PR_TRUE;
|
||||
|
||||
|
@ -1259,7 +1259,7 @@ nsMsgAccountManagerDataSource::OnServerLoaded(nsIMsgIncomingServer* aServer)
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> serverFolder;
|
||||
nsCOMPtr<nsIMsgFolder> serverFolder;
|
||||
rv = aServer->GetRootFolder(getter_AddRefs(serverFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
|
@ -1292,7 +1292,7 @@ nsMsgAccountManagerDataSource::OnServerUnloaded(nsIMsgIncomingServer* aServer)
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> serverFolder;
|
||||
nsCOMPtr<nsIMsgFolder> serverFolder;
|
||||
rv = aServer->GetRootFolder(getter_AddRefs(serverFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
|
@ -1375,7 +1375,7 @@ nsMsgAccountManagerDataSource::OnItemBoolPropertyChanged(nsISupports *aItem,
|
|||
}
|
||||
|
||||
nsresult
|
||||
nsMsgAccountManagerDataSource::OnItemEvent(nsIFolder *, nsIAtom *)
|
||||
nsMsgAccountManagerDataSource::OnItemEvent(nsIMsgFolder *, nsIAtom *)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -501,7 +501,6 @@ nsMsgCopyService::CopyFolders( nsISupportsArray* folders,
|
|||
nsCopySource* copySource = nsnull;
|
||||
nsresult rv = NS_ERROR_NULL_POINTER;
|
||||
PRUint32 cnt;
|
||||
nsCOMPtr<nsIFolder> folder;
|
||||
nsCOMPtr<nsIMsgFolder> curFolder;
|
||||
nsCOMPtr<nsISupports> support;
|
||||
|
||||
|
@ -520,10 +519,7 @@ nsMsgCopyService::CopyFolders( nsISupportsArray* folders,
|
|||
isMove, listener, window, PR_FALSE);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
folder = do_QueryInterface(support, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
curFolder = do_QueryInterface(folder, &rv);
|
||||
curFolder = do_QueryInterface(support, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
copySource = copyRequest->AddNewCopySource(curFolder);
|
||||
|
|
|
@ -365,8 +365,6 @@ nsFolderCompactState::FinishCompact()
|
|||
// All okay time to finish up the compact process
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIFileSpec> pathSpec;
|
||||
nsCOMPtr<nsIFolder> parent;
|
||||
nsCOMPtr<nsIMsgFolder> parentFolder;
|
||||
nsCOMPtr<nsIDBFolderInfo> folderInfo;
|
||||
nsFileSpec fileSpec;
|
||||
|
||||
|
|
|
@ -951,7 +951,7 @@ nsMsgFolderDataSource::OnItemPropertyFlagChanged(nsISupports *item,
|
|||
nsresult rv = NS_OK;
|
||||
|
||||
if (kBiffStateAtom == property) {
|
||||
// for Incoming biff (to turn it on) the item is of type nsIFolder (see nsMsgFolder::SetBiffState)
|
||||
// for Incoming biff (to turn it on) the item is of type nsIMsgFolder (see nsMsgFolder::SetBiffState)
|
||||
// for clearing the biff the item is of type nsIMsgDBHdr (see nsMsgDBFolder::OnKeyChange)
|
||||
// so check for both of these here
|
||||
nsCOMPtr<nsIMsgFolder> folder(do_QueryInterface(item));
|
||||
|
@ -980,7 +980,7 @@ nsMsgFolderDataSource::OnItemPropertyFlagChanged(nsISupports *item,
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMsgFolderDataSource::OnItemEvent(nsIFolder *aFolder, nsIAtom *aEvent)
|
||||
nsMsgFolderDataSource::OnItemEvent(nsIMsgFolder *aFolder, nsIAtom *aEvent)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -2175,14 +2175,13 @@ nsresult nsMsgFolderDataSource::DoFolderHasAssertion(nsIMsgFolder *folder,
|
|||
|
||||
if((kNC_Child == property))
|
||||
{
|
||||
nsCOMPtr<nsIFolder> childFolder(do_QueryInterface(target, &rv));
|
||||
nsCOMPtr<nsIMsgFolder> childFolder(do_QueryInterface(target, &rv));
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsCOMPtr<nsIFolder> folderasFolder(do_QueryInterface(folder));
|
||||
nsCOMPtr<nsIFolder> childsParent;
|
||||
nsCOMPtr<nsIMsgFolder> childsParent;
|
||||
rv = childFolder->GetParent(getter_AddRefs(childsParent));
|
||||
*hasAssertion = (NS_SUCCEEDED(rv) && childsParent && folderasFolder
|
||||
&& (childsParent.get() == folderasFolder.get()));
|
||||
*hasAssertion = (NS_SUCCEEDED(rv) && childsParent && folder
|
||||
&& (childsParent.get() == folder));
|
||||
}
|
||||
}
|
||||
else if ((kNC_Name == property) ||
|
||||
|
|
|
@ -248,7 +248,7 @@ NS_IMETHODIMP nsMsgMailSession::OnItemRemoved(nsISupports *parentItem, nsISuppor
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsMsgMailSession::OnItemEvent(nsIFolder *aFolder,
|
||||
NS_IMETHODIMP nsMsgMailSession::OnItemEvent(nsIMsgFolder *aFolder,
|
||||
nsIAtom *aEvent)
|
||||
{
|
||||
PRInt32 count = mListeners.Count();
|
||||
|
|
|
@ -273,7 +273,7 @@ nsStatusBarBiffManager::OnItemPropertyFlagChanged(nsISupports *item, nsIAtom *pr
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsStatusBarBiffManager::OnItemEvent(nsIFolder *item, nsIAtom *event)
|
||||
nsStatusBarBiffManager::OnItemEvent(nsIMsgFolder *item, nsIAtom *event)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
#include "nsCRT.h"
|
||||
#include "nsXPIDLString.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "prmem.h"
|
||||
|
||||
#include "rdf.h"
|
||||
|
|
|
@ -132,7 +132,7 @@ NS_IMETHODIMP nsMsgDBFolder::Shutdown(PRBool shutdownChildren)
|
|||
{
|
||||
for (PRUint32 i = 0; i < count; i++)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> childFolder = do_QueryElementAt(mSubFolders, i);
|
||||
nsCOMPtr<nsIMsgFolder> childFolder = do_QueryElementAt(mSubFolders, i);
|
||||
if(childFolder)
|
||||
childFolder->Shutdown(PR_TRUE);
|
||||
}
|
||||
|
@ -1399,7 +1399,7 @@ nsMsgDBFolder::AutoCompact(nsIMsgWindow *aWindow)
|
|||
PRInt32 localExpungedBytes = 0;
|
||||
do
|
||||
{
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -126,14 +126,14 @@ nsMsgIncomingServer::SetKey(const char * serverKey)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMsgIncomingServer::SetRootFolder(nsIFolder * aRootFolder)
|
||||
nsMsgIncomingServer::SetRootFolder(nsIMsgFolder * aRootFolder)
|
||||
{
|
||||
m_rootFolder = aRootFolder;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMsgIncomingServer::GetRootFolder(nsIFolder * *aRootFolder)
|
||||
nsMsgIncomingServer::GetRootFolder(nsIMsgFolder * *aRootFolder)
|
||||
{
|
||||
if (!aRootFolder)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
@ -154,12 +154,16 @@ NS_IMETHODIMP
|
|||
nsMsgIncomingServer::GetRootMsgFolder(nsIMsgFolder **aRootMsgFolder)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aRootMsgFolder);
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder)
|
||||
rv = rootFolder->QueryInterface(NS_GET_IID(nsIMsgFolder), (void **) aRootMsgFolder);
|
||||
|
||||
return rv;
|
||||
if (!m_rootFolder)
|
||||
{
|
||||
nsresult rv = CreateRootFolder();
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IF_ADDREF(*aRootMsgFolder = m_rootFolder);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -689,7 +693,7 @@ nsMsgIncomingServer::SetPrettyName(const PRUnichar *value)
|
|||
{
|
||||
SetUnicharValue("name", value);
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
GetRootFolder(getter_AddRefs(rootFolder));
|
||||
|
||||
if (rootFolder)
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
#include "nsIPrefBranch.h"
|
||||
#include "nsIMsgFilterList.h"
|
||||
#include "msgCore.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsWeakReference.h"
|
||||
#include "nsIMsgDatabase.h"
|
||||
|
@ -82,7 +82,7 @@ protected:
|
|||
NS_IMETHOD SetPrefPassword(const char * aPassword);
|
||||
PRBool PasswordProtectLocalCache();
|
||||
|
||||
nsCOMPtr <nsIFolder> m_rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> m_rootFolder;
|
||||
nsCOMPtr <nsIMsgRetentionSettings> m_retentionSettings;
|
||||
nsCOMPtr <nsIMsgDownloadSettings> m_downloadSettings;
|
||||
nsresult getDefaultCharPref(const char *pref, char **);
|
||||
|
|
|
@ -554,7 +554,7 @@ nsresult GetExistingFolder(const char *aFolderURI, nsIMsgFolder **aFolder)
|
|||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// Parent doesn't exist means that this folder doesn't exist.
|
||||
nsCOMPtr<nsIFolder> parentFolder;
|
||||
nsCOMPtr<nsIMsgFolder> parentFolder;
|
||||
rv = thisFolder->GetParent(getter_AddRefs(parentFolder));
|
||||
if (NS_SUCCEEDED(rv) && parentFolder)
|
||||
NS_ADDREF(*aFolder = thisFolder);
|
||||
|
@ -673,7 +673,7 @@ GetOrCreateFolder(const nsACString &aURI, nsIUrlListener *aListener)
|
|||
rv = server->GetMsgFolderFromURI(folderResource, nsCAutoString(aURI).get(), getter_AddRefs(msgFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr <nsIFolder> parent;
|
||||
nsCOMPtr <nsIMsgFolder> parent;
|
||||
rv = msgFolder->GetParent(getter_AddRefs(parent));
|
||||
if (NS_FAILED(rv) || !parent)
|
||||
{
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#include "nsMsgFolderFlags.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsIMsgAccountManager.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsISupportsArray.h"
|
||||
#include "nsIMsgIncomingServer.h"
|
||||
#include "nsISupports.h"
|
||||
|
@ -383,7 +383,7 @@ nsMsgCopy::CreateIfMissing(nsIMsgFolder **folder, PRBool *waitForUrl)
|
|||
nsresult ret = NS_OK;
|
||||
if (folder && *folder)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> parent;
|
||||
nsCOMPtr <nsIMsgFolder> parent;
|
||||
(*folder)->GetParent(getter_AddRefs(parent));
|
||||
if (!parent)
|
||||
{
|
||||
|
@ -503,13 +503,8 @@ LocateMessageFolder(nsIMsgIdentity *userIdentity,
|
|||
if ( NS_FAILED(rv) || (!serverURI) || !(*serverURI) )
|
||||
continue;
|
||||
|
||||
nsCOMPtr <nsIFolder> folder;
|
||||
rv = inServer->GetRootFolder(getter_AddRefs(folder));
|
||||
if (NS_FAILED(rv) || (!folder))
|
||||
continue;
|
||||
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rootFolder = do_QueryInterface(folder, &rv);
|
||||
rv = inServer->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
|
||||
if(NS_FAILED(rv) || (!rootFolder))
|
||||
continue;
|
||||
|
|
|
@ -947,13 +947,8 @@ nsImapIncomingServer::PerformExpand(nsIMsgWindow *aMsgWindow)
|
|||
|
||||
rv = ResetFoldersToUnverified(nsnull);
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!rootFolder) return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder = do_QueryInterface(rootFolder,
|
||||
&rv);
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootMsgFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!rootMsgFolder) return NS_ERROR_FAILURE;
|
||||
|
||||
|
@ -1038,7 +1033,6 @@ NS_IMETHODIMP nsImapIncomingServer::GetIsPFC(const char *folderName, PRBool *res
|
|||
NS_IMETHODIMP nsImapIncomingServer::GetPFC(PRBool createIfMissing, nsIMsgFolder **pfcFolder)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgAccountManager> accountManager =
|
||||
do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID, &rv);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
|
@ -1121,15 +1115,11 @@ NS_IMETHODIMP nsImapIncomingServer::PossibleImapMailbox(const char *folderPath,
|
|||
if (!folderPath || !*folderPath || !aNewFolder) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
*aNewFolder = PR_FALSE;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
nsCOMPtr<nsIMsgFolder> a_nsIFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(a_nsIFolder));
|
||||
|
||||
if(NS_FAILED(rv))
|
||||
return rv;
|
||||
nsCOMPtr<nsIMsgFolder> a_nsIFolder(do_QueryInterface(rootFolder, &rv));
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCAutoString dupFolderPath(folderPath);
|
||||
if (dupFolderPath.Last() == hierarchyDelimiter)
|
||||
|
@ -1146,15 +1136,12 @@ NS_IMETHODIMP nsImapIncomingServer::PossibleImapMailbox(const char *folderPath,
|
|||
if (a_nsIFolder && !dupFolderPath.IsEmpty())
|
||||
{
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder;
|
||||
nsCOMPtr<nsIFolder> subFolder;
|
||||
PRBool isNamespace = PR_FALSE;
|
||||
PRBool noSelect = PR_FALSE;
|
||||
|
||||
rv = a_nsIFolder->FindSubFolder(dupFolderPath.get(), getter_AddRefs(subFolder));
|
||||
rv = a_nsIFolder->FindSubFolder(dupFolderPath.get(), getter_AddRefs(msgFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
msgFolder = do_QueryInterface(subFolder, &rv);
|
||||
m_subscribeFolders.AppendObject(msgFolder);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
noSelect = (boxFlags & kNoselect) != 0;
|
||||
nsCOMPtr<nsIMsgImapMailFolder> imapFolder = do_QueryInterface(msgFolder, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
@ -1349,7 +1336,7 @@ NS_IMETHODIMP nsImapIncomingServer::PossibleImapMailbox(const char *folderPath,
|
|||
|
||||
NS_IMETHODIMP nsImapIncomingServer::AddFolderRights(const char *mailboxName, const char *userName, const char *rights)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -1368,7 +1355,7 @@ NS_IMETHODIMP nsImapIncomingServer::AddFolderRights(const char *mailboxName, con
|
|||
NS_IMETHODIMP nsImapIncomingServer::FolderNeedsACLInitialized(const char *folderPath, PRBool *aNeedsACLInitialized)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aNeedsACLInitialized);
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -1391,7 +1378,7 @@ NS_IMETHODIMP nsImapIncomingServer::FolderNeedsACLInitialized(const char *folder
|
|||
|
||||
NS_IMETHODIMP nsImapIncomingServer::RefreshFolderRights(const char *folderPath)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -1586,7 +1573,7 @@ nsresult nsImapIncomingServer::GetFolder(const char* name, nsIMsgFolder** pFolde
|
|||
nsresult rv = NS_ERROR_NULL_POINTER;
|
||||
if (!name || !*name || !pFolder) return rv;
|
||||
*pFolder = nsnull;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -1646,9 +1633,7 @@ NS_IMETHODIMP nsImapIncomingServer::OnlineFolderRename(nsIMsgWindow *msgWindow,
|
|||
}
|
||||
else // root is the parent
|
||||
{
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
parent = do_QueryInterface(rootFolder,&rv);
|
||||
rv = GetRootFolder(getter_AddRefs(parent));
|
||||
}
|
||||
if (NS_SUCCEEDED(rv) && parent)
|
||||
{
|
||||
|
@ -1695,7 +1680,7 @@ NS_IMETHODIMP nsImapIncomingServer::FolderIsNoSelect(const char *aFolderName, P
|
|||
|
||||
NS_IMETHODIMP nsImapIncomingServer::SetFolderAdminURL(const char *aFolderName, const char *aFolderAdminUrl)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -1715,11 +1700,11 @@ NS_IMETHODIMP nsImapIncomingServer::FolderVerifiedOnline(const char *folderName
|
|||
{
|
||||
NS_ENSURE_ARG_POINTER(aResult);
|
||||
*aResult = PR_FALSE;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> aFolder;
|
||||
nsCOMPtr<nsIMsgFolder> aFolder;
|
||||
rv = rootFolder->FindSubFolder(folderName, getter_AddRefs(aFolder));
|
||||
if (NS_SUCCEEDED(rv) && aFolder)
|
||||
{
|
||||
|
@ -1738,15 +1723,11 @@ NS_IMETHODIMP nsImapIncomingServer::DiscoveryDone()
|
|||
|
||||
if (mDoingSubscribeDialog)
|
||||
return NS_OK;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder)
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootMsgFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootMsgFolder)
|
||||
{
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder = do_QueryInterface(rootFolder, &rv);
|
||||
if (rootMsgFolder)
|
||||
rootMsgFolder->SetPrefFlag();
|
||||
rootMsgFolder->SetPrefFlag();
|
||||
|
||||
// Verify there is only one trash folder. Another might be present if
|
||||
// the trash name has been changed.
|
||||
|
@ -1794,7 +1775,7 @@ NS_IMETHODIMP nsImapIncomingServer::DiscoveryDone()
|
|||
unverifiedFolders->GetElementAt(k, getter_AddRefs(element));
|
||||
|
||||
nsCOMPtr<nsIMsgImapMailFolder> currentImapFolder = do_QueryInterface(element, &rv);
|
||||
nsCOMPtr<nsIFolder> currentFolder = do_QueryInterface(element, &rv);
|
||||
nsCOMPtr<nsIMsgFolder> currentFolder = do_QueryInterface(element, &rv);
|
||||
if (NS_FAILED(rv))
|
||||
continue;
|
||||
if ((NS_SUCCEEDED(currentImapFolder->GetExplicitlyVerify(&explicitlyVerify)) && explicitlyVerify) ||
|
||||
|
@ -1820,7 +1801,7 @@ NS_IMETHODIMP nsImapIncomingServer::DiscoveryDone()
|
|||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsImapIncomingServer::DeleteNonVerifiedFolders(nsIFolder *curFolder)
|
||||
nsresult nsImapIncomingServer::DeleteNonVerifiedFolders(nsIMsgFolder *curFolder)
|
||||
{
|
||||
PRBool autoUnsubscribeFromNoSelectFolders = PR_TRUE;
|
||||
nsresult rv;
|
||||
|
@ -1981,8 +1962,7 @@ nsresult nsImapIncomingServer::DeleteNonVerifiedFolders(nsIFolder *curFolder)
|
|||
|
||||
#endif // 0
|
||||
|
||||
nsCOMPtr<nsIFolder> parent;
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder = do_QueryInterface(curFolder);
|
||||
nsCOMPtr<nsIMsgFolder> parent;
|
||||
rv = curFolder->GetParent(getter_AddRefs(parent));
|
||||
|
||||
|
||||
|
@ -1990,13 +1970,13 @@ nsresult nsImapIncomingServer::DeleteNonVerifiedFolders(nsIFolder *curFolder)
|
|||
{
|
||||
nsCOMPtr<nsIMsgImapMailFolder> imapParent = do_QueryInterface(parent);
|
||||
if (imapParent)
|
||||
imapParent->RemoveSubFolder(msgFolder);
|
||||
imapParent->RemoveSubFolder(curFolder);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
PRBool nsImapIncomingServer::NoDescendentsAreVerified(nsIFolder *parentFolder)
|
||||
PRBool nsImapIncomingServer::NoDescendentsAreVerified(nsIMsgFolder *parentFolder)
|
||||
{
|
||||
PRBool nobodyIsVerified = PR_TRUE;
|
||||
|
||||
|
@ -2020,7 +2000,7 @@ PRBool nsImapIncomingServer::NoDescendentsAreVerified(nsIFolder *parentFolder)
|
|||
nsCOMPtr <nsIMsgImapMailFolder> childImapFolder = do_QueryInterface(child, &rv);
|
||||
if (NS_SUCCEEDED(rv) && childImapFolder)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> childFolder = do_QueryInterface(child, &rv);
|
||||
nsCOMPtr <nsIMsgFolder> childFolder = do_QueryInterface(child, &rv);
|
||||
rv = childImapFolder->GetVerifiedAsOnlineFolder(&childVerified);
|
||||
nobodyIsVerified = !childVerified && NoDescendentsAreVerified(childFolder);
|
||||
}
|
||||
|
@ -2033,7 +2013,7 @@ PRBool nsImapIncomingServer::NoDescendentsAreVerified(nsIFolder *parentFolder)
|
|||
}
|
||||
|
||||
|
||||
PRBool nsImapIncomingServer::AllDescendentsAreNoSelect(nsIFolder *parentFolder)
|
||||
PRBool nsImapIncomingServer::AllDescendentsAreNoSelect(nsIMsgFolder *parentFolder)
|
||||
{
|
||||
PRBool allDescendentsAreNoSelect = PR_TRUE;
|
||||
nsCOMPtr<nsIEnumerator> subFolders;
|
||||
|
@ -2082,7 +2062,7 @@ PRBool nsImapIncomingServer::AllDescendentsAreNoSelect(nsIFolder *parentFolder)
|
|||
|
||||
|
||||
#if 0
|
||||
void nsImapIncomingServer::UnsubscribeFromAllDescendents(nsIFolder *parentFolder)
|
||||
void nsImapIncomingServer::UnsubscribeFromAllDescendents(nsIMsgFolder *parentFolder)
|
||||
{
|
||||
int numberOfSubfolders = parentFolder->GetNumSubFolders();
|
||||
|
||||
|
@ -2229,12 +2209,12 @@ NS_IMETHODIMP nsImapIncomingServer::FormatStringWithHostNameByID(PRInt32 aMsgId
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsImapIncomingServer::ResetFoldersToUnverified(nsIFolder *parentFolder)
|
||||
nsresult nsImapIncomingServer::ResetFoldersToUnverified(nsIMsgFolder *parentFolder)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
if (!parentFolder)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
return ResetFoldersToUnverified(rootFolder);
|
||||
|
@ -2259,7 +2239,7 @@ nsresult nsImapIncomingServer::ResetFoldersToUnverified(nsIFolder *parentFolder)
|
|||
rv = simpleEnumerator->GetNext(getter_AddRefs(child));
|
||||
if (NS_SUCCEEDED(rv) && child)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> childFolder = do_QueryInterface(child,
|
||||
nsCOMPtr<nsIMsgFolder> childFolder = do_QueryInterface(child,
|
||||
&rv);
|
||||
if (NS_SUCCEEDED(rv) && childFolder)
|
||||
{
|
||||
|
@ -2275,16 +2255,16 @@ nsresult nsImapIncomingServer::ResetFoldersToUnverified(nsIFolder *parentFolder)
|
|||
|
||||
nsresult nsImapIncomingServer::GetUnverifiedFolders(nsISupportsArray *aFoldersArray, PRInt32 *aNumUnverifiedFolders)
|
||||
{
|
||||
// can't have both be null, but one null is OK, since the caller
|
||||
// may just be trying to count the number of unverified folders.
|
||||
if (!aFoldersArray && !aNumUnverifiedFolders)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
if (aNumUnverifiedFolders)
|
||||
*aNumUnverifiedFolders = 0;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
// can't have both be null, but one null is OK, since the caller
|
||||
// may just be trying to count the number of unverified folders.
|
||||
if (!aFoldersArray && !aNumUnverifiedFolders)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
if (aNumUnverifiedFolders)
|
||||
*aNumUnverifiedFolders = 0;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if(NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapRoot = do_QueryInterface(rootFolder);
|
||||
if (imapRoot)
|
||||
|
@ -2294,57 +2274,57 @@ nsresult nsImapIncomingServer::GetUnverifiedFolders(nsISupportsArray *aFoldersAr
|
|||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsImapIncomingServer::GetUnverifiedSubFolders(nsIFolder *parentFolder, nsISupportsArray *aFoldersArray, PRInt32 *aNumUnverifiedFolders)
|
||||
nsresult nsImapIncomingServer::GetUnverifiedSubFolders(nsIMsgFolder *parentFolder, nsISupportsArray *aFoldersArray, PRInt32 *aNumUnverifiedFolders)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapFolder = do_QueryInterface(parentFolder);
|
||||
PRBool verified = PR_FALSE, explicitlyVerify = PR_FALSE;
|
||||
if (imapFolder)
|
||||
{
|
||||
rv = imapFolder->GetVerifiedAsOnlineFolder(&verified);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
rv = imapFolder->GetExplicitlyVerify(&explicitlyVerify);
|
||||
|
||||
if (NS_SUCCEEDED(rv) && (!verified || explicitlyVerify))
|
||||
{
|
||||
if (aFoldersArray)
|
||||
{
|
||||
nsCOMPtr <nsISupports> supports = do_QueryInterface(imapFolder);
|
||||
aFoldersArray->AppendElement(supports);
|
||||
}
|
||||
if (aNumUnverifiedFolders)
|
||||
(*aNumUnverifiedFolders)++;
|
||||
}
|
||||
}
|
||||
nsCOMPtr<nsIEnumerator> subFolders;
|
||||
|
||||
rv = parentFolder->GetSubFolders(getter_AddRefs(subFolders));
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsAdapterEnumerator *simpleEnumerator = new nsAdapterEnumerator(subFolders);
|
||||
if (simpleEnumerator == nsnull)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
PRBool moreFolders;
|
||||
|
||||
while (NS_SUCCEEDED(simpleEnumerator->HasMoreElements(&moreFolders)) && moreFolders)
|
||||
{
|
||||
nsCOMPtr<nsISupports> child;
|
||||
rv = simpleEnumerator->GetNext(getter_AddRefs(child));
|
||||
if (NS_SUCCEEDED(rv) && child)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> childFolder = do_QueryInterface(child, &rv);
|
||||
if (NS_SUCCEEDED(rv) && childFolder)
|
||||
{
|
||||
rv = GetUnverifiedSubFolders(childFolder, aFoldersArray, aNumUnverifiedFolders);
|
||||
if (NS_FAILED(rv))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
delete simpleEnumerator;
|
||||
}
|
||||
return rv;
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapFolder = do_QueryInterface(parentFolder);
|
||||
PRBool verified = PR_FALSE, explicitlyVerify = PR_FALSE;
|
||||
if (imapFolder)
|
||||
{
|
||||
rv = imapFolder->GetVerifiedAsOnlineFolder(&verified);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
rv = imapFolder->GetExplicitlyVerify(&explicitlyVerify);
|
||||
|
||||
if (NS_SUCCEEDED(rv) && (!verified || explicitlyVerify))
|
||||
{
|
||||
if (aFoldersArray)
|
||||
{
|
||||
nsCOMPtr <nsISupports> supports = do_QueryInterface(imapFolder);
|
||||
aFoldersArray->AppendElement(supports);
|
||||
}
|
||||
if (aNumUnverifiedFolders)
|
||||
(*aNumUnverifiedFolders)++;
|
||||
}
|
||||
}
|
||||
nsCOMPtr<nsIEnumerator> subFolders;
|
||||
|
||||
rv = parentFolder->GetSubFolders(getter_AddRefs(subFolders));
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
nsAdapterEnumerator *simpleEnumerator = new nsAdapterEnumerator(subFolders);
|
||||
if (simpleEnumerator == nsnull)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
PRBool moreFolders;
|
||||
|
||||
while (NS_SUCCEEDED(simpleEnumerator->HasMoreElements(&moreFolders)) && moreFolders)
|
||||
{
|
||||
nsCOMPtr<nsISupports> child;
|
||||
rv = simpleEnumerator->GetNext(getter_AddRefs(child));
|
||||
if (NS_SUCCEEDED(rv) && child)
|
||||
{
|
||||
nsCOMPtr <nsIMsgFolder> childFolder = do_QueryInterface(child, &rv);
|
||||
if (NS_SUCCEEDED(rv) && childFolder)
|
||||
{
|
||||
rv = GetUnverifiedSubFolders(childFolder, aFoldersArray, aNumUnverifiedFolders);
|
||||
if (NS_FAILED(rv))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
delete simpleEnumerator;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapIncomingServer::ForgetSessionPassword()
|
||||
|
@ -2472,7 +2452,7 @@ NS_IMETHODIMP nsImapIncomingServer::PseudoInterruptMsgLoad(nsIMsgFolder *aImapFo
|
|||
NS_IMETHODIMP nsImapIncomingServer::ResetNamespaceReferences()
|
||||
{
|
||||
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder)
|
||||
{
|
||||
|
@ -2752,7 +2732,7 @@ nsImapIncomingServer::SetDelimiterFromHierarchyDelimiter()
|
|||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
if (!imapService) return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
|
@ -3036,10 +3016,8 @@ nsImapIncomingServer::SubscribeToFolder(const PRUnichar *aName, PRBool subscribe
|
|||
if (NS_FAILED(rv)) return rv;
|
||||
if (!imapService) return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder = do_QueryInterface(rootFolder, &rv);
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootMsgFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!rootMsgFolder) return NS_ERROR_FAILURE;
|
||||
|
||||
|
@ -3048,12 +3026,9 @@ nsImapIncomingServer::SubscribeToFolder(const PRUnichar *aName, PRBool subscribe
|
|||
nsCAutoString folderCName;
|
||||
folderCName.AppendWithConversion(aName);
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder;
|
||||
nsCOMPtr<nsIFolder> subFolder;
|
||||
if (rootMsgFolder && aName && (*aName))
|
||||
{
|
||||
rv = rootMsgFolder->FindSubFolder(folderCName.get(), getter_AddRefs(subFolder));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
msgFolder = do_QueryInterface(subFolder);
|
||||
rv = rootMsgFolder->FindSubFolder(folderCName.get(), getter_AddRefs(msgFolder));
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIEventQueue> queue;
|
||||
|
|
|
@ -100,13 +100,13 @@ public:
|
|||
|
||||
protected:
|
||||
nsresult GetFolder(const char* name, nsIMsgFolder** pFolder);
|
||||
nsresult ResetFoldersToUnverified(nsIFolder *parentFolder);
|
||||
nsresult GetUnverifiedSubFolders(nsIFolder *parentFolder, nsISupportsArray *aFoldersArray, PRInt32 *aNumUnverifiedFolders);
|
||||
nsresult ResetFoldersToUnverified(nsIMsgFolder *parentFolder);
|
||||
nsresult GetUnverifiedSubFolders(nsIMsgFolder *parentFolder, nsISupportsArray *aFoldersArray, PRInt32 *aNumUnverifiedFolders);
|
||||
nsresult GetUnverifiedFolders(nsISupportsArray *aFolderArray, PRInt32 *aNumUnverifiedFolders);
|
||||
|
||||
nsresult DeleteNonVerifiedFolders(nsIFolder *parentFolder);
|
||||
PRBool NoDescendentsAreVerified(nsIFolder *parentFolder);
|
||||
PRBool AllDescendentsAreNoSelect(nsIFolder *parentFolder);
|
||||
nsresult DeleteNonVerifiedFolders(nsIMsgFolder *parentFolder);
|
||||
PRBool NoDescendentsAreVerified(nsIMsgFolder *parentFolder);
|
||||
PRBool AllDescendentsAreNoSelect(nsIMsgFolder *parentFolder);
|
||||
|
||||
nsresult GetStringBundle();
|
||||
const char *GetPFCName();
|
||||
|
|
|
@ -3332,7 +3332,7 @@ nsresult nsImapMailFolder::MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
|
|||
// and if it can file messages (e.g., servers or news folders can't file messages).
|
||||
// Or read only imap folders...
|
||||
PRBool canFileMessages = PR_TRUE;
|
||||
nsCOMPtr<nsIFolder> parentFolder;
|
||||
nsCOMPtr<nsIMsgFolder> parentFolder;
|
||||
destIFolder->GetParent(getter_AddRefs(parentFolder));
|
||||
if (parentFolder)
|
||||
destIFolder->GetCanFileMessages(&canFileMessages);
|
||||
|
|
|
@ -206,10 +206,9 @@ public:
|
|||
// nsICollection methods
|
||||
NS_IMETHOD Enumerate(nsIEnumerator **result);
|
||||
|
||||
// nsIFolder methods:
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetSubFolders(nsIEnumerator* *result);
|
||||
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetMessages(nsIMsgWindow *aMsgWindow, nsISimpleEnumerator* *result);
|
||||
NS_IMETHOD UpdateFolder(nsIMsgWindow *aWindow);
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ nsresult nsImapOfflineSync::AdvanceToNextServer()
|
|||
m_currentServer = nsnull;
|
||||
PRUint32 numServers;
|
||||
m_allServers->Count(&numServers);
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
|
||||
while (serverIndex < numServers)
|
||||
{
|
||||
|
@ -583,7 +583,7 @@ PRBool nsImapOfflineSync::CreateOfflineFolders()
|
|||
|
||||
PRBool nsImapOfflineSync::CreateOfflineFolder(nsIMsgFolder *folder)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> parent;
|
||||
nsCOMPtr<nsIMsgFolder> parent;
|
||||
folder->GetParent(getter_AddRefs(parent));
|
||||
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapFolder = do_QueryInterface(parent);
|
||||
|
@ -962,14 +962,11 @@ nsresult nsImapOfflineDownloader::ProcessNextOperation()
|
|||
AdvanceToNextServer();
|
||||
if (m_currentServer)
|
||||
{
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
m_currentServer->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
nsCOMPtr <nsIMsgFolder> rootMsgFolder;
|
||||
m_currentServer->GetRootFolder(getter_AddRefs(rootMsgFolder));
|
||||
nsCOMPtr<nsIMsgFolder> inbox;
|
||||
if (rootFolder)
|
||||
if (rootMsgFolder)
|
||||
{
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder = do_QueryInterface(rootFolder, &rv);
|
||||
if (rootMsgFolder)
|
||||
{
|
||||
PRUint32 numFolders;
|
||||
rootMsgFolder->GetFoldersWithFlag(MSG_FOLDER_FLAG_INBOX, 1, &numFolders, getter_AddRefs(inbox));
|
||||
if (inbox)
|
||||
|
@ -1008,7 +1005,6 @@ nsresult nsImapOfflineDownloader::ProcessNextOperation()
|
|||
return rv; // otherwise, fall through.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ProcessNextOperation(); // recurse and do next server.
|
||||
}
|
||||
|
|
|
@ -2544,10 +2544,8 @@ nsImapService::GetDefaultServerPort(PRBool isSecure, PRInt32 *aDefaultPort)
|
|||
|
||||
nsresult nsImapService::CreateSubscribeURI(nsIMsgIncomingServer *server, char *folderName, nsIURI **retURI)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsresult rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder = do_QueryInterface(rootFolder, &rv);
|
||||
nsCOMPtr<nsIMsgFolder> rootMsgFolder;
|
||||
nsresult rv = server->GetRootFolder(getter_AddRefs(rootMsgFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!rootMsgFolder) return NS_ERROR_FAILURE;
|
||||
PRUnichar hierarchyDelimiter;
|
||||
|
@ -2667,12 +2665,12 @@ NS_IMETHODIMP nsImapService::NewURI(const nsACString &aSpec,
|
|||
NS_ENSURE_TRUE(server, NS_ERROR_FAILURE);
|
||||
|
||||
// now try to get the folder in question...
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
|
||||
if (rootFolder && !folderName.IsEmpty())
|
||||
{
|
||||
nsCOMPtr<nsIFolder> folder;
|
||||
nsCOMPtr<nsIMsgFolder> folder;
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapRoot = do_QueryInterface(rootFolder, &rv);
|
||||
nsCOMPtr <nsIMsgImapMailFolder> subFolder;
|
||||
if (imapRoot)
|
||||
|
@ -2759,9 +2757,9 @@ NS_IMETHODIMP nsImapService::NewChannel(nsIURI *aURI, nsIChannel **_retval)
|
|||
}
|
||||
// if the parent is null, then the folder doesn't really exist, so see if the user
|
||||
// wants to subscribe to it./
|
||||
nsCOMPtr<nsIFolder> aFolder;
|
||||
nsCOMPtr<nsIMsgFolder> aFolder;
|
||||
// now try to get the folder in question...
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
nsCOMPtr <nsIMsgImapMailFolder> imapRoot = do_QueryInterface(rootFolder);
|
||||
nsCOMPtr <nsIMsgImapMailFolder> subFolder;
|
||||
|
@ -2770,8 +2768,7 @@ NS_IMETHODIMP nsImapService::NewChannel(nsIURI *aURI, nsIChannel **_retval)
|
|||
imapRoot->FindOnlineSubFolder(folderName, getter_AddRefs(subFolder));
|
||||
aFolder = do_QueryInterface(subFolder);
|
||||
}
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder = do_QueryInterface(aFolder);
|
||||
nsCOMPtr <nsIFolder> parent;
|
||||
nsCOMPtr <nsIMsgFolder> parent;
|
||||
if (aFolder)
|
||||
aFolder->GetParent(getter_AddRefs(parent));
|
||||
nsXPIDLCString serverKey;
|
||||
|
@ -3077,7 +3074,6 @@ nsImapService::GetListOfFoldersWithPath(nsIImapIncomingServer *aServer, nsIMsgWi
|
|||
// Locate the folder so that the correct hierarchical delimiter is used in the folder
|
||||
// pathnames, otherwise root's (ie, '^') is used and this is wrong.
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder;
|
||||
nsCOMPtr<nsIFolder> subFolder;
|
||||
if (rootMsgFolder && folderPath && (*folderPath))
|
||||
{
|
||||
// If the folder path contains 'INBOX' of any forms, we need to convert it to uppercase
|
||||
|
@ -3102,9 +3098,7 @@ nsImapService::GetListOfFoldersWithPath(nsIImapIncomingServer *aServer, nsIMsgWi
|
|||
changedStr.Append(remStr);
|
||||
|
||||
|
||||
rv = rootMsgFolder->FindSubFolder(changedStr.get(), getter_AddRefs(subFolder));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
msgFolder = do_QueryInterface(subFolder);
|
||||
rv = rootMsgFolder->FindSubFolder(changedStr.get(), getter_AddRefs(msgFolder));
|
||||
}
|
||||
|
||||
rv = DiscoverChildren(queue, msgFolder, listener, folderPath, nsnull);
|
||||
|
|
|
@ -814,7 +814,7 @@ ImportMailThread( void *stuff)
|
|||
else if (newDepth < depth) {
|
||||
rv = NS_OK;
|
||||
while ((newDepth < depth) && NS_SUCCEEDED( rv)) {
|
||||
nsCOMPtr<nsIFolder> parFolder;
|
||||
nsCOMPtr<nsIMsgFolder> parFolder;
|
||||
rv = curProxy->GetParent( getter_AddRefs( parFolder));
|
||||
if (NS_FAILED( rv)) {
|
||||
IMPORT_LOG1("*** ImportMailThread: Failed to get the interface for parent folder '%s'.", lastName.get());
|
||||
|
|
|
@ -540,7 +540,6 @@ nsMsgLocalMailFolder::GetSubFolders(nsIEnumerator* *result)
|
|||
// must happen after CreateSubFolders, or the folders won't exist.
|
||||
if (createdDefaultMailboxes && isServer)
|
||||
{
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
rv = localMailServer->SetFlagsOnDefaultMailboxes();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
@ -1940,11 +1939,10 @@ nsMsgLocalMailFolder::CopyFolderAcrossServer(nsIMsgFolder* srcFolder, nsIMsgWind
|
|||
rv = NS_MsgEscapeEncodeURLPath(folderName.get(), getter_Copies(escapedFolderName));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsIFolder> newFolder;
|
||||
nsCOMPtr<nsIMsgFolder> newFolder;
|
||||
nsCOMPtr<nsIMsgFolder> newMsgFolder;
|
||||
|
||||
FindSubFolder(escapedFolderName.get(), getter_AddRefs(newFolder));
|
||||
newMsgFolder = do_QueryInterface(newFolder,&rv);
|
||||
rv = FindSubFolder(escapedFolderName.get(), getter_AddRefs(newMsgFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsISimpleEnumerator> messages;
|
||||
|
@ -2032,7 +2030,6 @@ nsMsgLocalMailFolder::CopyFolderLocal(nsIMsgFolder *srcFolder, PRBool isMoveFold
|
|||
{
|
||||
nsresult rv;
|
||||
mInitialized = PR_TRUE;
|
||||
nsCOMPtr<nsIFolder> newFolder;
|
||||
nsCOMPtr<nsIMsgFolder> newMsgFolder;
|
||||
PRBool isChildOfTrash=PR_FALSE;
|
||||
rv = IsChildOfTrash(&isChildOfTrash);
|
||||
|
@ -3361,15 +3358,11 @@ nsMsgLocalMailFolder::setSubfolderFlag(const PRUnichar *aFolderName,
|
|||
nsXPIDLCString escapedFolderName;
|
||||
nsresult rv = NS_MsgEscapeEncodeURLPath(aFolderName, getter_Copies(escapedFolderName));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
nsCOMPtr<nsIFolder> folder;
|
||||
rv = FindSubFolder(escapedFolderName, getter_AddRefs(folder));
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder;
|
||||
rv = FindSubFolder(escapedFolderName, getter_AddRefs(msgFolder));
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
if (!folder)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr<nsIMsgFolder> msgFolder = do_QueryInterface(folder);
|
||||
if (!msgFolder)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
|
|
|
@ -119,10 +119,9 @@ public:
|
|||
NS_IMETHOD OnStartRunningUrl(nsIURI * aUrl);
|
||||
NS_IMETHOD OnStopRunningUrl(nsIURI * aUrl, nsresult aExitCode);
|
||||
|
||||
// nsIFolder methods:
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetSubFolders(nsIEnumerator* *result);
|
||||
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetMessages(nsIMsgWindow *aMsgWindow, nsISimpleEnumerator* *result);
|
||||
NS_IMETHOD UpdateFolder(nsIMsgWindow *aWindow);
|
||||
|
||||
|
|
|
@ -488,7 +488,7 @@ NS_IMETHODIMP nsLocalUndoFolderListener::OnItemPropertyFlagChanged(nsISupports *
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsLocalUndoFolderListener::OnItemEvent(nsIFolder *item, nsIAtom *event)
|
||||
NS_IMETHODIMP nsLocalUndoFolderListener::OnItemEvent(nsIMsgFolder *item, nsIAtom *event)
|
||||
{
|
||||
nsCOMPtr <nsIAtom> folderLoadedAtom = do_GetAtom("FolderLoaded");
|
||||
nsCOMPtr <nsIMsgFolder> itemFolder = do_QueryInterface(item);
|
||||
|
|
|
@ -85,7 +85,7 @@ nsMovemailIncomingServer::SetFlagsOnDefaultMailboxes()
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
#include "nsIMsgProtocolInfo.h"
|
||||
#include "nsIMsgMailSession.h"
|
||||
#include "nsParseMailbox.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsIPrompt.h"
|
||||
|
||||
#include "nsILocalFile.h"
|
||||
|
@ -388,7 +388,7 @@ nsMovemailService::GetNewMail(nsIMsgWindow *aMsgWindow,
|
|||
goto freebuff_and_unlock;
|
||||
}
|
||||
|
||||
nsCOMPtr <nsIFolder> serverFolder;
|
||||
nsCOMPtr <nsIMsgFolder> serverFolder;
|
||||
rv = in_server->GetRootFolder(getter_AddRefs(serverFolder));
|
||||
|
||||
if (NS_FAILED(rv))
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
#include "nsIMsgWindow.h"
|
||||
|
||||
class nsParseNewMailState;
|
||||
class nsIFolder;
|
||||
class nsIMsgFolder;
|
||||
|
||||
class nsMovemailService : public nsIMsgProtocolInfo, public nsIMovemailService
|
||||
{
|
||||
|
|
|
@ -81,7 +81,7 @@ nsNoIncomingServer::SetFlagsOnDefaultMailboxes()
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
|
|
@ -1425,7 +1425,7 @@ nsParseNewMailState::nsParseNewMailState()
|
|||
NS_IMPL_ISUPPORTS_INHERITED1(nsParseNewMailState, nsMsgMailboxParser, nsIMsgFilterHitNotify)
|
||||
|
||||
nsresult
|
||||
nsParseNewMailState::Init(nsIFolder *rootFolder, nsIMsgFolder *downloadFolder, nsFileSpec &folder, nsIOFileStream *inboxFileStream, nsIMsgWindow *aMsgWindow)
|
||||
nsParseNewMailState::Init(nsIMsgFolder *rootFolder, nsIMsgFolder *downloadFolder, nsFileSpec &folder, nsIOFileStream *inboxFileStream, nsIMsgWindow *aMsgWindow)
|
||||
{
|
||||
nsresult rv;
|
||||
m_position = folder.GetFileSize();
|
||||
|
@ -1729,7 +1729,7 @@ nsresult nsParseNewMailState::MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
|
|||
// and if it can file messages (e.g., servers or news folders can't file messages).
|
||||
// Or read only imap folders...
|
||||
PRBool canFileMessages = PR_TRUE;
|
||||
nsCOMPtr<nsIFolder> parentFolder;
|
||||
nsCOMPtr<nsIMsgFolder> parentFolder;
|
||||
destIFolder->GetParent(getter_AddRefs(parentFolder));
|
||||
if (parentFolder)
|
||||
destIFolder->GetCanFileMessages(&canFileMessages);
|
||||
|
|
|
@ -68,7 +68,7 @@ class nsInputFileStream;
|
|||
class nsIMsgFilter;
|
||||
class MSG_FolderInfoMail;
|
||||
class nsIMsgFilterList;
|
||||
class nsIFolder;
|
||||
class nsIMsgFolder;
|
||||
|
||||
/* Used for the various things that parse RFC822 headers...
|
||||
*/
|
||||
|
@ -228,7 +228,7 @@ public:
|
|||
nsParseNewMailState();
|
||||
virtual ~nsParseNewMailState();
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
nsresult Init(nsIFolder *rootFolder, nsIMsgFolder *downloadFolder, nsFileSpec &folder, nsIOFileStream *inboxFileStream, nsIMsgWindow *aMsgWindow);
|
||||
nsresult Init(nsIMsgFolder *rootFolder, nsIMsgFolder *downloadFolder, nsFileSpec &folder, nsIOFileStream *inboxFileStream, nsIMsgWindow *aMsgWindow);
|
||||
|
||||
virtual void DoneParsingFolder(nsresult status);
|
||||
|
||||
|
@ -259,7 +259,7 @@ protected:
|
|||
virtual int MarkFilteredMessageRead(nsIMsgDBHdr *msgHdr);
|
||||
void LogRuleHit(nsIMsgFilter *filter, nsIMsgDBHdr *msgHdr);
|
||||
nsCOMPtr <nsIMsgFilterList> m_filterList;
|
||||
nsCOMPtr <nsIFolder> m_rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> m_rootFolder;
|
||||
nsCOMPtr <nsIMsgWindow> m_msgWindow;
|
||||
nsIOFileStream *m_inboxFileStream;
|
||||
nsFileSpec m_inboxFileSpec;
|
||||
|
|
|
@ -190,7 +190,7 @@ nsPop3IncomingServer::SetFlagsOnDefaultMailboxes()
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
#include <time.h>
|
||||
#include "nsIFileSpec.h"
|
||||
#include "nsParseMailbox.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgLocalMailFolder.h"
|
||||
#include "nsIMsgIncomingServer.h"
|
||||
#include "nsLocalUtils.h"
|
||||
|
@ -195,7 +194,7 @@ nsPop3Sink::BeginMailDelivery(PRBool uidlDownload, nsIMsgWindow *aMsgWindow, PRB
|
|||
if (m_newMailParser == nsnull)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
nsCOMPtr <nsIFolder> serverFolder;
|
||||
nsCOMPtr <nsIMsgFolder> serverFolder;
|
||||
rv = GetServerFolder(getter_AddRefs(serverFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
|
@ -430,7 +429,7 @@ nsresult nsPop3Sink::SetFolder(nsIMsgFolder * folder)
|
|||
}
|
||||
|
||||
nsresult
|
||||
nsPop3Sink::GetServerFolder(nsIFolder **aFolder)
|
||||
nsPop3Sink::GetServerFolder(nsIMsgFolder **aFolder)
|
||||
{
|
||||
if (!aFolder)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
#include "nsXPIDLString.h"
|
||||
|
||||
class nsParseNewMailState;
|
||||
class nsIFolder;
|
||||
class nsIMsgFolder;
|
||||
|
||||
class nsPop3Sink : public nsIPop3Sink
|
||||
{
|
||||
|
@ -60,7 +60,7 @@ public:
|
|||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIPOP3SINK
|
||||
nsresult GetServerFolder(nsIFolder **aFolder);
|
||||
nsresult GetServerFolder(nsIMsgFolder **aFolder);
|
||||
|
||||
static char* GetDummyEnvelope(void);
|
||||
|
||||
|
|
|
@ -94,7 +94,6 @@
|
|||
#include "nsIPrompt.h"
|
||||
#include "nsIMsgStatusFeedback.h"
|
||||
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsIMsgNewsFolder.h"
|
||||
#include "nsIDocShell.h"
|
||||
|
@ -2748,7 +2747,7 @@ PRInt32 nsNNTPProtocol::BeginAuthorization()
|
|||
if (!m_newsFolder && m_nntpServer) {
|
||||
nsCOMPtr<nsIMsgIncomingServer> server = do_QueryInterface(m_nntpServer);
|
||||
if (m_nntpServer) {
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_SUCCEEDED(rv) && rootFolder) {
|
||||
m_newsFolder = do_QueryInterface(rootFolder);
|
||||
|
@ -4044,7 +4043,7 @@ PRInt32 nsNNTPProtocol::DisplayNewsRC()
|
|||
if ( NS_FAILED( GetNextGroupNeedingCounts( getter_AddRefs( currChild ), &status ) ) )
|
||||
return status;
|
||||
|
||||
nsCOMPtr<nsIFolder> currFolder = do_QueryInterface(currChild, &rv);
|
||||
nsCOMPtr<nsIMsgFolder> currFolder = do_QueryInterface(currChild, &rv);
|
||||
if (NS_FAILED(rv)) return -1;
|
||||
if (!currFolder) return -1;
|
||||
|
||||
|
|
|
@ -432,7 +432,7 @@ nsresult nsMsgDownloadAllNewsgroups::AdvanceToNextServer(PRBool *done)
|
|||
m_currentServer = nsnull;
|
||||
PRUint32 numServers;
|
||||
m_allServers->Count(&numServers);
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
|
||||
while (serverIndex < numServers)
|
||||
{
|
||||
|
|
|
@ -69,10 +69,9 @@ public:
|
|||
|
||||
// nsIUrlListener method
|
||||
NS_IMETHOD OnStopRunningUrl(nsIURI * aUrl, nsresult aExitCode);
|
||||
// nsIFolder methods:
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetSubFolders(nsIEnumerator* *result);
|
||||
|
||||
// nsIMsgFolder methods:
|
||||
NS_IMETHOD GetMessages(nsIMsgWindow *aMsgWindow, nsISimpleEnumerator* *result);
|
||||
NS_IMETHOD UpdateFolder(nsIMsgWindow *aWindow);
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#include "nsIPrefBranch.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIMsgNewsFolder.h"
|
||||
#include "nsIFolder.h"
|
||||
#include "nsIMsgFolder.h"
|
||||
#include "nsIFileSpec.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsINntpService.h"
|
||||
|
@ -342,7 +342,7 @@ nsNntpIncomingServer::WriteNewsrcFile()
|
|||
nsIOFileStream newsrcStream(newsrcFileSpec, (PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE));
|
||||
|
||||
nsCOMPtr<nsIEnumerator> subFolders;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
|
@ -627,7 +627,7 @@ NS_IMETHODIMP
|
|||
nsNntpIncomingServer::GetNumGroupsNeedingCounts(PRInt32 *aNumGroupsNeedingCounts)
|
||||
{
|
||||
nsCOMPtr<nsIEnumerator> subFolders;
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
|
||||
nsresult rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
@ -1205,12 +1205,8 @@ nsNntpIncomingServer::Unsubscribe(const PRUnichar *aUnicharName)
|
|||
rv = NS_MsgEscapeEncodeURLPath(aUnicharName, getter_Copies(escapedName));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr <nsIFolder> subFolder;
|
||||
rv = serverFolder->FindSubFolder(escapedName.get(), getter_AddRefs(subFolder));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCOMPtr <nsIMsgFolder> newsgroupFolder = do_QueryInterface(subFolder, &rv);
|
||||
nsCOMPtr <nsIMsgFolder> newsgroupFolder;
|
||||
rv = serverFolder->FindSubFolder(escapedName.get(), getter_AddRefs(newsgroupFolder));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
|
@ -1371,7 +1367,7 @@ nsNntpIncomingServer::ForgetPassword()
|
|||
nsresult rv;
|
||||
|
||||
// clear password of root folder (for the news account)
|
||||
nsCOMPtr<nsIFolder> rootFolder;
|
||||
nsCOMPtr<nsIMsgFolder> rootFolder;
|
||||
rv = GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
if (!rootFolder) return NS_ERROR_FAILURE;
|
||||
|
@ -1533,7 +1529,7 @@ nsNntpIncomingServer::FindGroup(const char *name, nsIMsgNewsFolder **result)
|
|||
|
||||
if (!serverFolder) return NS_ERROR_FAILURE;
|
||||
|
||||
nsCOMPtr <nsIFolder> subFolder;
|
||||
nsCOMPtr <nsIMsgFolder> subFolder;
|
||||
rv = serverFolder->FindSubFolder(name, getter_AddRefs(subFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
if (!subFolder) return NS_ERROR_FAILURE;
|
||||
|
|
|
@ -641,14 +641,17 @@ nsNntpService::GetFolderFromUri(const char *aUri, nsIMsgFolder **aFolder)
|
|||
PR_Free(unescapedUserPass);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr <nsIFolder> rootFolder;
|
||||
nsCOMPtr <nsIMsgFolder> rootFolder;
|
||||
rv = server->GetRootFolder(getter_AddRefs(rootFolder));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
// check if path is "/"
|
||||
// if so, use the root folder
|
||||
if (path.Length() == 1)
|
||||
return rootFolder->QueryInterface(NS_GET_IID(nsIMsgFolder), (void **) aFolder);
|
||||
if (path.Length() == 1)
|
||||
{
|
||||
NS_ADDREF(*aFolder = rootFolder);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// the URI is news://host/(escaped group)
|
||||
// but the *name* of the newsgroup (we are calling ::GetChildNamed())
|
||||
|
|
Загрузка…
Ссылка в новой задаче