2020-08-22 12:56:24 -07:00
|
|
|
#pragma warning disable CS1591
|
|
|
|
|
2019-01-13 13:01:16 -07:00
|
|
|
using System.Collections.Generic;
|
2023-11-09 14:00:29 -07:00
|
|
|
using Jellyfin.Data.Enums;
|
2019-01-13 12:25:32 -07:00
|
|
|
using MediaBrowser.Controller.Entities;
|
2018-12-27 16:27:57 -07:00
|
|
|
using MediaBrowser.Controller.Library;
|
|
|
|
using MediaBrowser.Controller.Providers;
|
|
|
|
using MediaBrowser.Model.IO;
|
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.Resolvers
|
|
|
|
{
|
|
|
|
/// <summary>
|
2020-06-15 15:37:52 -07:00
|
|
|
/// Interface IItemResolver.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public interface IItemResolver
|
|
|
|
{
|
2021-08-13 20:34:36 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Gets the priority.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The priority.</value>
|
|
|
|
ResolverPriority Priority { get; }
|
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Resolves the path.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="args">The args.</param>
|
|
|
|
/// <returns>BaseItem.</returns>
|
2023-09-13 14:36:46 -07:00
|
|
|
BaseItem? ResolvePath(ItemResolveArgs args);
|
2018-12-27 16:27:57 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public interface IMultiItemResolver
|
|
|
|
{
|
2020-10-12 11:05:11 -07:00
|
|
|
MultiItemResolverResult ResolveMultiple(
|
|
|
|
Folder parent,
|
2019-01-07 16:27:46 -07:00
|
|
|
List<FileSystemMetadata> files,
|
2023-11-09 14:00:29 -07:00
|
|
|
CollectionType? collectionType,
|
2018-12-27 16:27:57 -07:00
|
|
|
IDirectoryService directoryService);
|
|
|
|
}
|
|
|
|
|
|
|
|
public class MultiItemResolverResult
|
|
|
|
{
|
|
|
|
public MultiItemResolverResult()
|
|
|
|
{
|
|
|
|
Items = new List<BaseItem>();
|
|
|
|
ExtraFiles = new List<FileSystemMetadata>();
|
|
|
|
}
|
2021-08-13 20:34:36 -07:00
|
|
|
|
|
|
|
public List<BaseItem> Items { get; set; }
|
|
|
|
|
|
|
|
public List<FileSystemMetadata> ExtraFiles { get; set; }
|
2018-12-27 16:27:57 -07:00
|
|
|
}
|
|
|
|
}
|