XMPPIQ+JabberRPC.h
2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// XMPPIQ+JabberRPC.h
// XEP-0009
//
// Created by Eric Chamberlain on 5/16/10.
//
#import <Foundation/Foundation.h>
#import "XMPPIQ.h"
@interface XMPPIQ(JabberRPC)
/**
* Creates and returns a new autoreleased XMPPIQ.
* This is the only method you normally need to call.
**/
+ (XMPPIQ *)rpcTo:(XMPPJID *)jid methodName:(NSString *)method parameters:(NSArray *)parameters;
#pragma mark -
#pragma mark Element helper methods
// returns a Jabber-RPC query elelement
// <query xmlns='jabber:iq:rpc'>
+(NSXMLElement *)elementRpcQuery;
// returns a Jabber-RPC methodCall element
// <methodCall>
+(NSXMLElement *)elementMethodCall;
// returns a Jabber-RPC methodName element
// <methodName>method</methodName>
+(NSXMLElement *)elementMethodName:(NSString *)method;
// returns a Jabber-RPC params element
// <params>
+(NSXMLElement *)elementParams;
#pragma mark -
#pragma mark Disco elements
// returns the Disco query identity element
// <identity category='automation' type='rpc'/>
+(NSXMLElement *)elementRpcIdentity;
// returns the Disco query feature element
// <feature var='jabber:iq:rpc'/>
+(NSXMLElement *)elementRpcFeature;
#pragma mark -
#pragma mark Conversion methods
// encode any object into JabberRPC formatted element
// this method calls the others
+(NSXMLElement *)paramElementFromObject:(id)object;
+(NSXMLElement *)valueElementFromObject:(id)object;
+(NSXMLElement *)valueElementFromArray:(NSArray *)array;
+(NSXMLElement *)valueElementFromDictionary:(NSDictionary *)dictionary;
+(NSXMLElement *)valueElementFromBoolean:(CFBooleanRef)boolean;
+(NSXMLElement *)valueElementFromNumber:(NSNumber *)number;
+(NSXMLElement *)valueElementFromString:(NSString *)string;
+(NSXMLElement *)valueElementFromDate:(NSDate *)date;
+(NSXMLElement *)valueElementFromData:(NSData *)data;
+(NSXMLElement *)valueElementFromElementWithName:(NSString *)elementName value:(NSString *)value;
#pragma mark Wrapper methods
+(NSXMLElement *)wrapElement:(NSString *)elementName aroundElement:(NSXMLElement *)element;
+(NSXMLElement *)wrapValueElementAroundElement:(NSXMLElement *)element;
@end