1
2
3
4
5
6
7
8
9
10
11
12
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-
+
-
+
|
/*
* Copyright (c) 2011, Jonathan Schleifer <js@webkeks.org>
* Copyright (c) 2011, 2012, 2013, 2016, Jonathan Schleifer <js@heap.zone>
* Copyright (c) 2012, Florian Zeitz <florob@babelmonkeys.de>
*
* https://webkeks.org/git/?p=objxmpp.git
* https://heap.zone/git/?p=objxmpp.git
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice is present in all copies.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
+
+
+
|
#import "XMPPConnection.h"
#import "XMPPIQ.h"
#import "XMPPJID.h"
#import "XMPPMulticastDelegate.h"
#import "namespaces.h"
@implementation XMPPRoster
@synthesize connection = _connection, dataStorage = _dataStorage;
@synthesize rosterItems = _rosterItems;
- initWithConnection: (XMPPConnection*)connection
{
self = [super init];
@try {
_rosterItems = [[OFMutableDictionary alloc] init];
_connection = connection;
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-
-
-
-
-
|
[_connection removeDelegate: self];
[_delegates release];
[_rosterItems release];
[super dealloc];
}
- (OFDictionary*)rosterItems
{
return [[_rosterItems copy] autorelease];
}
- (void)requestRoster
{
XMPPIQ *iq;
OFXMLElement *query;
_rosterRequested = true;
|