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