using System; using System.Collections.Generic; namespace Umbraco.Web.Routing { /// /// Provides utilities to handle site domains. /// public interface ISiteDomainHelper { /// /// Filters a list of DomainAndUri to pick one that best matches the current request. /// /// The list of DomainAndUri to filter. /// The Uri of the current request. /// A culture. /// The default culture. /// The selected DomainAndUri. /// /// If the filter is invoked then is _not_ empty and /// is _not_ null, and could not be /// matched with anything in . /// The may be null, but when non-null, it can be used /// to help pick the best matches. /// The filter _must_ return something else an exception will be thrown. /// DomainAndUri MapDomain(IReadOnlyCollection domainAndUris, Uri current, string culture, string defaultCulture); /// /// Filters a list of DomainAndUri to pick those that best matches the current request. /// /// The list of DomainAndUri to filter. /// The Uri of the current request. /// A value indicating whether to exclude the current/default domain. /// A culture. /// The default culture. /// The selected DomainAndUri items. /// /// The filter must return something, even empty, else an exception will be thrown. /// The may be null, but when non-null, it can be used /// to help pick the best matches. /// IEnumerable MapDomains(IReadOnlyCollection domainAndUris, Uri current, bool excludeDefault, string culture, string defaultCulture); } }