using System; using System.Threading.Tasks; using MediaBrowser.Controller.Events; using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.Providers { public abstract class BaseMetadataProvider : IDisposable { /// /// If the provider needs any startup routines, add them here /// public virtual void Init() { } /// /// Disposes anything created during Init /// public virtual void Dispose() { } public abstract bool Supports(BaseEntity item); public virtual bool RequiresInternet { get { return false; } } public abstract Task Fetch(BaseEntity item, ItemResolveEventArgs args); } }