Beispiel #1
0
 public void Setup()
 {
     view                = Substitute.For <IMediated>();
     mediator            = new TestMediator();
     mediator.dispatcher = Substitute.For <IDispatcher>();
     mediator.Init(view);
 }
Beispiel #2
0
        public void Init(IMediated med)
        {
            mediated              = (T)med;
            mediated.OnStart     += OnStart;
            mediated.OnActivated += OnActivated;
            mediated.OnRemove    += OnRemove;

            Register();
        }
Beispiel #3
0
 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();
            }
        }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
 private void AddToWaitingList(IMediated mediated)
 {
     waitingForMediation.Add(mediated);
 }
        public void Init(IMediated med)
        {
            mediated = (T)med;

            Register();
        }