Summary description for EventListenerMapEntry.
Example #1
0
        public void AddEventListener(
			string namespaceUri,
			string eventType,
			object eventGroup,
			EventListener listener)
        {
            EventListenerMapEntry[] entries = GrowBy(1);

            for (int i = 0; i < count; i++)
            {
                if (namespaceUri != entries[i].NamespaceUri)
                {
                    continue;
                }

                if (eventType != entries[i].Type)
                {
                    continue;
                }

                if (listener == entries[i].Listener)
                {
                    return;
                }
            }

            entries[count] = new EventListenerMapEntry(
                namespaceUri, eventType, eventGroup, listener, locked);

            count++;
        }
Example #2
0
        public void RemoveEventListener(
            string namespaceUri,
            string eventType,
            EventListener listener)
        {
            if (entries == null)
            {
                return;
            }

            for (int i = 0; i < count; i++)
            {
                if (namespaceUri != entries[i].NamespaceUri)
                {
                    continue;
                }

                if (eventType != entries[i].Type)
                {
                    continue;
                }

                if (listener == entries[i].Listener)
                {
                    count--;
                    entries[i]     = entries[count];
                    entries[count] = new EventListenerMapEntry();

                    return;
                }
            }
        }
Example #3
0
        public void AddEventListener(
            string namespaceUri,
            string eventType,
            object eventGroup,
            EventListener listener)
        {
            EventListenerMapEntry[] entries = GrowBy(1);

            for (int i = 0; i < count; i++)
            {
                if (namespaceUri != entries[i].NamespaceUri)
                {
                    continue;
                }

                if (eventType != entries[i].Type)
                {
                    continue;
                }

                if (listener == entries[i].Listener)
                {
                    return;
                }
            }

            entries[count] = new EventListenerMapEntry(
                namespaceUri, eventType, eventGroup, listener, locked);

            count++;
        }
Example #4
0
        private EventListenerMapEntry[] GrowBy(
            int growth)
        {
            if (entries == null)
            {
                entries = new EventListenerMapEntry[
                    growth * GrowthFactor + GrowthBuffer];

                this.count  = 0;
                this.locked = false;

                return(entries);
            }

            int newCount = count + growth;

            if (newCount > entries.Length)
            {
                newCount = newCount * GrowthFactor + GrowthBuffer;

                EventListenerMapEntry[] newEntries =
                    new EventListenerMapEntry[newCount];

                Array.Copy(entries, 0, newEntries, 0, entries.Length);

                entries = newEntries;
            }

            return(entries);
        }
Example #5
0
        private EventListenerMapEntry[] GrowBy(
			int growth)
        {
            if (entries == null)
            {
                entries = new EventListenerMapEntry[
                    growth * GrowthFactor + GrowthBuffer];

                this.count = 0;
            this.locked = false;

                return entries;
            }

            int newCount = count + growth;

            if (newCount > entries.Length)
            {
                newCount = newCount * GrowthFactor + GrowthBuffer;

                EventListenerMapEntry[] newEntries =
                    new EventListenerMapEntry[newCount];

                Array.Copy(entries, 0, newEntries, 0, entries.Length);

                entries = newEntries;
            }

            return entries;
        }
Example #6
0
        public void RemoveEventListener(
			string namespaceUri,
			string eventType,
			EventListener listener)
        {
            if (entries == null)
            {
                return;
            }

            for (int i = 0; i < count; i++)
            {
                if (namespaceUri != entries[i].NamespaceUri)
                {
                    continue;
                }

                if (eventType != entries[i].Type)
                {
                    continue;
                }

                if (listener == entries[i].Listener)
                {
                    count--;
                    entries[i] = entries[count];
                    entries[count] = new EventListenerMapEntry();

                    return;
                }
            }
        }