/* 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();
}
Beispiel #2
0
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();
}