using System; using System.Collections.Generic; using Umbraco.Web.PublishedCache; namespace Umbraco.Web.Routing { /// /// Provides urls. /// public interface IUrlProvider { /// /// Gets the nice url of a published content. /// /// The Umbraco context. /// The published content id. /// The current absolute url. /// The url mode. /// The url for the published content. /// /// The url is absolute or relative depending on mode and on current. /// If the provider is unable to provide a url, it should return null. /// string GetUrl(UmbracoContext umbracoContext, int id, Uri current, UrlProviderMode mode); /// /// Gets the other urls of a published content. /// /// The Umbraco context. /// The published content id. /// The current absolute url. /// The other urls for the published content. /// /// Other urls are those that GetUrl would not return in the current context, but would be valid /// urls for the node in other contexts (different domain for current request, umbracoUrlAlias...). /// IEnumerable GetOtherUrls(UmbracoContext umbracoContext, int id, Uri current); } }