IndexGroupMailingLists::IndexGroupMailingLists(index_gid_t index_id) : UnionIndexGroup(index_id) { // Check all indexes that might be mailing lists INT32 it = -1; Index* index = m_indexer->GetRange(IndexTypes::FIRST_CONTACT, IndexTypes::LAST_CONTACT, it); while (index) { IndexSearch *search = index->GetSearch(); if (search && search->GetSearchText().FindFirstOf('@') == KNotFound && search->GetSearchText().FindFirstOf('.') != KNotFound) { AddIndex(index->GetId()); } index = m_indexer->GetRange(IndexTypes::FIRST_CONTACT, IndexTypes::LAST_CONTACT, it); } }
OP_STATUS IndexGroupMailingLists::IndexAdded(Indexer *indexer, UINT32 index_id) { if (IndexTypes::FIRST_CONTACT <= index_id && index_id < IndexTypes::LAST_CONTACT) { Index* index = indexer->GetIndexById(index_id); if (index) { IndexSearch *search = index->GetSearch(); if (search && search->GetSearchText().FindFirstOf('@') == KNotFound && search->GetSearchText().FindFirstOf('.') != KNotFound) { return AddIndex(index_id); } } } return OpStatus::OK; }