/// <summary> /// Handles a change in the contact list when the event is sent by the XMPP client. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RosterUpdatedEventArgs"/> instance containing the event data.</param> private void LibClient_RosterUpdated(object sender, RosterUpdatedEventArgs e) { Task task = new Task(delegate { ContactsSource.Center.UpdateList(e.Removed, e.Item); }); task.Start(); }
private void xmppClient_RosterUpdated(object sender, RosterUpdatedEventArgs e) { List <RosterItem> rosterItems = new List <RosterItem>(); RosterItem oldRosterItem = remoteRosterList.Where(w => w.Jid.GetBareJid() == e.Item.Jid.GetBareJid()).FirstOrDefault(); remoteRosterList.Remove(oldRosterItem); remoteRosterList.Add(e.Item); }
private void onRosterUpdated(object i_Sender, RosterUpdatedEventArgs i_Args) { if (m_IsCacheDirty) { refreshBuddyCache(); } else { m_BuddyCache.RemoveAll(item => item.Identity.Equals(i_Args.Item.Jid.ToIdentity())); if (!i_Args.Removed) { m_BuddyCache.Add(new BuddyListItem( i_Args.Item.Jid.ToIdentity(), i_Args.Item.Groups )); } } }