using System.IO; using System.Text; using ChanSort.Api; namespace ChanSort.Loader.LG { public class LgPlugin : ISerializerPlugin { public string DllName { get; set; } public string PluginName => "LG (*.tll, xx*.xml)"; public string FileFilter => "*.tll;*.xml"; // can be GlobalClone00001.tll, xx*.tll with GlobalClone XML content, xx*.dll with binary data content, xx*.xml with GlobalClone XML content public SerializerBase CreateSerializer(string inputFile) { // webOS 5 files with 200 .... contain all the actual channel data in JSON format inside a element var content = File.ReadAllText(inputFile, Encoding.UTF8); if (content.Contains("")) return new GlobalClone.GcJsonSerializer(inputFile, content); if (content.Contains("")) return new GlobalClone.GcXmlSerializer(inputFile); if (content.StartsWith("<")) throw LoaderException.TryNext("File is not a binary LG .TLL file"); return new Binary.TllFileSerializer(inputFile) { IsTesting = this.IsTesting }; } internal bool IsTesting { get; set; } } }