Show
Ignore:
Timestamp:
01/13/08 12:24:39 (11 months ago)
Author:
cyrusdaboo
Message:

Support address book queries on multiple fields in a single request.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Mulberry/branches/v4.1d1/Sources_Common/Mail/AddressBook/CAddressBookManager.cp

    r96 r149  
    913913void CAddressBookManager::SearchAddress(const cdstring& name, CAdbkAddress::EAddressMatch match, CAdbkAddress::EAddressField field, CAddressList& results) 
    914914{ 
     915        // Search 
     916        CAdbkAddress::CAddressFields fields; 
     917        fields.push_back(field); 
     918        SearchAddress(name, match, fields, results); 
     919} 
     920 
     921// Do search 
     922void CAddressBookManager::SearchAddress(const cdstring& name, CAdbkAddress::EAddressMatch match, const CAdbkAddress::CAddressFields& fields, CAddressList& results) 
     923{ 
    915924        // Look through all address books 
    916925        for(CAddressBookList::const_iterator iter = mAdbkSearch.begin(); iter != mAdbkSearch.end(); iter++) 
     
    922931#endif 
    923932 
    924                 (*iter)->SearchAddress(name, match, field, results); 
     933                (*iter)->SearchAddress(name, match, fields, results); 
    925934        } 
    926935} 
     
    11951204                        // See if it exists 
    11961205                        CAddressList found; 
    1197                         adbk->SearchAddress(email, CAdbkAddress::eMatchExactly, CAdbkAddress::eEmail, found); 
     1206                        CAdbkAddress::CAddressFields fields; 
     1207                        fields.push_back(CAdbkAddress::eEmail); 
     1208                        adbk->SearchAddress(email, CAdbkAddress::eMatchExactly, fields, found); 
    11981209                         
    11991210                        // If its empty then do capture