20 lines
671 B
C#
20 lines
671 B
C#
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Jellyfin.Plugin.Jellypod.Models;
|
|
|
|
namespace Jellyfin.Plugin.Jellypod.Services;
|
|
|
|
/// <summary>
|
|
/// Service for fetching and parsing podcast RSS feeds.
|
|
/// </summary>
|
|
public interface IRssFeedService
|
|
{
|
|
/// <summary>
|
|
/// Fetches and parses a podcast from an RSS feed URL.
|
|
/// </summary>
|
|
/// <param name="feedUrl">The RSS feed URL.</param>
|
|
/// <param name="cancellationToken">Cancellation token.</param>
|
|
/// <returns>The parsed podcast with episodes, or null if parsing failed.</returns>
|
|
Task<Podcast?> FetchPodcastAsync(string feedUrl, CancellationToken cancellationToken = default);
|
|
}
|