- Update
This commit is contained in:
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
|
||||
@@ -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
|
||||
Reference in new issue
Block a user