using System; using Umbraco.Core.Cache; namespace Umbraco.Web.PublishedCache { /// /// Specifies a published snapshot. /// /// A published snapshot is a point-in-time capture of the current state of /// everything that is "published". public interface IPublishedSnapshot : IDisposable { /// /// Gets the . /// IPublishedContentCache Content { get; } /// /// Gets the . /// IPublishedMediaCache Media { get; } /// /// Gets the . /// IPublishedMemberCache Members { get; } /// /// Gets the . /// IDomainCache Domains { get; } /// /// Gets the snapshot-level cache. /// /// /// The snapshot-level cache belongs to this snapshot only. /// IAppCache SnapshotCache { get; } /// /// Gets the elements-level cache. /// /// /// The elements-level cache is shared by all snapshots relying on the same elements, /// ie all snapshots built on top of unchanging content / media / etc. /// IAppCache ElementsCache { get; } /// /// Forces the preview mode. /// /// The forced preview mode. /// A callback to execute when reverting to previous preview. /// /// Forcing to false means no preview. Forcing to true means 'full' preview if the snapshot is not already previewing; /// otherwise the snapshot keeps previewing according to whatever settings it is using already. /// Stops forcing preview when disposed. IDisposable ForcedPreview(bool preview, Action callback = null); } }