/[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 118 by william, Sun Mar 10 17:41:52 2013 UTC revision 256 by william, Sat May 18 02:45:35 2013 UTC
# Line 23  namespace libxmltv.Interfaces Line 23  namespace libxmltv.Interfaces
23      //    Dictionary<int, IXMLTVProgram> Programs { get; }      //    Dictionary<int, IXMLTVProgram> Programs { get; }
24      //}      //}
25    
26      public interface IXMLTVSource      public interface IXMLTVSource : IDataSourceBindable
27      {      {
28          string SourceName { get; }          string SourceName { get; }
29          string GeneratorName { get; }          string GeneratorName { get; }
30          string GeneratorUrl { get; }          string GeneratorUrl { get; }
31          string ToString();          string ToString();
32      }      }
33    
34        public interface IRawDataSource : IRawDataSource<object> { }
35        public interface IRawDataSource<T> {
36             [Browsable(false)]
37            T RawDataSource { get; } }
38        public interface IProgramDefinitionList : IList<IProgramDefinition>, IDataSourceSortable, IDataSourceFilterable { } //, IRawDataSource<IProgramDefinitionList> { }
39        public interface IChannelDefintionList : IList<IChannelDefintion>, IDataSourceSortable, IDataSourceFilterable { }//, IRawDataSource<IChannelDefintionList> { }
40    
41    
42        public interface IChannelDefintion : IEquatable<IChannelDefintion>, IRawDataSource<IXMLTVChannel>
43        {
44            string ChannelId { get; }
45            string ChannelName { get; }
46            string ToString();
47        }
48        public interface IProgramDefinition : IEquatable<IProgramDefinition>, IRawDataSource<IXMLTVProgram>
49        {
50            //string ChannelId { get;  }
51            int ChannelNumber { get; } // column index: 0
52            string ChannelName { get; }// column index: 1
53            string Start { get; }// column index: 2
54            string Stop { get; }// column index: 3
55            string Title { get; }// column index: 4
56            string SubTitle { get; }// column index: 5
57            string Description { get; }// column index: 6
58            string Rating { get; }// column index: 7
59            string ToString();
60        }
61      public interface IXMLTVChannel      public interface IXMLTVChannel
62      {      {
63          string Id { get; }          string Id { get; }
# Line 39  namespace libxmltv.Interfaces Line 67  namespace libxmltv.Interfaces
67          IPropertyList MetaData { get; }          IPropertyList MetaData { get; }
68          string ToString();          string ToString();
69      }      }
70      public interface IXMLTVProgram      public interface IXMLTVProgram
71      {      {
72          IPropertyDictionary MetaData { get; }          IPropertyDictionary MetaData { get; }
73          List<IExtraMetaData> GetExtraMetaData();          List<IExtraMetaData> GetExtraMetaData();
# Line 50  namespace libxmltv.Interfaces Line 78  namespace libxmltv.Interfaces
78      {      {
79          XElement AsXElement();          XElement AsXElement();
80      }      }
81    
82        //public interface IDataConverter { object ConvertObjectData(object source); }
83        //public interface IDataConverter<T>
84        //{
85        //    T ConvertData(object source);
86        //}
87        public interface IDataSourceBindable //: IDataConverter
88        {
89            object CreateBindableDataSource(out Type type);
90        }
91    
92        public interface IDataSourceFilterable
93        {
94            void Filter(ref object source, params string[] args);
95        }
96        public interface IDataSourceSortable
97        {
98            void Sort(ref object source, bool descending, params string[] args);
99        }
100    
101      internal interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }      internal interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }
102      internal interface IXMLTVChannelCollection : IXMLTVDictionaryCollection<string, IXMLTVChannel> { }      internal interface IXMLTVChannelCollection : IXMLTVDictionaryCollection<string, IXMLTVChannel> { }
103      internal interface IXMLTVDictionaryCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }      internal interface IXMLTVDictionaryCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }
# Line 68  namespace libxmltv.Interfaces Line 116  namespace libxmltv.Interfaces
116          string XmlFile_FullName { get; }          string XmlFile_FullName { get; }
117          string XmlDoc { get; }          string XmlDoc { get; }
118          IXMLTVSource Source { get; }          IXMLTVSource Source { get; }
119          List<IXMLTVChannel> Channels { get; }          ChannelList Channels { get; }
120          List<IXMLTVProgram> Programs { get; }          ProgramList Programs { get; }
121          List<IExtraMetaData> ExtraEntries { get; }         ExtraList ExtraEntries { get; }
122      }      }
123      internal interface IXMLTVSerializer : IXMLTVSerializer<object> { }      internal interface IXMLTVSerializer : IXMLTVSerializer<object> { }
124      internal interface IXMLTVSerializer<T>      internal interface IXMLTVSerializer<T>

Legend:
Removed from v.118  
changed lines
  Added in v.256

  ViewVC Help
Powered by ViewVC 1.1.22