mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-06 15:58:29 +01:00
reworked iso manager
This commit is contained in:
@@ -176,6 +176,34 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <exception cref="ArgumentNullException">query</exception>
|
||||
Task<ItemsResult> GetItemsAsync(ItemQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the instant mix from song async.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetInstantMixFromSongAsync(SimilarItemsQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the instant mix from album async.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetInstantMixFromAlbumAsync(SimilarItemsQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the instant mix from artist async.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetInstantMixFromArtistAsync(SimilarItemsByNameQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the instant mix from music genre async.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetInstantMixFromMusicGenreAsync(SimilarItemsByNameQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the similar movies async.
|
||||
/// </summary>
|
||||
|
||||
34
MediaBrowser.Model/IO/IIsoManager.cs
Normal file
34
MediaBrowser.Model/IO/IIsoManager.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Model.IO
|
||||
{
|
||||
public interface IIsoManager : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Mounts the specified iso path.
|
||||
/// </summary>
|
||||
/// <param name="isoPath">The iso path.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>IsoMount.</returns>
|
||||
/// <exception cref="ArgumentNullException">isoPath</exception>
|
||||
/// <exception cref="IOException">Unable to create mount.</exception>
|
||||
Task<IIsoMount> Mount(string isoPath, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether this instance can mount the specified path.
|
||||
/// </summary>
|
||||
/// <param name="path">The path.</param>
|
||||
/// <returns><c>true</c> if this instance can mount the specified path; otherwise, <c>false</c>.</returns>
|
||||
bool CanMount(string path);
|
||||
|
||||
/// <summary>
|
||||
/// Adds the parts.
|
||||
/// </summary>
|
||||
/// <param name="mounters">The mounters.</param>
|
||||
void AddParts(IEnumerable<IIsoMounter> mounters);
|
||||
}
|
||||
}
|
||||
22
MediaBrowser.Model/IO/IIsoMount.cs
Normal file
22
MediaBrowser.Model/IO/IIsoMount.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
|
||||
namespace MediaBrowser.Model.IO
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface IIsoMount
|
||||
/// </summary>
|
||||
public interface IIsoMount : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the iso path.
|
||||
/// </summary>
|
||||
/// <value>The iso path.</value>
|
||||
string IsoPath { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mounted path.
|
||||
/// </summary>
|
||||
/// <value>The mounted path.</value>
|
||||
string MountedPath { get; }
|
||||
}
|
||||
}
|
||||
27
MediaBrowser.Model/IO/IIsoMounter.cs
Normal file
27
MediaBrowser.Model/IO/IIsoMounter.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Model.IO
|
||||
{
|
||||
public interface IIsoMounter : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Mounts the specified iso path.
|
||||
/// </summary>
|
||||
/// <param name="isoPath">The iso path.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>IsoMount.</returns>
|
||||
/// <exception cref="ArgumentNullException">isoPath</exception>
|
||||
/// <exception cref="IOException">Unable to create mount.</exception>
|
||||
Task<IIsoMount> Mount(string isoPath, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether this instance can mount the specified path.
|
||||
/// </summary>
|
||||
/// <param name="path">The path.</param>
|
||||
/// <returns><c>true</c> if this instance can mount the specified path; otherwise, <c>false</c>.</returns>
|
||||
bool CanMount(string path);
|
||||
}
|
||||
}
|
||||
@@ -56,6 +56,9 @@
|
||||
<Compile Include="Entities\MediaUrl.cs" />
|
||||
<Compile Include="Entities\MetadataFields.cs" />
|
||||
<Compile Include="Entities\Video3DFormat.cs" />
|
||||
<Compile Include="IO\IIsoManager.cs" />
|
||||
<Compile Include="IO\IIsoMount.cs" />
|
||||
<Compile Include="IO\IIsoMounter.cs" />
|
||||
<Compile Include="Net\WebSocketMessage.cs" />
|
||||
<Compile Include="Net\WebSocketMessageType.cs" />
|
||||
<Compile Include="Net\WebSocketState.cs" />
|
||||
|
||||
@@ -26,4 +26,31 @@
|
||||
/// <value>The fields.</value>
|
||||
public ItemFields[] Fields { get; set; }
|
||||
}
|
||||
|
||||
public class SimilarItemsByNameQuery
|
||||
{
|
||||
/// <summary>
|
||||
/// The user to localize search results for
|
||||
/// </summary>
|
||||
/// <value>The user id.</value>
|
||||
public string UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name.
|
||||
/// </summary>
|
||||
/// <value>The name.</value>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of items to return
|
||||
/// </summary>
|
||||
/// <value>The limit.</value>
|
||||
public int? Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Fields to return within the items, in addition to basic information
|
||||
/// </summary>
|
||||
/// <value>The fields.</value>
|
||||
public ItemFields[] Fields { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user