diff options
Diffstat (limited to 'Jellyfin.Api/Models/UserDtos/ILyricsProvider.cs')
| -rw-r--r-- | Jellyfin.Api/Models/UserDtos/ILyricsProvider.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Jellyfin.Api/Models/UserDtos/ILyricsProvider.cs b/Jellyfin.Api/Models/UserDtos/ILyricsProvider.cs new file mode 100644 index 000000000..37f1f5bbe --- /dev/null +++ b/Jellyfin.Api/Models/UserDtos/ILyricsProvider.cs @@ -0,0 +1,34 @@ +using System.Collections.ObjectModel; +using MediaBrowser.Controller.Entities; + +namespace Jellyfin.Api.Models.UserDtos +{ + /// <summary> + /// Interface ILyricsProvider. + /// </summary> + public interface ILyricsProvider + { + /// <summary> + /// Gets a value indicating the File Extenstions this provider works with. + /// </summary> + public Collection<string>? FileExtensions { get; } + + /// <summary> + /// Gets a value indicating whether Process() generated data. + /// </summary> + /// <returns><c>true</c> if data generated; otherwise, <c>false</c>.</returns> + bool HasData { get; } + + /// <summary> + /// Gets Data object generated by Process() method. + /// </summary> + /// <returns><c>Object</c> with data if no error occured; otherwise, <c>null</c>.</returns> + object? Data { get; } + + /// <summary> + /// Opens lyric file for [the specified item], and processes it for API return. + /// </summary> + /// <param name="item">The item to to process.</param> + void Process(BaseItem item); + } +} |
