137 lines
2.9 KiB
Objective-C
137 lines
2.9 KiB
Objective-C
//
|
|
// XMPPvCardTempAdr.m
|
|
// XEP-0054 vCard-temp
|
|
//
|
|
// Created by Eric Chamberlain on 3/9/11.
|
|
// Copyright 2011 RF.com. All rights reserved.
|
|
// Copyright 2010 Martin Morrison. All rights reserved.
|
|
//
|
|
|
|
|
|
#import "XMPPvCardTempAdr.h"
|
|
#import "XMPPLogging.h"
|
|
|
|
#import <objc/runtime.h>
|
|
|
|
#if ! __has_feature(objc_arc)
|
|
#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
|
|
#endif
|
|
|
|
#if DEBUG
|
|
static const int xmppLogLevel = XMPP_LOG_LEVEL_ERROR;
|
|
#endif
|
|
|
|
|
|
@implementation XMPPvCardTempAdr
|
|
|
|
#if DEBUG
|
|
|
|
+ (void)initialize
|
|
{
|
|
// We use the object_setClass method below to dynamically change the class from a standard NSXMLElement.
|
|
// The size of the two classes is expected to be the same.
|
|
//
|
|
// If a developer adds instance methods to this class, bad things happen at runtime that are very hard to debug.
|
|
// This check is here to aid future developers who may make this mistake.
|
|
//
|
|
// For Fearless And Experienced Objective-C Developers:
|
|
// It may be possible to support adding instance variables to this class if you seriously need it.
|
|
// To do so, try realloc'ing self after altering the class, and then initialize your variables.
|
|
|
|
size_t superSize = class_getInstanceSize([NSXMLElement class]);
|
|
size_t ourSize = class_getInstanceSize([XMPPvCardTempAdr class]);
|
|
|
|
if (superSize != ourSize)
|
|
{
|
|
XMPPLogError(@"Adding instance variables to XMPPvCardTempAdr is not currently supported!");
|
|
|
|
[DDLog flushLog];
|
|
exit(15);
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
+ (XMPPvCardTempAdr *)vCardAdrFromElement:(NSXMLElement *)elem {
|
|
object_setClass(elem, [XMPPvCardTempAdr class]);
|
|
|
|
return (XMPPvCardTempAdr *)elem;
|
|
}
|
|
|
|
|
|
#pragma mark -
|
|
#pragma mark Getter/setter methods
|
|
|
|
|
|
- (NSString *)pobox {
|
|
return [[self elementForName:@"POBOX"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setPobox:(NSString *)pobox {
|
|
XMPP_VCARD_SET_STRING_CHILD(pobox, @"POBOX");
|
|
}
|
|
|
|
|
|
- (NSString *)extendedAddress {
|
|
return [[self elementForName:@"EXTADD"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setExtendedAddress:(NSString *)extadd {
|
|
XMPP_VCARD_SET_STRING_CHILD(extadd, @"EXTADD");
|
|
}
|
|
|
|
|
|
- (NSString *)street {
|
|
return [[self elementForName:@"STREET"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setStreet:(NSString *)street {
|
|
XMPP_VCARD_SET_STRING_CHILD(street, @"STREET");
|
|
}
|
|
|
|
|
|
- (NSString *)locality {
|
|
return [[self elementForName:@"LOCALITY"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setLocality:(NSString *)locality {
|
|
XMPP_VCARD_SET_STRING_CHILD(locality, @"LOCALITY");
|
|
}
|
|
|
|
|
|
- (NSString *)region {
|
|
return [[self elementForName:@"REGION"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setRegion:(NSString *)region {
|
|
XMPP_VCARD_SET_STRING_CHILD(region, @"REGION");
|
|
}
|
|
|
|
|
|
- (NSString *)postalCode {
|
|
return [[self elementForName:@"PCODE"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setPostalCode:(NSString *)pcode {
|
|
XMPP_VCARD_SET_STRING_CHILD(pcode, @"PCODE");
|
|
}
|
|
|
|
|
|
- (NSString *)country {
|
|
return [[self elementForName:@"CTRY"] stringValue];
|
|
}
|
|
|
|
|
|
- (void)setCountry:(NSString *)ctry {
|
|
XMPP_VCARD_SET_STRING_CHILD(ctry, @"CTRY");
|
|
}
|
|
|
|
|
|
@end
|