This commit is contained in:
giuseppenuc committed 2016-02-24 16:56:39 +01:00
1 parent d281d765ea
commit 5b074a5176
1261 files changed
+199158 -7303

No files matched your search

@@ -0,0 +1,39 @@
#import <Foundation/Foundation.h>
#if TARGET_OS_IPHONE
#import "DDXML.h"
#endif
@class XMPPIQ;
@class XMPPMessage;
@class XMPPPresence;
@interface NSXMLElement (XEP_0297)
#pragma mark Forwarded Stanza
- (NSXMLElement *)forwardedStanza;
- (BOOL)hasForwardedStanza;
- (BOOL)isForwardedStanza;
#pragma mark Delayed Delivery Date
- (NSDate *)forwardedStanzaDelayedDeliveryDate;
#pragma mark XMPPElement
- (XMPPIQ *)forwardedIQ;
- (BOOL)hasForwardedIQ;
- (XMPPMessage *)forwardedMessage;
- (BOOL)hasForwardedMessage;
- (XMPPPresence *)forwardedPresence;
- (BOOL)hasForwardedPresence;
@end
+138
View File
@@ -0,0 +1,138 @@
#import "NSXMLElement+XEP_0297.h"
#import "NSXMLElement+XMPP.h"
#import "NSXMLElement+XEP_0203.h"
#import "XMPPIQ.h"
#import "XMPPMessage.h"
#import "XMPPPresence.h"
#if ! __has_feature(objc_arc)
#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
#endif
#define NAME_XMPP_STANZA_FORWARDING @"forwarded"
#define XMLNS_XMPP_STANZA_FORWARDING @"urn:xmpp:forward:0"
@implementation NSXMLElement (XEP_0297)
#pragma mark Forwarded Stanza
- (NSXMLElement *)forwardedStanza
{
return [self elementForName:NAME_XMPP_STANZA_FORWARDING xmlns:XMLNS_XMPP_STANZA_FORWARDING];
}
- (BOOL)hasForwardedStanza
{
if([self forwardedStanza])
{
return YES;
}
else
{
return NO;
}
}
- (BOOL)isForwardedStanza
{
if([[self name] isEqualToString:NAME_XMPP_STANZA_FORWARDING] && [[self xmlns] isEqualToString:XMLNS_XMPP_STANZA_FORWARDING])
{
return YES;
}
else
{
return NO;
}
}
#pragma mark Delayed Delivery Date
- (NSDate *)forwardedStanzaDelayedDeliveryDate
{
if([self isForwardedStanza])
{
return [self delayedDeliveryDate];
}
else
{
return [[self forwardedStanza] delayedDeliveryDate];
}
}
#pragma mark XMPPElement
- (XMPPIQ *)forwardedIQ
{
if([self isForwardedStanza])
{
return [XMPPIQ iqFromElement:[self elementForName:@"iq"]];
}
else
{
return [XMPPIQ iqFromElement:[[self forwardedStanza] elementForName:@"iq"]];
}
}
- (BOOL)hasForwardedIQ
{
if([self forwardedIQ])
{
return YES;
}
else
{
return NO;
}
}
- (XMPPMessage *)forwardedMessage
{
if([self isForwardedStanza])
{
return [XMPPMessage messageFromElement:[self elementForName:@"message"]];
}
else
{
return [XMPPMessage messageFromElement:[[self forwardedStanza] elementForName:@"message"]];
}
}
- (BOOL)hasForwardedMessage
{
if([self forwardedMessage])
{
return YES;
}
else
{
return NO;
}
}
- (XMPPPresence *)forwardedPresence
{
if([self isForwardedStanza])
{
return [XMPPPresence presenceFromElement:[self elementForName:@"presence"]];
}
else
{
return [XMPPPresence presenceFromElement:[[self forwardedStanza] elementForName:@"presence"]];
}
}
- (BOOL)hasForwardedPresence
{
if([self forwardedPresence])
{
return YES;
}
else
{
return NO;
}
}
@end