jellyfin/MediaBrowser.Controller/Providers/BaseMetadataProvider.cs

57 lines
1.4 KiB
C#
Raw Normal View History

using System;
using System.Threading.Tasks;
using MediaBrowser.Controller.Events;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{
public abstract class BaseMetadataProvider : IDisposable
{
/// <summary>
/// If the provider needs any startup routines, add them here
/// </summary>
public virtual void Init()
{
}
/// <summary>
/// Disposes anything created during Init
/// </summary>
public virtual void Dispose()
{
}
public abstract bool Supports(BaseEntity item);
public virtual bool RequiresInternet
{
get
{
return false;
}
}
2012-08-22 04:50:59 +02:00
public abstract Task FetchAsync(BaseEntity item, ItemResolveEventArgs args);
public abstract MetadataProviderPriority Priority { get; }
}
/// <summary>
/// Determines when a provider should execute, relative to others
/// </summary>
public enum MetadataProviderPriority
{
// Run this provider at the beginning
2012-08-21 03:21:03 +02:00
First = 1,
// Run this provider after all first priority providers
2012-08-21 03:21:03 +02:00
Second = 2,
// Run this provider after all second priority providers
2012-08-21 03:21:03 +02:00
Third = 3,
// Run this provider last
2012-08-21 03:21:03 +02:00
Last = 4
}
}