using System; using Umbraco.Cms.Core.Cache; namespace Umbraco.Cms.Core.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); } }