public override void ReceiveMessage(ICommunicationParticipant sender, object message) { if (message is OrchestrationRegistration) { Register((message as OrchestrationRegistration).Registrer); } }
public override void ReceiveMessage(ICommunicationParticipant sender, object message) { if (message is InitiateListeningMessage) { _isDetectElement = true; } else if (message is SuspendListeningMessage) { _isDetectElement = false; } }
public void SendMessage(ICommunicationParticipant participant, object message) { if (subscriptions.ContainsKey(message.GetType())) { List <ICommunicationParticipant> subscribers = subscriptions[message.GetType()]; if (subscribers?.Any() == true) { foreach (var sub in subscribers) { sub.ReceiveMessage(participant, message); } } } }
public void Subscribe <MessageType>(ICommunicationParticipant caller) { if (!subscriptions.ContainsKey(typeof(MessageType))) { subscriptions.Add(typeof(MessageType), new List <ICommunicationParticipant>() { caller }); } else { subscriptions[typeof(MessageType)]?.Add(caller); } }
public virtual void ReceiveMessage(ICommunicationParticipant sender, object message) { }