Пример #1
0
        /*============================================================================*/
        /* Public Functions                                                           */
        /*============================================================================*/

        public object GetMediator(object item, IMediatorMapping mapping)
        {
            if (_mediators.ContainsKey(item) && _mediators[item].ContainsKey(mapping))
            {
                return(_mediators[item][mapping]);
            }
            return(null);
        }
		/*============================================================================*/
		/* Public Functions                                                           */
		/*============================================================================*/

		public void AddMapping(IMediatorMapping mapping)
		{
			if (_mappings.Contains(mapping))
				return;

			_mappings.Add(mapping);
			FlushCache();
		}
Пример #3
0
        public void RemoveMediator(object mediator, object item, IMediatorMapping mapping)
        {
            if (item is IView)
            {
                (item as IView).RemoveView -= HandleRemoveView;
            }

            DestroyMediator(mediator);
        }
		public void RemoveMediator(object mediator, object item, IMediatorMapping mapping)
		{
			if (item is IView)
			{
				(item as IView).RemoveView -= HandleRemoveView;
			}

			DestroyMediator(mediator);
		}
		public void RemoveMapping(IMediatorMapping mapping)
		{
			int index = _mappings.IndexOf(mapping);
			if (index == -1)
				return;

			_mappings.RemoveAt(index);
			FlushCache();
		}
		/*============================================================================*/
		/* Public Functions                                                           */
		/*============================================================================*/
		
		public void AddMediator(object mediator, object item, IMediatorMapping mapping)
		{
			if (item is IView && mapping.AutoRemoveEnabled)
			{
				(item as IView).RemoveView += HandleRemoveView;
			}

			InitializeMediator(mediator, item);
		}
Пример #7
0
 private void AddMediator(object mediator, object item, IMediatorMapping mapping)
 {
     if (!_mediators.ContainsKey(item))
     {
         _mediators[item] = new Dictionary <IMediatorMapping, object>();
     }
     _mediators[item][mapping] = mediator;
     _manager.AddMediator(mediator, item, mapping);
 }
Пример #8
0
 private void DeleteMapping(IMediatorMapping mapping)
 {
     _handler.RemoveMapping(mapping);
     _mappings.Remove(mapping.MediatorType);
     if (_logger != null)
     {
         _logger.Debug("0} unmapped from {1}", _typeFilter, mapping);
     }
 }
Пример #9
0
        /*============================================================================*/
        /* Public Functions                                                           */
        /*============================================================================*/

        public void AddMediator(object mediator, object item, IMediatorMapping mapping)
        {
            if (item is IView && mapping.AutoRemoveEnabled)
            {
                (item as IView).RemoveView += HandleRemoveView;
            }

            InitializeMediator(mediator, item);
        }
        /*============================================================================*/
        /* Public Functions                                                           */
        /*============================================================================*/

        public void AddMapping(IMediatorMapping mapping)
        {
            if (_mappings.Contains(mapping))
            {
                return;
            }

            _mappings.Add(mapping);
            FlushCache();
        }
Пример #11
0
 public void FromAll()
 {
     Dictionary <Type, IMediatorMapping> .ValueCollection values = _mappings.Values;
     IMediatorMapping[] mediatorMappings = new IMediatorMapping[values.Count];
     values.CopyTo(mediatorMappings, 0);
     foreach (IMediatorMapping mapping in mediatorMappings)
     {
         DeleteMapping(mapping);
     }
 }
        public void RemoveMapping(IMediatorMapping mapping)
        {
            int index = _mappings.IndexOf(mapping);

            if (index == -1)
            {
                return;
            }

            _mappings.RemoveAt(index);
            FlushCache();
        }
Пример #13
0
 private IMediatorConfigurator OverwriteMapping(IMediatorMapping mapping)
 {
     if (_logger != null)
     {
         _logger.Warn("{0} already mapped to {1}\n" +
                      "If you have overridden this mapping intentionally you can use 'unmap()' " +
                      "prior to your replacement mapping in order to avoid seeing this message.\n",
                      _typeFilter, mapping);
     }
     DeleteMapping(mapping);
     return(CreateMapping(mapping.MediatorType));
 }
Пример #14
0
        /*============================================================================*/
        /* Private Functions                                                          */
        /*============================================================================*/

        private object CreateMediator(object item, IMediatorMapping mapping)
        {
            object mediator = GetMediator(item, mapping);

            if (mediator != null)
            {
                return(mediator);
            }

            if (mapping.Guards.Count == 0 || Guards.Approve(_injector, mapping.Guards))
            {
                mediator = _injector.InstantiateUnmapped(mapping.MediatorType);
                if (mapping.Hooks.Count > 0)
                {
                    _injector.Map(mapping.MediatorType).ToValue(mediator);
                    Hooks.Apply(_injector, mapping.Hooks);
                    _injector.Unmap(mapping.MediatorType);
                }
                AddMediator(mediator, item, mapping);
            }
            return(mediator);
        }
		/*============================================================================*/
		/* Private Functions                                                          */
		/*============================================================================*/
		
		private object CreateMediator(object item, IMediatorMapping mapping)
		{
			object mediator = GetMediator(item, mapping);

			if (mediator != null)
				return mediator;
			
			if (mapping.Guards.Count == 0 || Guards.Approve(_injector, mapping.Guards))
			{
				mediator = _injector.InstantiateUnmapped(mapping.MediatorType);
				if (mapping.Hooks.Count > 0)
				{
					_injector.Map(mapping.MediatorType).ToValue(mediator);
					Hooks.Apply(_injector, mapping.Hooks);
					_injector.Unmap(mapping.MediatorType);
				}
				AddMediator(mediator, item, mapping);
			}
			return mediator;
		}
		public virtual void RemoveMapping(IMediatorMapping mapping)
		{
		}
		/*============================================================================*/
		/* Public Functions                                                           */
		/*============================================================================*/

		public object GetMediator(object item, IMediatorMapping mapping)
		{
			if (_mediators.ContainsKey(item) && _mediators[item].ContainsKey(mapping))
				return _mediators[item][mapping];
			return null;
		}
 public virtual void RemoveMapping(IMediatorMapping mapping)
 {
 }
		public virtual void AddMapping(IMediatorMapping mapping)
		{
		}
 public virtual void AddMapping(IMediatorMapping mapping)
 {
 }
		private void AddMediator(object mediator, object item, IMediatorMapping mapping)
		{
			if (!_mediators.ContainsKey(item))
				_mediators[item] = new Dictionary<IMediatorMapping, object>();
			_mediators[item][mapping] = mediator;
			_manager.AddMediator(mediator, item, mapping);
		}