@@ -1,7 +1,8 @@ /* - * Copyright (c) 2011, 2012, 2013, 2016, 2019, Jonathan Schleifer + * Copyright (c) 2011, 2012, 2013, 2016, 2019, 2021, + * Jonathan Schleifer * Copyright (c) 2012, Florian Zeitz * * https://heap.zone/objxmpp/ * * Permission to use, copy, modify, and/or distribute this software for any @@ -89,25 +90,23 @@ XMPPIQ *IQ; OFXMLElement *query; _rosterRequested = true; - IQ = [XMPPIQ IQWithType: @"get" - ID: [_connection generateStanzaID]]; + IQ = [XMPPIQ IQWithType: @"get" ID: [_connection generateStanzaID]]; query = [OFXMLElement elementWithName: @"query" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; if (_connection.supportsRosterVersioning) { OFString *ver = [_dataStorage stringValueForPath: @"roster.ver"]; if (ver == nil) ver = @""; - [query addAttributeWithName: @"ver" - stringValue: ver]; + [query addAttributeWithName: @"ver" stringValue: ver]; } [IQ addChild: query]; [_connection sendIQ: IQ @@ -114,20 +113,18 @@ callbackTarget: self selector: @selector(xmpp_handleInitialRosterForConnection: IQ:)]; } -- (bool)connection: (XMPPConnection *)connection - didReceiveIQ: (XMPPIQ *)IQ +- (bool)connection: (XMPPConnection *)connection didReceiveIQ: (XMPPIQ *)IQ { OFXMLElement *rosterElement; OFXMLElement *element; XMPPRosterItem *rosterItem; OFString *origin; - rosterElement = [IQ elementForName: @"query" - namespace: XMPP_NS_ROSTER]; + rosterElement = [IQ elementForName: @"query" namespace: XMPPRosterNS]; if (rosterElement == nil) return false; if (![IQ.type isEqual: @"set"]) @@ -137,11 +134,11 @@ origin = IQ.from.fullJID; if (origin != nil && ![origin isEqual: connection.JID.bareJID]) return false; element = [rosterElement elementForName: @"item" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; if (element != nil) { rosterItem = [self xmpp_rosterItemWithXMLElement: element]; [_delegates broadcastSelector: @selector( @@ -153,12 +150,11 @@ } if (_connection.supportsRosterVersioning) { OFString *ver = [rosterElement attributeForName: @"ver"].stringValue; - [_dataStorage setStringValue: ver - forPath: @"roster.ver"]; + [_dataStorage setStringValue: ver forPath: @"roster.ver"]; [_dataStorage save]; } [connection sendStanza: [IQ resultIQ]]; @@ -173,23 +169,22 @@ - (void)updateRosterItem: (XMPPRosterItem *)rosterItem { XMPPIQ *IQ = [XMPPIQ IQWithType: @"set" ID: [_connection generateStanzaID]]; OFXMLElement *query = [OFXMLElement elementWithName: @"query" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; OFXMLElement *item = [OFXMLElement elementWithName: @"item" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; - [item addAttributeWithName: @"jid" - stringValue: rosterItem.JID.bareJID]; + [item addAttributeWithName: @"jid" stringValue: rosterItem.JID.bareJID]; if (rosterItem.name != nil) [item addAttributeWithName: @"name" stringValue: rosterItem.name]; for (OFString *group in rosterItem.groups) [item addChild: [OFXMLElement elementWithName: @"group" - namespace: XMPP_NS_ROSTER + namespace: XMPPRosterNS stringValue: group]]; [query addChild: item]; [IQ addChild: query]; @@ -199,18 +194,16 @@ - (void)deleteRosterItem: (XMPPRosterItem *)rosterItem { XMPPIQ *IQ = [XMPPIQ IQWithType: @"set" ID: [_connection generateStanzaID]]; OFXMLElement *query = [OFXMLElement elementWithName: @"query" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; OFXMLElement *item = [OFXMLElement elementWithName: @"item" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; - [item addAttributeWithName: @"jid" - stringValue: rosterItem.JID.bareJID]; - [item addAttributeWithName: @"subscription" - stringValue: @"remove"]; + [item addAttributeWithName: @"jid" stringValue: rosterItem.JID.bareJID]; + [item addAttributeWithName: @"subscription" stringValue: @"remove"]; [query addChild: item]; [IQ addChild: query]; [_connection sendStanza: IQ]; @@ -257,17 +250,15 @@ if ([rosterItem groups] != nil) [item setObject: rosterItem.groups forKey: @"groups"]; - [items setObject: item - forKey: rosterItem.JID.bareJID]; + [items setObject: item forKey: rosterItem.JID.bareJID]; } else [items removeObjectForKey: rosterItem.JID.bareJID]; - [_dataStorage setDictionary: items - forPath: @"roster.items"]; + [_dataStorage setDictionary: items forPath: @"roster.items"]; } if (![rosterItem.subscription isEqual: @"remove"]) [_rosterItems setObject: rosterItem forKey: rosterItem.JID.bareJID]; @@ -294,12 +285,11 @@ subscription = @"none"; rosterItem.subscription = subscription; for (OFXMLElement *groupElement in - [element elementsForName: @"group" - namespace: XMPP_NS_ROSTER]) + [element elementsForName: @"group" namespace: XMPPRosterNS]) [groups addObject: groupElement.stringValue]; if (groups.count > 0) rosterItem.groups = groups; @@ -308,11 +298,11 @@ - (void)xmpp_handleInitialRosterForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ { OFXMLElement *rosterElement = [IQ elementForName: @"query" - namespace: XMPP_NS_ROSTER]; + namespace: XMPPRosterNS]; if (connection.supportsRosterVersioning) { if (rosterElement == nil) { for (OFDictionary *item in [_dataStorage dictionaryForPath: @"roster.items"]) { @@ -340,11 +330,11 @@ for (OFXMLElement *element in rosterElement.children) { void *pool = objc_autoreleasePoolPush(); XMPPRosterItem *rosterItem; if (![element.name isEqual: @"item"] || - ![element.namespace isEqual: XMPP_NS_ROSTER]) + ![element.namespace isEqual: XMPPRosterNS]) continue; rosterItem = [self xmpp_rosterItemWithXMLElement: element]; [self xmpp_updateRosterItem: rosterItem]; @@ -353,14 +343,13 @@ } if (connection.supportsRosterVersioning && rosterElement != nil) { OFString *ver = [rosterElement attributeForName: @"ver"].stringValue; - [_dataStorage setStringValue: ver - forPath: @"roster.ver"]; + [_dataStorage setStringValue: ver forPath: @"roster.ver"]; [_dataStorage save]; } [_delegates broadcastSelector: @selector(rosterWasReceived:) withObject: self]; } @end