Пример #1
0
 static public void Unregister(IEventsListener listener, params Enum[] events)
 {
     if (listener != null)
     {
         Instance.Unregister_Internal(listener, events);
     }
 }
Пример #2
0
 public void AddListener(IEventsListener listener)
 {
     if (listener != null)
     {
         listeners.Add(listener);
     }
 }
Пример #3
0
 static public void Register(IEventsListener listener, Enum[] events)
 {
     if (listener != null)
     {
         Instance.Register_Internal(listener, events);
     }
 }
Пример #4
0
 static public void Unregister(IEventsListener <Enum> listener, params Enum[] events)
 {
     if (listener != null)
     {
         Instance.m_eventsHandler.Unregister(listener, events);
     }
 }
Пример #5
0
        public NetRabbitSubscription(
            IRabbitMqConnection connectionManager,
            IDeadLetterQueueFactory deadLetterQueue,
            IEventsListener eventsListener,
            IOptions <NetRabbitConfiguration> options,
            ILogger <NetRabbitSubscription> logger)
        {
            this.connectionManager = connectionManager ?? throw new ArgumentNullException(nameof(connectionManager));
            this.deadLetterQueue   = deadLetterQueue ?? throw new ArgumentNullException(nameof(deadLetterQueue));
            this.eventsListener    = eventsListener ?? throw new ArgumentNullException(nameof(eventsListener));

            this.options = options.Value ?? throw new ArgumentNullException(nameof(options));
            this.logger  = logger ?? throw new ArgumentNullException(nameof(logger));
        }
Пример #6
0
    public void Unregister(IEventsListener <T> listener, T[] events)
    {
        for (int i = 0; i < events.Length; ++i)
        {
            T eventType = events[i];

            int eventID = GetEventID(eventType);

            int listenerPlaceInList = m_listeners[eventID].Find(listener);

            if (listenerPlaceInList != -1)
            {
                m_listeners[eventID].RemoveSwapLast(listenerPlaceInList);
            }
        }
    }
Пример #7
0
    private void Unregister_Internal(IEventsListener listener, Enum[] events)
    {
        for (int i = 0; i < events.Length; ++i)
        {
            Enum eventType = events[i];

            int eventID = GetEventID(eventType);

            int listenerPlaceInList = m_listeners[eventID].Find(listener);

            if (listenerPlaceInList != -1)
            {
                m_listeners[eventID].RemoveSwapLast(listenerPlaceInList);
            }
        }
    }
Пример #8
0
    public void Register(IEventsListener <T> listener, T[] events)
    {
        for (int i = 0; i < events.Length; ++i)
        {
            T eventType = events[i];

            int eventID = GetEventID(eventType);

            if (!m_listeners.ContainsKey(eventID))
            {
                m_events.Add(eventType);
                m_listeners[eventID] = new List <IEventsListener <T> >();
            }
            else if (m_listeners[eventID].Contains(listener))
            {
                continue;
            }

            m_listeners[eventID].Add(listener);
        }
    }
Пример #9
0
    private void Register_Internal(IEventsListener listener, Enum[] events)
    {
        for (int i = 0; i < events.Length; ++i)
        {
            Enum eventType = events[i];

            int eventID = GetEventID(eventType);

            if (!m_listeners.ContainsKey(eventID))
            {
                m_events.Add(eventType);
                m_listeners[eventID] = new List <IEventsListener>();
            }
            else if (m_listeners[eventID].Contains(listener))
            {
                continue;
            }

            m_listeners[eventID].Add(listener);
        }
    }