/[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 54 by william, Fri Mar 8 08:51:10 2013 UTC revision 72 by william, Sat Mar 9 09:29:40 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          //IXMLTV_LOADER XMLTV_LOADER { get; }      //    IXMLTVSource Source { get; }
20          //void TestParse();      //    Dictionary<string, IXMLTVChannel> Channels { get; }
21          IXMLTVSource Source { get; }      //    Dictionary<int, IXMLTVProgram> Programs { get; }
22          Dictionary<string, IXMLTVChannel> Channels { get; }      //}
         Dictionary<int, IXMLTVProgram> Programs { get; }  
     }  
23    
24      public interface IXMLTVSource      public interface IXMLTVSource
25      {      {
# Line 37  namespace libxmltv.Interfaces Line 35  namespace libxmltv.Interfaces
35          string CallSign { get; }          string CallSign { get; }
36          string Name { get; }          string Name { get; }
37          string ToString();          string ToString();
38      }          }
39      public interface IXMLTVProgram      public interface IXMLTVProgram
40      {      {
41          int Id { get; }          int Id { get; }
# Line 49  namespace libxmltv.Interfaces Line 47  namespace libxmltv.Interfaces
47          string Description { get; }          string Description { get; }
48          string ToString();          string ToString();
49      }      }
     public interface IXMLTVRuntimeInstance : IXMLTVLoader, IXMLTVParser  
     {  
         //bool IsDisposing { get; }  
         //IXMLTVSerializer<IXMLTVRuntimeInstance> Serializer { get; }  
     }  
50    
51        public interface IXMLTVProgramCollection : IXMLTVCollection<int, IXMLTVProgram> { }
52        public interface IXMLTVChannelCollection : IXMLTVCollection<string, IXMLTVChannel> { }
53        public interface IXMLTVCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }
54    
55        //public interface IXMLTVBase : IXMLTVBase<object> { }
56        public interface IXMLTVBase<T> : IGetInstance<T> { }
57        public interface IXMLTVRuntimeInstance : IOnInstanceCreated
58        {
59            bool IsAborting { get; }
60            //FileInfo XmlFile { get; }
61            string XmlFile_Name { get; }
62            string XmlFile_FullName { get; }
63            string XmlDoc { get; }
64            IXMLTVSource Source { get; }
65            Dictionary<string, IXMLTVChannel> Channels { get; }
66            Dictionary<int, IXMLTVProgram> Programs { get; }
67            
68        }
69        public interface IXMLTVSerializer : IXMLTVSerializer<object> { }
70      public interface IXMLTVSerializer<T>      public interface IXMLTVSerializer<T>
71      {      {
72          bool Serialize(string file);          bool Serialize(string file);
# Line 62  namespace libxmltv.Interfaces Line 74  namespace libxmltv.Interfaces
74          T DeSerialize(string file, out bool status);          T DeSerialize(string file, out bool status);
75          T DeSerialize(Stream stream, out bool status);          T DeSerialize(Stream stream, out bool status);
76      }      }
77        public interface IXMLTV<INTERFACE, CLASS> : IXMLTV<INTERFACE, CLASS, EventArgs> where CLASS : class,INTERFACE { }
78      public interface IXMLTV<INTERFACE, CLASS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance      public interface IXMLTV<INTERFACE, CLASS, INSTANCECREATED_EVENTAGS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance, IOnInstanceCreated, IGetInstance<INTERFACE>
79          where CLASS : class,INTERFACE          where CLASS : class,INTERFACE
80      {          where INSTANCECREATED_EVENTAGS : EventArgs { }
81          IXMLTVSerializer<CLASS> CreateSerializer();  
82          INTERFACE GetInstance();      public interface IInstance : IInstance<object> { }
83          //CLASS GetInternalInstance();      public interface IInstance<T> { T Instance { get; set; } }
84          EventHandler<EventArgs> OnInstanceCreated { get; set; }      public interface ICreateSerializer : ICreateSerializer<object> { }
85      }      public interface ICreateSerializer<CLASS> { IXMLTVSerializer<CLASS> CreateSerializer(); }
86      public interface ISerializer<T>  
87      {      //public interface IGetInstanceT : IGetInstanceT<object> { }
88          IXMLTVSerializer<T> Serializer { get; }      //public interface IGetInstanceT<T> { T GetInstance<T>();  }
89      }      public interface IGetInstance : IGetInstance<object> { }
90      public interface IDestroyInstance      public interface IGetInstance<T> { T GetInstance();    }
91      {  
92          void DestroyInstance();      public interface IOnInstanceCreated : IOnInstanceCreated<EventArgs> { }
93      }      public interface IOnInstanceCreated<T> where T : EventArgs { EventHandler<T> OnInstanceCreated { get; set; } }
94      public interface IGetCreatedInstanceEvent      public interface ISerializer<T> { IXMLTVSerializer<T> Serializer { get; } }
95      {      public interface IDestroyInstance { void DestroyInstance();    }
96          EventHandler<EventArgs> GetOnInstanceCreated();      public interface IGetCreatedInstanceEvent : IGetCreatedInstanceEvent<EventArgs> { }
97      }      public interface IGetCreatedInstanceEvent<T> where T : EventArgs { EventHandler<T> GetOnInstanceCreated();    }
98      public interface ISetCreatedInstanceEvent      public interface ISetCreatedInstanceEvent : ISetCreatedInstanceEvent<EventArgs> { }
99      {      public interface ISetCreatedInstanceEvent<T> where T : EventArgs { void SetOnInstanceCreated(EventHandler<T> event_instance);    }
100          void SetOnInstanceCreated(EventHandler<EventArgs> event_instance);      public interface IRuntimeInstanceLoader : IRuntimeInstanceLoader<object> { }
101      }      public interface IRuntimeInstanceLoader<T> { T LoadFromInstance(T instance);    }
102  }  }

Legend:
Removed from v.54  
changed lines
  Added in v.72

  ViewVC Help
Powered by ViewVC 1.1.22