コード例 #1
0
        /// <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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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
                                         ));
                }
            }
        }