From 3d47b495a96fce84c03d9f3177dc6dbc8a4afa3c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 29 Jun 2014 23:04:50 -0400 Subject: fixes #795 - Support reading Xbmc nfo's --- .../Providers/GameSystemXmlProvider.cs | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs (limited to 'MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs') diff --git a/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs new file mode 100644 index 000000000..dd486da1d --- /dev/null +++ b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs @@ -0,0 +1,31 @@ +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Logging; + +namespace MediaBrowser.LocalMetadata.Providers +{ + public class GameSystemXmlProvider : BaseXmlProvider + { + private readonly ILogger _logger; + + public GameSystemXmlProvider(IFileSystem fileSystem, ILogger logger) + : base(fileSystem) + { + _logger = logger; + } + + protected override void Fetch(LocalMetadataResult result, string path, CancellationToken cancellationToken) + { + new GameSystemXmlParser(_logger).Fetch(result.Item, path, cancellationToken); + } + + protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) + { + return directoryService.GetFile(Path.Combine(info.Path, "gamesystem.xml")); + } + } +} -- cgit v1.2.3