diff options
| author | WWWesten <4700006+WWWesten@users.noreply.github.com> | 2021-11-01 23:43:29 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-01 23:43:29 +0500 |
| commit | 0a14279e2a21bcb9654a06a2d49e1e4f0cc5329c (patch) | |
| tree | e1b1bd603b011ca98e5793e356326bf4a35a7050 /MediaBrowser.LocalMetadata/BaseXmlProvider.cs | |
| parent | f2817fef743eeb75a00782ceea363b2d3e7dc9f2 (diff) | |
| parent | 76eeb8f655424d295e73ced8349c6fefee6ddb12 (diff) | |
Merge branch 'jellyfin:master' into master
Diffstat (limited to 'MediaBrowser.LocalMetadata/BaseXmlProvider.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/BaseXmlProvider.cs | 65 |
1 files changed, 47 insertions, 18 deletions
diff --git a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs index a6553563f..9f8e921b4 100644 --- a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs @@ -7,12 +7,43 @@ using MediaBrowser.Model.IO; namespace MediaBrowser.LocalMetadata { + /// <summary> + /// The BaseXmlProvider. + /// </summary> + /// <typeparam name="T">Type of provider.</typeparam> public abstract class BaseXmlProvider<T> : ILocalMetadataProvider<T>, IHasItemChangeMonitor, IHasOrder where T : BaseItem, new() { - protected IFileSystem FileSystem; + /// <summary> + /// Initializes a new instance of the <see cref="BaseXmlProvider{T}"/> class. + /// </summary> + /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> + protected BaseXmlProvider(IFileSystem fileSystem) + { + this.FileSystem = fileSystem; + } + + /// <inheritdoc /> + public string Name => XmlProviderUtils.Name; - public Task<MetadataResult<T>> GetMetadata(ItemInfo info, + /// After Nfo + /// <inheritdoc /> + public virtual int Order => 1; + + /// <summary> + /// Gets the IFileSystem. + /// </summary> + protected IFileSystem FileSystem { get; } + + /// <summary> + /// Gets metadata for item. + /// </summary> + /// <param name="info">The item info.</param> + /// <param name="directoryService">Instance of the <see cref="IDirectoryService"/> interface.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>The metadata for item.</returns> + public Task<MetadataResult<T>> GetMetadata( + ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken) { @@ -46,15 +77,23 @@ namespace MediaBrowser.LocalMetadata return Task.FromResult(result); } + /// <summary> + /// Get metadata from path. + /// </summary> + /// <param name="result">Resulting metadata.</param> + /// <param name="path">The path.</param> + /// <param name="cancellationToken">The cancellation token.</param> protected abstract void Fetch(MetadataResult<T> result, string path, CancellationToken cancellationToken); - protected BaseXmlProvider(IFileSystem fileSystem) - { - FileSystem = fileSystem; - } - - protected abstract FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService); + /// <summary> + /// Get metadata from xml file. + /// </summary> + /// <param name="info">Item inf.</param> + /// <param name="directoryService">Instance of the <see cref="IDirectoryService"/> interface.</param> + /// <returns>The file system metadata.</returns> + protected abstract FileSystemMetadata? GetXmlFile(ItemInfo info, IDirectoryService directoryService); + /// <inheritdoc /> public bool HasChanged(BaseItem item, IDirectoryService directoryService) { var file = GetXmlFile(new ItemInfo(item), directoryService); @@ -66,15 +105,5 @@ namespace MediaBrowser.LocalMetadata return file.Exists && FileSystem.GetLastWriteTimeUtc(file) > item.DateLastSaved; } - - public string Name => XmlProviderUtils.Name; - - //After Nfo - public virtual int Order => 1; - } - - static class XmlProviderUtils - { - public static string Name => "Emby Xml"; } } |
