using System; using System.Collections.Generic; using System.Xml.XPath; using Umbraco.Core; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Xml; namespace Umbraco.Web { using Examine = global::Examine; /// /// Query methods used for accessing strongly typed content in templates /// public interface IPublishedContentQuery { IPublishedContent Content(int id); IPublishedContent Content(Guid id); IPublishedContent Content(Udi id); IPublishedContent ContentSingleAtXPath(string xpath, params XPathVariable[] vars); IEnumerable Content(IEnumerable ids); IEnumerable Content(IEnumerable ids); IEnumerable ContentAtXPath(string xpath, params XPathVariable[] vars); IEnumerable ContentAtXPath(XPathExpression xpath, params XPathVariable[] vars); IEnumerable ContentAtRoot(); IPublishedContent Media(int id); IPublishedContent Media(Guid id); IPublishedContent Media(Udi id); IEnumerable Media(IEnumerable ids); IEnumerable Media(IEnumerable ids); IEnumerable MediaAtRoot(); /// /// Searches content. /// IEnumerable Search(string term, bool useWildCards = true, string indexName = null); /// /// Searches content. /// IEnumerable Search(int skip, int take, out int totalRecords, string term, bool useWildCards = true, string indexName = null); /// /// Searches content. /// IEnumerable Search(Examine.SearchCriteria.ISearchCriteria criteria, Examine.ISearcher searchProvider = null); /// /// Searches content. /// IEnumerable Search(int skip, int take, out int totalRecords, Examine.SearchCriteria.ISearchCriteria criteria, Examine.ISearcher searchProvider = null); } }