/* void Search (); */ NS_IMETHODIMP nsMsgSearchSession::Search(nsIMsgWindow *aWindow) { nsresult rv = Initialize(); NS_ENSURE_SUCCESS(rv, rv); nsTObserverArray<nsCOMPtr<nsIMsgSearchNotify> >::ForwardIterator iter(m_listenerList); nsCOMPtr<nsIMsgSearchNotify> listener; while (iter.HasMore()) { listener = iter.GetNext(); listener->OnNewSearch(); } m_msgWindowWeak = do_GetWeakReference(aWindow); return BeginSearching(); }
NS_IMETHODIMP nsMsgSearchSession::Search(nsIMsgWindow *aWindow) { nsresult rv = Initialize(); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsIMsgSearchNotify> listener; m_iListener = 0; while (m_iListener != -1 && m_iListener < (signed)m_listenerList.Length()) { listener = m_listenerList[m_iListener]; PRInt32 listenerFlags = m_listenerFlagList[m_iListener++]; if (!listenerFlags || (listenerFlags & nsIMsgSearchSession::onNewSearch)) listener->OnNewSearch(); } m_iListener = -1; m_msgWindowWeak = do_GetWeakReference(aWindow); return BeginSearching(); }