Developer Area

Changeset 394 for apps/iphone/superbook

Show
Ignore:
Timestamp:
06/11/09 18:30:07 (5 years ago)
Author:
henri
Message:

Added country code mapping and refactored naptr/txt mappings to use plists

Location:
apps/iphone/superbook/trunk
Files:
2 added
1 modified

Legend:

Unmodified
Added
Removed
  • apps/iphone/superbook/trunk/Classes/DotTelABMapper.m

    r389 r394  
    7676static NSDictionary *naptrSelectors; 
    7777static NSDictionary *txtSelectors; 
     78static NSDictionary *ccMapper; 
    7879 
    7980@implementation DotTelABMapper 
     
    9697        updatedProperties = [[NSMutableArray array] retain]; 
    9798         
    98         txtSelectors = [NSDictionary dictionaryWithObjectsAndKeys: 
    99                                         @"setTxtNL:", @"nl", 
    100                                         @"setTxtNL:", @"fn", 
    101                                         @"setTxtNL:", @"ln", 
    102                                         @"setTxtNL:", @"nn", 
    103                                         @"setTxtNL:", @"s", 
    104                                         @"setTxtBI:", @"bi", 
    105                                         @"setTxtPA:", @"pa", 
    106                                         @"setTxtPA:", @"bpa", 
    107                                         @"setTxtPA:", @"a1", 
    108                                         @"setTxtPA:", @"a2", 
    109                                         @"setTxtPA:", @"a3", 
    110                                         @"setTxtPA:", @"tc", 
    111                                         @"setTxtPA:", @"sp", 
    112                                         @"setTxtPA:", @"pc", 
    113                                         @"setTxtPA:", @"c", 
    114                                         nil]; 
    115         naptrSelectors = [NSDictionary dictionaryWithObjectsAndKeys: 
    116                                           @"setNaptrUrlOther:", @"sip", 
    117                                           @"setNaptrUrlOther:", @"h323", 
    118                                           @"setNaptrPhone:", @"voice:tel", 
    119                                           @"setNaptrNone:", @"sms:tel", 
    120                                           @"setNaptrNone:", @"ems:tel", 
    121                                           @"setNaptrNone:", @"mms:tel", 
    122                                           @"setNaptrEmail:", @"sms:mailto", 
    123                                           @"setNaptrEmail:", @"ems:mailto", 
    124                                           @"setNaptrEmail:", @"mms:mailto", 
    125                                           @"setNaptrEmail:", @"email:mailto", 
    126                                           @"setNaptrUrl:", @"web:http", 
    127                                           @"setNaptrUrl:", @"web:https", 
    128                                           @"setNaptrUrl:", @"ft:ftp", 
    129                                           @"setNaptrFax:", @"fax:tel", 
    130                                           @"setNaptrIM:", @"x-voice:aim", 
    131                                           @"setNaptrIM:", @"x-voice:msn", 
    132                                           @"setNaptrIM:", @"x-voice:ymsgr", 
    133                                           @"setNaptrIM:", @"x-voice:gtalk", 
    134                                           @"setNaptrIM:", @"x-voice:skype", 
    135                                           @"setNaptrIM:", @"x-im:aim", 
    136                                           @"setNaptrIM:", @"x-im:icq", 
    137                                           @"setNaptrIM:", @"x-im:ymsgr", 
    138                                           @"setNaptrIM:", @"x-im:msnim", 
    139                                           @"setNaptrIM:", @"x-im:xmpp", 
    140                                           @"setNaptrIM:", @"x-im:skype", 
    141                                           nil]; 
     99        NSDictionary *selectorsMapper = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ABMapperSelectors" 
     100                                                                                                                                                                                                                           ofType:@"plist"]]; 
     101        txtSelectors    = [[selectorsMapper objectForKey:@"txt"] retain]; 
     102        naptrSelectors  = [[selectorsMapper objectForKey:@"naptr"] retain]; 
     103        ccMapper = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"CountryCodeMapper" 
     104                                                                                                                                                                                  ofType:@"plist"]]; 
    142105        return self; 
    143106} 
     
    587550                if ([k isEqualToString:@"c"]) { // kABPersonAddressCountryKey 
    588551                        [newAddress setObject:v forKey:(NSString *)kABPersonAddressCountryKey]; 
     552                        NSString *countryCode = [ccMapper objectForKey:v]; 
     553                        if (countryCode) { 
     554                                [newAddress setObject:countryCode forKey:(NSString *)kABPersonAddressCountryCodeKey]; 
     555                        } 
    589556                        continue; 
    590557                } 
     
    650617- (void)dealloc { 
    651618        CFRelease(abRecord); 
     619        [naptrSelectors release]; 
     620        [txtSelectors release]; 
    652621        [super dealloc]; 
    653622} 
Telnic
Search This Site
Partners
Neustar
ICANN
Main site | WHOIS | Sell .tel | FAQ | Archived Site | About Telnic | Contact Us