PNXMPPFramework/Extensions/XEP-0085/XMPPMessage+XEP_0085.m
2016-02-24 16:56:39 +01:00

70 lines
1.5 KiB
Objective-C

#import "XMPPMessage+XEP_0085.h"
#import "NSXMLElement+XMPP.h"
static NSString *const xmlns_chatstates = @"http://jabber.org/protocol/chatstates";
@implementation XMPPMessage (XEP_0085)
- (NSString *)chatState{
return [[[self elementsForXmlns:xmlns_chatstates] lastObject] name];
}
- (BOOL)hasChatState
{
return ([[self elementsForXmlns:xmlns_chatstates] count] > 0);
}
- (BOOL)hasActiveChatState
{
return ([self elementForName:@"active" xmlns:xmlns_chatstates] != nil);
}
- (BOOL)hasComposingChatState
{
return ([self elementForName:@"composing" xmlns:xmlns_chatstates] != nil);
}
- (BOOL)hasPausedChatState
{
return ([self elementForName:@"paused" xmlns:xmlns_chatstates] != nil);
}
- (BOOL)hasInactiveChatState
{
return ([self elementForName:@"inactive" xmlns:xmlns_chatstates] != nil);
}
- (BOOL)hasGoneChatState
{
return ([self elementForName:@"gone" xmlns:xmlns_chatstates] != nil);
}
- (void)addActiveChatState
{
[self addChild:[NSXMLElement elementWithName:@"active" xmlns:xmlns_chatstates]];
}
- (void)addComposingChatState
{
[self addChild:[NSXMLElement elementWithName:@"composing" xmlns:xmlns_chatstates]];
}
- (void)addPausedChatState
{
[self addChild:[NSXMLElement elementWithName:@"paused" xmlns:xmlns_chatstates]];
}
- (void)addInactiveChatState
{
[self addChild:[NSXMLElement elementWithName:@"inactive" xmlns:xmlns_chatstates]];
}
- (void)addGoneChatState
{
[self addChild:[NSXMLElement elementWithName:@"gone" xmlns:xmlns_chatstates]];
}
@end