/[xmltv_parser]/trunk/libxmltv/Interfaces/Interfaces.cs
ViewVC logotype

Diff of /trunk/libxmltv/Interfaces/Interfaces.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 64 by william, Sat Mar 9 00:59:05 2013 UTC revision 81 by william, Sat Mar 9 12:23:27 2013 UTC
# Line 9  using System.ComponentModel; Line 9  using System.ComponentModel;
9    
10  namespace libxmltv.Interfaces  namespace libxmltv.Interfaces
11  {  {
12      public interface IXMLTVLoader      //public interface IXMLTVLoader
13      {      //{
14          FileInfo XmlFile { get; }      //    FileInfo XmlFile { get; }
15          string XmlDoc { get; }      //    string XmlDoc { get; }
16      }      //}
17      public interface IXMLTVParser      //public interface IXMLTVParser
18      {      //{
19          IXMLTVSource Source { get; }      //    IXMLTVSource Source { get; }
20          Dictionary<string, IXMLTVChannel> Channels { get; }      //    Dictionary<string, IXMLTVChannel> Channels { get; }
21          Dictionary<int, IXMLTVProgram> Programs { get; }      //    Dictionary<int, IXMLTVProgram> Programs { get; }
22      }      //}
23    
24      public interface IXMLTVSource      public interface IXMLTVSource
25      {      {
# Line 47  namespace libxmltv.Interfaces Line 47  namespace libxmltv.Interfaces
47          string Description { get; }          string Description { get; }
48          string ToString();          string ToString();
49      }      }
50      public interface IXMLTVRuntimeInstance : IXMLTVLoader, IXMLTVParser { }  
51        public interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }
52        public interface IXMLTVChannelCollection : IXMLTVDictionaryCollection<string, IXMLTVChannel> { }
53        public interface IXMLTVDictionaryCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }
54        public interface IXMLTVListCollection<TValue> { List<TValue> Collection { get; } }
55    
56        public interface IXMLTVHandler : IXMLTVHandler<object> { }
57        public interface IXMLTVHandler<T> { T Handler { get; } }
58    
59        //public interface IXMLTVBase : IXMLTVBase<object> { }
60        public interface IXMLTVBase<T> : IGetInstance<T>, IXMLTVHandler { }
61        public interface IXMLTVRuntimeInstance : IOnInstanceCreated
62        {
63            bool IsAborting { get; }
64            //FileInfo XmlFile { get; }
65            string XmlFile_Name { get; }
66            string XmlFile_FullName { get; }
67            string XmlDoc { get; }
68            IXMLTVSource Source { get; }
69            List<IXMLTVChannel> Channels { get; }
70            List<IXMLTVProgram> Programs { get; }
71            
72        }
73      public interface IXMLTVSerializer : IXMLTVSerializer<object> { }      public interface IXMLTVSerializer : IXMLTVSerializer<object> { }
74      public interface IXMLTVSerializer<T>      public interface IXMLTVSerializer<T>
75      {      {
# Line 60  namespace libxmltv.Interfaces Line 82  namespace libxmltv.Interfaces
82      public interface IXMLTV<INTERFACE, CLASS, INSTANCECREATED_EVENTAGS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance, IOnInstanceCreated, IGetInstance<INTERFACE>      public interface IXMLTV<INTERFACE, CLASS, INSTANCECREATED_EVENTAGS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance, IOnInstanceCreated, IGetInstance<INTERFACE>
83          where CLASS : class,INTERFACE          where CLASS : class,INTERFACE
84          where INSTANCECREATED_EVENTAGS : EventArgs { }          where INSTANCECREATED_EVENTAGS : EventArgs { }
85    
86        public interface IInstance : IInstance<object> { }
87        public interface IInstance<T> { T Instance { get; set; } }
88      public interface ICreateSerializer : ICreateSerializer<object> { }      public interface ICreateSerializer : ICreateSerializer<object> { }
89      public interface ICreateSerializer<CLASS> { IXMLTVSerializer<CLASS> CreateSerializer(); }      public interface ICreateSerializer<CLASS> { IXMLTVSerializer<CLASS> CreateSerializer(); }
90    
91        //public interface IGetInstanceT : IGetInstanceT<object> { }
92        //public interface IGetInstanceT<T> { T GetInstance<T>();  }
93      public interface IGetInstance : IGetInstance<object> { }      public interface IGetInstance : IGetInstance<object> { }
94      public interface IGetInstance<T> { T GetInstance();    }      public interface IGetInstance<T> { T GetInstance();    }
95    
96      public interface IOnInstanceCreated : IOnInstanceCreated<EventArgs> { }      public interface IOnInstanceCreated : IOnInstanceCreated<EventArgs> { }
97      public interface IOnInstanceCreated<T> where T : EventArgs { EventHandler<T> OnInstanceCreated { get; set; } }      public interface IOnInstanceCreated<T> where T : EventArgs { EventHandler<T> OnInstanceCreated { get; set; } }
98      public interface ISerializer<T> { IXMLTVSerializer<T> Serializer { get; } }      public interface ISerializer<T> { IXMLTVSerializer<T> Serializer { get; } }

Legend:
Removed from v.64  
changed lines
  Added in v.81

  ViewVC Help
Powered by ViewVC 1.1.22