Exemple #1
0
    /// <summary>
    /// Removes a message handler. The event will no longer be invoked when this connector receives the message <see cref="DznMessageReceiver.DznMessageHandler.Message"/>.
    /// </summary>
    /// <param name="messageHandler">Message handler to unsubscribe.</param>
    public void Unsubscribe(DznMessageReceiver.DznMessageHandler messageHandler)
    {
        List <DznMessageReceiver.DznMessageHandler> evt;

        string message = CaseSensitive ? messageHandler.Message : messageHandler.Message.ToLowerInvariant();

        if (events.TryGetValue(message, out evt))
        {
            evt.Remove(messageHandler);
        }
    }
Exemple #2
0
    /// <summary>
    /// Adds a message handler. <see cref="DznMessageReceiver.DznMessageHandler.Event"/> is invoked when this connector receives the message <see cref="DznMessageReceiver.DznMessageHandler.Message"/>.
    /// The message is case sensitive if <see cref="CaseSensitive"/> is set.
    /// </summary>
    /// <param name="messageHandler">Message handler to subscribe.</param>
    public void Subscribe(DznMessageReceiver.DznMessageHandler messageHandler)
    {
        string message = CaseSensitive ? messageHandler.Message : messageHandler.Message.ToLowerInvariant();

        if (!events.ContainsKey(message))
        {
            events.Add(message, new List <DznMessageReceiver.DznMessageHandler>());
        }

        events[message].Add(messageHandler);
    }