using MediaBrowser.Model.Sync; using System.Collections.Generic; using System.Threading.Tasks; namespace MediaBrowser.Controller.Sync { public interface ISyncDataProvider { /// /// Gets the local items. /// /// The target. /// The server identifier. /// Task<List<LocalItem>>. Task> GetLocalItems(SyncTarget target, string serverId); /// /// Adds the or update. /// /// The target. /// The item. /// Task. Task AddOrUpdate(SyncTarget target, LocalItem item); /// /// Deletes the specified identifier. /// /// The target. /// The identifier. /// Task. Task Delete(SyncTarget target, string id); /// /// Gets the specified identifier. /// /// The target. /// The identifier. /// Task<LocalItem>. Task Get(SyncTarget target, string id); /// /// Gets the cached item. /// /// The target. /// The server identifier. /// The item identifier. /// Task<LocalItem>. Task> GetItems(SyncTarget target, string serverId, string itemId); /// /// Gets the cached items by synchronize job item identifier. /// /// The target. /// The server identifier. /// The synchronize job item identifier. /// Task<List<LocalItem>>. Task> GetItemsBySyncJobItemId(SyncTarget target, string serverId, string syncJobItemId); } }