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); }
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); }