ObjXMPP  Check-in [b649d4350d]

Overview
Comment:XMPPContactManager: Remove contact from store after broadcasting the selector
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b649d4350d648e9c45d9237cddf24e6f22ec6c5d929cb8e478b719860ed872fc
User & Date: florob@babelmonkeys.de on 2013-06-09 18:21:20
Other Links: manifest | tags
Context
2013-06-09
18:26
XMPPContactManager: Support for handling subscription requests check-in: 9d9f036640 user: florob@babelmonkeys.de tags: trunk
18:21
XMPPContactManager: Remove contact from store after broadcasting the selector check-in: b649d4350d user: florob@babelmonkeys.de tags: trunk
10:54
XMPPContactManager: Indentation fixes check-in: 46102a816a user: florob@babelmonkeys.de tags: trunk
Changes

Modified src/XMPPContactManager.m from [77eaa185c9] to [bc5cb3a56e].

111
112
113
114
115
116
117
118
119
120
121
122
123

124
125
126
127
128
129
130
111
112
113
114
115
116
117

118
119
120
121
122
123
124
125
126
127
128
129
130







-





+







{
	XMPPContact *contact;
	OFString *bareJID = [[rosterItem JID] bareJID];

	contact = [_contacts objectForKey: bareJID];

	if ([[rosterItem subscription] isEqual: @"remove"]) {
		[_contacts removeObjectForKey: bareJID];
		if (contact != nil)
			[_delegates broadcastSelector: @selector(contactManager:
							   didRemoveContact:)
					   withObject: self
					   withObject: contact];
		[_contacts removeObjectForKey: bareJID];
		return;
	}

	if (contact == nil) {
		contact = [[XMPPContact new] autorelease];
		[contact XMPP_setRosterItem: rosterItem];
		[_contacts setObject: contact