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/Address/CGroup.cp

    r19 r149  
    9090 
    9191// Compare specific field 
    92 bool CGroup::Search(const cdstring& text, CAdbkAddress::EAddressField field) const 
     92bool CGroup::Search(const cdstring& text, const CAdbkAddress::CAddressFields& fields) const 
    9393{ 
    9494        bool result = false; 
    9595 
    96         switch(field) 
     96        for(CAdbkAddress::CAddressFields::const_iterator iter = fields.begin(); iter != fields.end(); iter++) 
    9797        { 
    98         case CAdbkAddress::eName: 
    99                 result = GetName().PatternMatch(text); 
    100                 break; 
    101         case CAdbkAddress::eNickName: 
    102                 result = GetNickName().PatternMatch(text); 
    103                 break; 
    104         default:; 
     98                switch(*iter) 
     99                { 
     100                case CAdbkAddress::eName: 
     101                        result = GetName().PatternMatch(text); 
     102                        break; 
     103                case CAdbkAddress::eNickName: 
     104                        result = GetNickName().PatternMatch(text); 
     105                        break; 
     106                default:; 
     107                } 
     108                 
     109                if (result) 
     110                        break; 
    105111        } 
    106112