using System; using System.Collections.Generic; namespace NzbDrone.Core.Indexers { public abstract class IndexerBase : IIndexer { public abstract string Name { get; } public virtual bool EnableByDefault { get { return true; } } public IndexerDefinition InstanceDefinition { get; set; } public virtual IEnumerable DefaultDefinitions { get { yield return new IndexerDefinition { Name = Name, Enable = EnableByDefault, Implementation = GetType().Name, Settings = String.Empty }; } } public virtual IParseFeed Parser { get { return new BasicRssParser(); } } public abstract IEnumerable RecentFeed { get; } public abstract IEnumerable GetEpisodeSearchUrls(string seriesTitle, int tvRageId, int seasonNumber, int episodeNumber); public abstract IEnumerable GetDailyEpisodeSearchUrls(string seriesTitle, int tvRageId, DateTime date); public abstract IEnumerable GetSeasonSearchUrls(string seriesTitle, int tvRageId, int seasonNumber); public abstract IEnumerable GetPartialSeasonSearchUrls(string seriesTitle, int tvRageId, int seasonNumber, int episodeWildcard); } }