public void Add(ActionMessageFilter filter, TFilterData data)
        {
            if (filter == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
            }

            this.filters.Add(filter, data);
            List <MessageFilter> filters;

#pragma warning suppress 56506 // Microsoft, Actions will never be null
            if (filter.Actions.Count == 0)
            {
                this.always.Add(filter);
            }
            else
            {
                for (int i = 0; i < filter.Actions.Count; ++i)
                {
                    if (!this.actions.TryGetValue(filter.Actions[i], out filters))
                    {
                        filters = new List <MessageFilter>();
                        this.actions.Add(filter.Actions[i], filters);
                    }
                    filters.Add(filter);
                }
            }
        }
 public bool Remove(ActionMessageFilter filter)
 {
     if (filter == null)
     {
         throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
     }
     if (!this.filters.Remove(filter))
     {
         return(false);
     }
     if (filter.Actions.Count == 0)
     {
         this.always.Remove(filter);
     }
     else
     {
         for (int i = 0; i < filter.Actions.Count; i++)
         {
             List <MessageFilter> list = this.actions[filter.Actions[i]];
             if (list.Count == 1)
             {
                 this.actions.Remove(filter.Actions[i]);
             }
             else
             {
                 list.Remove(filter);
             }
         }
     }
     return(true);
 }
 public void Add(ActionMessageFilter filter, TFilterData data)
 {
     if (filter == null)
     {
         throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
     }
     this.filters.Add(filter, data);
     if (filter.Actions.Count == 0)
     {
         this.always.Add(filter);
     }
     else
     {
         for (int i = 0; i < filter.Actions.Count; i++)
         {
             List <MessageFilter> list;
             if (!this.actions.TryGetValue(filter.Actions[i], out list))
             {
                 list = new List <MessageFilter>();
                 this.actions.Add(filter.Actions[i], list);
             }
             list.Add(filter);
         }
     }
 }
Exemple #4
0
        public bool Remove(ActionMessageFilter filter)
        {
            if (filter == null)
            {
                throw new ArgumentNullException("filter is null.");
            }

            return(table.Remove(filter));
        }
        public bool Remove(MessageFilter filter)
        {
            if (filter == null)
            {
                throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
            }
            ActionMessageFilter filter2 = filter as ActionMessageFilter;

            return((filter2 != null) && this.Remove(filter2));
        }
        public bool Remove(MessageFilter filter)
        {
            if (filter == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
            }

            ActionMessageFilter aFilter = filter as ActionMessageFilter;

            if (aFilter != null)
            {
                return(Remove(aFilter));
            }
            return(false);
        }
        public bool Remove(ActionMessageFilter filter)
        {
            if (filter == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter");
            }

            if (this.filters.Remove(filter))
            {
#pragma warning suppress 56506 // Microsoft, ActionMessageFilter.Actions can never be null
                if (filter.Actions.Count == 0)
                {
                    this.always.Remove(filter);
                }
                else
                {
                    List <MessageFilter> filters;
                    for (int i = 0; i < filter.Actions.Count; ++i)
                    {
#pragma warning suppress 56506 // Microsoft, PreSharp generates a false error here
                        filters = this.actions[filter.Actions[i]];
#pragma warning suppress 56506 // Microsoft, filters can never be null
                        if (filters.Count == 1)
                        {
                            this.actions.Remove(filter.Actions[i]);
                        }
                        else
                        {
                            filters.Remove(filter);
                        }
                    }
                }
                return(true);
            }
            return(false);
        }
Exemple #8
0
 public void Add(ActionMessageFilter filter, TFilterData data)
 {
     table.Add(filter, data);
 }