2019-08-15 21:13:24 +03:00

106 lines
5.4 KiB
Objective-C
Executable File

//
// NBPhoneMetaData.m
// libPhoneNumber
//
//
#import "NBPhoneMetaData.h"
#import "NBPhoneNumberDesc.h"
#import "NBNumberFormat.h"
@implementation NBPhoneMetaData
- (id)init
{
self = [super init];
if (self) {
_numberFormats = [[NSMutableArray alloc] init];
_intlNumberFormats = [[NSMutableArray alloc] init];
_leadingZeroPossible = NO;
_mainCountryForCode = NO;
}
return self;
}
- (NSString *)description
{
return [NSString stringWithFormat:@"* codeID[%@] countryCode[%@] generalDesc[%@] fixedLine[%@] mobile[%@] tollFree[%@] premiumRate[%@] sharedCost[%@] personalNumber[%@] voip[%@] pager[%@] uan[%@] emergency[%@] voicemail[%@] noInternationalDialling[%@] internationalPrefix[%@] preferredInternationalPrefix[%@] nationalPrefix[%@] preferredExtnPrefix[%@] nationalPrefixForParsing[%@] nationalPrefixTransformRule[%@] sameMobileAndFixedLinePattern[%@] numberFormats[%@] intlNumberFormats[%@] mainCountryForCode[%@] leadingDigits[%@] leadingZeroPossible[%@]",
_codeID, _countryCode, _generalDesc, _fixedLine, _mobile, _tollFree, _premiumRate, _sharedCost, _personalNumber, _voip, _pager, _uan, _emergency, _voicemail, _noInternationalDialling, _internationalPrefix, _preferredInternationalPrefix, _nationalPrefix, _preferredExtnPrefix, _nationalPrefixForParsing, _nationalPrefixTransformRule, _sameMobileAndFixedLinePattern?@"Y":@"N", _numberFormats, _intlNumberFormats, _mainCountryForCode?@"Y":@"N", _leadingDigits, _leadingZeroPossible?@"Y":@"N"];
}
- (id)initWithCoder:(NSCoder*)coder
{
if (self = [super init]) {
_generalDesc = [coder decodeObjectForKey:@"generalDesc"];
_fixedLine = [coder decodeObjectForKey:@"fixedLine"];
_mobile = [coder decodeObjectForKey:@"mobile"];
_tollFree = [coder decodeObjectForKey:@"tollFree"];
_premiumRate = [coder decodeObjectForKey:@"premiumRate"];
_sharedCost = [coder decodeObjectForKey:@"sharedCost"];
_personalNumber = [coder decodeObjectForKey:@"personalNumber"];
_voip = [coder decodeObjectForKey:@"voip"];
_pager = [coder decodeObjectForKey:@"pager"];
_uan = [coder decodeObjectForKey:@"uan"];
_emergency = [coder decodeObjectForKey:@"emergency"];
_voicemail = [coder decodeObjectForKey:@"voicemail"];
_noInternationalDialling = [coder decodeObjectForKey:@"noInternationalDialling"];
_codeID = [coder decodeObjectForKey:@"codeID"];
_countryCode = [coder decodeObjectForKey:@"countryCode"];
_internationalPrefix = [coder decodeObjectForKey:@"internationalPrefix"];
_preferredInternationalPrefix = [coder decodeObjectForKey:@"preferredInternationalPrefix"];
_nationalPrefix = [coder decodeObjectForKey:@"nationalPrefix"];
_preferredExtnPrefix = [coder decodeObjectForKey:@"preferredExtnPrefix"];
_nationalPrefixForParsing = [coder decodeObjectForKey:@"nationalPrefixForParsing"];
_nationalPrefixTransformRule = [coder decodeObjectForKey:@"nationalPrefixTransformRule"];
_sameMobileAndFixedLinePattern = [[coder decodeObjectForKey:@"sameMobileAndFixedLinePattern"] boolValue];
_numberFormats = [coder decodeObjectForKey:@"numberFormats"];
_intlNumberFormats = [coder decodeObjectForKey:@"intlNumberFormats"];
_mainCountryForCode = [[coder decodeObjectForKey:@"mainCountryForCode"] boolValue];
_leadingDigits = [coder decodeObjectForKey:@"leadingDigits"];
_leadingZeroPossible = [[coder decodeObjectForKey:@"leadingZeroPossible"] boolValue];
}
return self;
}
- (void)encodeWithCoder:(NSCoder*)coder
{
[coder encodeObject:_generalDesc forKey:@"generalDesc"];
[coder encodeObject:_fixedLine forKey:@"fixedLine"];
[coder encodeObject:_mobile forKey:@"mobile"];
[coder encodeObject:_tollFree forKey:@"tollFree"];
[coder encodeObject:_premiumRate forKey:@"premiumRate"];
[coder encodeObject:_sharedCost forKey:@"sharedCost"];
[coder encodeObject:_personalNumber forKey:@"personalNumber"];
[coder encodeObject:_voip forKey:@"voip"];
[coder encodeObject:_pager forKey:@"pager"];
[coder encodeObject:_uan forKey:@"uan"];
[coder encodeObject:_emergency forKey:@"emergency"];
[coder encodeObject:_voicemail forKey:@"voicemail"];
[coder encodeObject:_noInternationalDialling forKey:@"noInternationalDialling"];
[coder encodeObject:_codeID forKey:@"codeID"];
[coder encodeObject:_countryCode forKey:@"countryCode"];
[coder encodeObject:_internationalPrefix forKey:@"internationalPrefix"];
[coder encodeObject:_preferredInternationalPrefix forKey:@"preferredInternationalPrefix"];
[coder encodeObject:_nationalPrefix forKey:@"nationalPrefix"];
[coder encodeObject:_preferredExtnPrefix forKey:@"preferredExtnPrefix"];
[coder encodeObject:_nationalPrefixForParsing forKey:@"nationalPrefixForParsing"];
[coder encodeObject:_nationalPrefixTransformRule forKey:@"nationalPrefixTransformRule"];
[coder encodeObject:[NSNumber numberWithBool:_sameMobileAndFixedLinePattern] forKey:@"sameMobileAndFixedLinePattern"];
[coder encodeObject:_numberFormats forKey:@"numberFormats"];
[coder encodeObject:_intlNumberFormats forKey:@"intlNumberFormats"];
[coder encodeObject:[NSNumber numberWithBool:_mainCountryForCode] forKey:@"mainCountryForCode"];
[coder encodeObject:_leadingDigits forKey:@"leadingDigits"];
[coder encodeObject:[NSNumber numberWithBool:_leadingZeroPossible] forKey:@"leadingZeroPossible"];
}
@end