jabber.connection.ItemList.Add C# (CSharp) Method

Add() public method

Adds to the end of the list, replacing any item with the same ID, or bumping the oldest item if the list is full.
public Add ( object value ) : int
value object PubSubItem to add to the list.
return int
        public override int Add(object value)
        {
            PubSubItem item = value as PubSubItem;
            if (item == null)
                throw new ArgumentException("Must be an XmlElement", "value");
            string id = item.ID;
            int i;
            if (id == null)
            {
                if (Count == Capacity)
                {
                    RemoveAt(0);
                }
                i = base.Add(value);
                m_node.ItemAdded(item);
                return i;
            }

            // RemoveId(id);
            if (!m_index.Contains(id) && (Count == Capacity))
                RemoveAt(0);

            i = base.Add(value);
            m_index[id] = i;
            m_node.ItemAdded(item);
            return i;
        }

Usage Example

Example #1
0
        private void GotItems(object sender, IQ iq, object state)
        {
            if (iq.Type != IQType.result)
            {
                FireError(Op.ITEMS, "Error retrieving items", iq);
                return;
            }

            PubSub ps = iq["pubsub", URI.PUBSUB] as PubSub;

            if (ps == null)
            {
                FireError(Op.ITEMS, "Invalid pubsub protocol", iq);
                return;
            }
            PubSubItemCommand items = ps["items", URI.PUBSUB] as PubSubItemCommand;

            if (items == null)
            {
                // That doesn't really hurt us, I guess.  No items.  Keep going.
                this[Op.ITEMS] = STATE.Running;
                return;
            }

            if (items.Node != m_node)
            {
                FireError(Op.ITEMS, "Non-matching node.  Probably a server bug.", iq);
                return;
            }

            foreach (PubSubItem item in items.GetItems())
            {
                m_items.Add(item);
            }

            this[Op.ITEMS] = STATE.Running;
        }
All Usage Examples Of jabber.connection.ItemList::Add