﻿#pragma warning disable CA1710

namespace Dike.Core.Auditing
{
    using System.Collections.Generic;

    /// <summary>
    /// Implement this interface if a class needs to provide selector functions to select classes or interfaces to be audited.
    /// </summary>
    /// <seealso cref="System.Collections.Generic.IList{T}" />
    public interface IAuditingSelectorList
        : IList<NamedTypeSelector>
    {
        #region Methods

        /// <summary>
        /// Removes a selector by his name.
        /// </summary>
        /// <param name="name">The selector name.</param>
        /// <returns><c>true</c> if the selector could be removed, <c>false</c> otherwise.</returns>
        bool RemoveByName(string name);

        #endregion Methods
    }
}

#pragma warning restore CA1710