using System;
using System.Threading;
using System.Threading.Tasks;
using StellaOps.Plugin;

namespace StellaOps.Feedser.Source.Ru.Nkcki;

public sealed class RuNkckiConnectorPlugin : IConnectorPlugin
{
    public string Name => "ru-nkcki";

    public bool IsAvailable(IServiceProvider services) => true;

    public IFeedConnector Create(IServiceProvider services) => new StubConnector(Name);

    private sealed class StubConnector : IFeedConnector
    {
        public StubConnector(string sourceName) => SourceName = sourceName;

        public string SourceName { get; }

        public Task FetchAsync(IServiceProvider services, CancellationToken cancellationToken) => Task.CompletedTask;

        public Task ParseAsync(IServiceProvider services, CancellationToken cancellationToken) => Task.CompletedTask;

        public Task MapAsync(IServiceProvider services, CancellationToken cancellationToken) => Task.CompletedTask;
    }
}

