ObjXMPP  Diff

Differences From Artifact [025bb21619]:

To Artifact [1fa0d01ca6]:


301
302
303
304
305
306
307
308
309


310
311
312
313
314
315

316
317
318

319
320
321
322
323
324
325
301
302
303
304
305
306
307


308
309
310
311
312
313
314

315
316
317

318
319
320
321
322
323
324
325







-
-
+
+





-
+


-
+








	if ([groups count] > 0)
		[rosterItem setGroups: groups];

	return rosterItem;
}

- (void)XMPP_handleInitialRosterForConnection: (XMPPConnection*)connection_
					   IQ: (XMPPIQ*)iq
- (void)XMPP_handleInitialRosterForConnection: (XMPPConnection*)connection
					   IQ: (XMPPIQ*)IQ
{
	OFXMLElement *rosterElement;
	OFEnumerator *enumerator;
	OFXMLElement *element;

	rosterElement = [iq elementForName: @"query"
	rosterElement = [IQ elementForName: @"query"
				 namespace: XMPP_NS_ROSTER];

	if ([_connection supportsRosterVersioning]) {
	if ([connection supportsRosterVersioning]) {
		if (rosterElement == nil) {
			OFDictionary *items = [_dataStorage
			    dictionaryForPath: @"roster.items"];
			OFEnumerator *enumerator = [items objectEnumerator];
			OFDictionary *item;

			while ((item = [enumerator nextObject]) != nil) {
357
358
359
360
361
362
363
364

365
366
367
368
369
370
371
372
373
374
375
357
358
359
360
361
362
363

364
365
366
367
368
369
370
371
372
373
374
375







-
+











		pool = [OFAutoreleasePool new];
		rosterItem = [self XMPP_rosterItemWithXMLElement: element];

		[self XMPP_updateRosterItem: rosterItem];
		[pool release];
	}

	if ([_connection supportsRosterVersioning] && rosterElement != nil) {
	if ([connection supportsRosterVersioning] && rosterElement != nil) {
		OFString *ver =
		    [[rosterElement attributeForName: @"ver"] stringValue];
		[_dataStorage setStringValue: ver
				     forPath: @"roster.ver"];
		[_dataStorage save];
	}

	[_delegates broadcastSelector: @selector(rosterWasReceived:)
			   withObject: self];
}
@end