public void Setup() { view = Substitute.For <IMediated>(); mediator = new TestMediator(); mediator.dispatcher = Substitute.For <IDispatcher>(); mediator.Init(view); }
public void Init(IMediated med) { mediated = (T)med; mediated.OnStart += OnStart; mediated.OnActivated += OnActivated; mediated.OnRemove += OnRemove; Register(); }
public void Register(IMediated mediated, IEnumerable <string> messages) { foreach (string message in messages) { if (!mediatedStore.ContainsKey(message)) { mediatedStore.Add(message, new List <WeakReference>()); } mediatedStore[message].Add(new WeakReference(mediated)); } }
public void Mediate(IMediated mediated) { if (OnMediate != null) { OnMediate(mediated); } else { waitingForMediation.Add(mediated); } }
public void Mediate(IMediated mediated) { var mediatedType = mediated.GetType(); var hasMediators = Create(mediated, mediatedType); var mediatedInterfaces = mediatedType.GetInterfaces(); mediatedInterfaces.Each(i => hasMediators |= Create(mediated, i)); if (hasMediators) { mediated.HandleMediation(); } }
public void Mediate(IMediated mediated) { Type mediatedType = mediated.GetType(); bool hasMediators = Create(mediated, mediatedType); var mediatedInterfaces = mediatedType.GetInterfaces(); for (int i = 0; i < mediatedInterfaces.Length; i++) { hasMediators |= Create(mediated, mediatedInterfaces[i]); } if (hasMediators) { mediated.OnMediation(); } else { throw new NoMediatorMappingException("no mediators for " + mediatedType); } }
private void AddToWaitingList(IMediated mediated) { waitingForMediation.Add(mediated); }
public void Init(IMediated med) { mediated = (T)med; Register(); }