prevent biff from firing during shutdown r=naving, sr=sspitzer 101209

This commit is contained in:
bienvenu%netscape.com 2001-09-24 23:20:02 +00:00
Родитель 100dafd417
Коммит 222fbba877
4 изменённых файлов: 35 добавлений и 23 удалений

Просмотреть файл

@ -26,9 +26,10 @@
[scriptable, uuid(17275D52-1622-11d3-8A84-0060B0FC04D2)]
interface nsIMsgBiffManager : nsISupports {
void AddServerBiff(in nsIMsgIncomingServer server);
void RemoveServerBiff(in nsIMsgIncomingServer server);
void ForceBiff(in nsIMsgIncomingServer server);
void ForceBiffAll();
void addServerBiff(in nsIMsgIncomingServer server);
void removeServerBiff(in nsIMsgIncomingServer server);
void forceBiff(in nsIMsgIncomingServer server);
void forceBiffAll();
void shutdown();
};

Просмотреть файл

@ -182,10 +182,16 @@ nsresult nsMsgAccountManager::Init()
nsresult nsMsgAccountManager::Shutdown()
{
if(m_msgFolderCache)
{
WriteToFolderCache(m_msgFolderCache);
}
nsresult rv;
if(m_msgFolderCache)
{
WriteToFolderCache(m_msgFolderCache);
}
nsCOMPtr<nsIMsgBiffManager> biffService = do_GetService(NS_MSGBIFFMANAGER_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv) && biffService)
biffService->Shutdown();
CloseCachedConnections();
UnloadAccounts();
@ -194,6 +200,8 @@ nsresult nsMsgAccountManager::Shutdown()
m_prefs = 0;
}
m_msgFolderCache = nsnull;
m_haveShutdown = PR_TRUE;
return NS_OK;
}
@ -1233,7 +1241,7 @@ nsMsgAccountManager::LoadAccounts()
//Ensure biff service has started
nsCOMPtr<nsIMsgBiffManager> biffService =
do_GetService(kMsgBiffManagerCID, &rv);
do_GetService(NS_MSGBIFFMANAGER_CONTRACTID, &rv);
// mail.accountmanager.accounts is the main entry point for all accounts

Просмотреть файл

@ -28,7 +28,6 @@
#include "nsIObserverService.h"
#include "nsStatusBarBiffManager.h"
static NS_DEFINE_CID(kMsgAccountManagerCID, NS_MSGACCOUNTMANAGER_CID);
static NS_DEFINE_CID(kStatusBarBiffManagerCID, NS_STATUSBARBIFFMANAGER_CID);
NS_IMPL_ISUPPORTS4(nsMsgBiffManager, nsIMsgBiffManager, nsIIncomingServerListener, nsIObserver, nsISupportsWeakReference)
@ -88,7 +87,7 @@ nsresult nsMsgBiffManager::Init()
return NS_ERROR_OUT_OF_MEMORY;
nsCOMPtr<nsIMsgAccountManager> accountManager =
do_GetService(kMsgAccountManagerCID, &rv);
do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv))
{
accountManager->AddIncomingServerListener(this);
@ -110,20 +109,25 @@ nsresult nsMsgBiffManager::Init()
return NS_OK;
}
nsresult nsMsgBiffManager::Shutdown()
NS_IMETHODIMP nsMsgBiffManager::Shutdown()
{
nsresult rv;
nsCOMPtr<nsIMsgAccountManager> accountManager =
do_GetService(kMsgAccountManagerCID, &rv);
if (NS_SUCCEEDED(rv))
{
accountManager->RemoveIncomingServerListener(this);
}
mHaveShutdown = PR_TRUE;
return NS_OK;
if (mBiffTimer)
{
mBiffTimer->Cancel();
mBiffTimer = nsnull;
}
nsresult rv;
nsCOMPtr<nsIMsgAccountManager> accountManager = do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv))
{
accountManager->RemoveIncomingServerListener(this);
}
mHaveShutdown = PR_TRUE;
return NS_OK;
}
NS_IMETHODIMP nsMsgBiffManager::AddServerBiff(nsIMsgIncomingServer *server)
{
nsresult rv;

Просмотреть файл

@ -56,7 +56,6 @@ public:
NS_DECL_NSIOBSERVER
nsresult Init();
nsresult Shutdown();
nsresult PerformBiff();
protected: