using System; using System.Net; using System.Threading.Tasks; using System.Xml; using Microsoft.SyndicationFeed.Atom; namespace PolyFeed.ParserProviders { /// /// Defines the functionality that a source parser should provide. /// Sources are represented by a object, and source parsers /// are responsible for parsing it and populating a given atom feed. /// public interface IParserProvider { /// /// The identifier of this provider. /// Used in the .toml configuration file to specify which parser to use. /// string Identifier { get; } /// /// Sets the output feed that parsed output should be written to. /// /// The output feed writer that output should be written to. /// The underlying XML feed try not to use this unless you *really* have to. void SetOutputFeed(AtomFeedWriter feed, XmlWriter xml); /// /// Parses a web response that's paired with a given . /// /// The object that the was generated from. /// The in question needs parsing. Task ParseWebResponse(FeedSource source, WebResponse response); } }