using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Xml.Linq; using libxmltv.Core; using System.ComponentModel; namespace libxmltv.Interfaces { public interface IXMLTVLoader { FileInfo XmlFile { get; } string XmlDoc { get; } } public interface IXMLTVParser { //IXMLTV_LOADER XMLTV_LOADER { get; } //void TestParse(); IXMLTVSource Source { get; } Dictionary Channels { get; } Dictionary Programs { get; } } public interface IXMLTVSource { string SourceName { get; } string GeneratorName { get; } string GeneratorUrl { get; } string ToString(); } public interface IXMLTVChannel { string Id { get; } int Number { get; } string CallSign { get; } string Name { get; } string ToString(); } public interface IXMLTVProgram { int Id { get; } DateTime Start { get; } DateTime Stop { get; } IXMLTVChannel Channel { get; } string Title { get; } string SubTitle { get; } string Description { get; } string ToString(); } public interface IXMLTVRuntimeInstance : IXMLTVLoader, IXMLTVParser { //bool IsDisposing { get; } //IXMLTVSerializer Serializer { get; } } public interface IXMLTVSerializer { bool Serialize(string file); bool Serialize(Stream stream); T DeSerialize(string file, out bool status); T DeSerialize(Stream stream, out bool status); } public interface IXMLTV : IXMLTVSerializer, IDestroyInstance where CLASS : class,INTERFACE { IXMLTVSerializer CreateSerializer(); INTERFACE GetInstance(); //CLASS GetInternalInstance(); EventHandler OnInstanceCreated { get; set; } } public interface ISerializer { IXMLTVSerializer Serializer { get; } } public interface IDestroyInstance { void DestroyInstance(); } public interface IGetCreatedInstanceEvent { EventHandler GetOnInstanceCreated(); } public interface ISetCreatedInstanceEvent { void SetOnInstanceCreated(EventHandler event_instance); } }