Exemple #1
0
        internal int AddEntryListener(EntryListener listener)
        {
            for (int i = 0; i < listeners.Count; i++)
            {
                if (listeners[i] == null)
                {
                    listeners[i] = listener;
                    return(i);
                }
            }

            listeners.Add(listener);
            return(listeners.Count - 1);
        }
Exemple #2
0
            public int Add(string prefix, EntryListenerCallback callback, NotifyFlags flags)
            {
                int uid;
                var listener = new EntryListener(prefix, callback, flags);

                if (m_free.Count == 0)
                {
                    uid = m_list.Count;
                    m_list.Add(listener);
                }
                else
                {
                    uid         = m_free.Dequeue();
                    m_list[uid] = listener;
                }
                return(uid + 1);
            }