using System.Collections.Generic; using Jellyfin.Data.Entities; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Dto; namespace MediaBrowser.Controller.Dto { /// <summary> /// Interface IDtoService. /// </summary> public interface IDtoService { /// <summary> /// Gets the primary image aspect ratio. /// </summary> /// <param name="item">The item.</param> /// <returns>System.Nullable<System.Double>.</returns> double? GetPrimaryImageAspectRatio(BaseItem item); /// <summary> /// Gets the base item dto. /// </summary> /// <param name="item">The item.</param> /// <param name="options">The options.</param> /// <param name="user">The user.</param> /// <param name="owner">The owner.</param> /// <returns>BaseItemDto.</returns> BaseItemDto GetBaseItemDto(BaseItem item, DtoOptions options, User user = null, BaseItem owner = null); /// <summary> /// Gets the base item dtos. /// </summary> /// <param name="items">The items.</param> /// <param name="options">The options.</param> /// <param name="user">The user.</param> /// <param name="owner">The owner.</param> IReadOnlyList<BaseItemDto> GetBaseItemDtos(IReadOnlyList<BaseItem> items, DtoOptions options, User user = null, BaseItem owner = null); /// <summary> /// Gets the item by name dto. /// </summary> BaseItemDto GetItemByNameDto(BaseItem item, DtoOptions options, List<BaseItem> taggedItems, User user = null); } }