/[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

--- trunk/libxmltv/Interfaces/Interfaces.cs	2013/03/10 19:44:49	125
+++ trunk/libxmltv/Interfaces/Interfaces.cs	2013/05/18 02:45:35	256
@@ -31,12 +31,33 @@
         string ToString();
     }
 
-    //internal interface IChannelList : IDataSourceBindable
-    //{
-    //}
-    //internal interface IProgramList : IDataSourceBindable
-    //{
-    //}
+    public interface IRawDataSource : IRawDataSource<object> { }
+    public interface IRawDataSource<T> {
+         [Browsable(false)]
+        T RawDataSource { get; } }
+    public interface IProgramDefinitionList : IList<IProgramDefinition>, IDataSourceSortable, IDataSourceFilterable { } //, IRawDataSource<IProgramDefinitionList> { }
+    public interface IChannelDefintionList : IList<IChannelDefintion>, IDataSourceSortable, IDataSourceFilterable { }//, IRawDataSource<IChannelDefintionList> { }
+
+
+    public interface IChannelDefintion : IEquatable<IChannelDefintion>, IRawDataSource<IXMLTVChannel>
+    {
+        string ChannelId { get; }
+        string ChannelName { get; }
+        string ToString();
+    }
+    public interface IProgramDefinition : IEquatable<IProgramDefinition>, IRawDataSource<IXMLTVProgram>
+    {
+        //string ChannelId { get;  }
+        int ChannelNumber { get; } // column index: 0
+        string ChannelName { get; }// column index: 1
+        string Start { get; }// column index: 2
+        string Stop { get; }// column index: 3
+        string Title { get; }// column index: 4
+        string SubTitle { get; }// column index: 5
+        string Description { get; }// column index: 6
+        string Rating { get; }// column index: 7
+        string ToString();
+    }
     public interface IXMLTVChannel
     {
         string Id { get; }
@@ -49,7 +70,7 @@
     public interface IXMLTVProgram 
     {
         IPropertyDictionary MetaData { get; }
-        ExtraList GetExtraMetaData();
+        List<IExtraMetaData> GetExtraMetaData();
     }
 
     public interface IExtraMetaData : IExtraMetaData<string, string> { }
@@ -58,18 +79,23 @@
         XElement AsXElement();
     }
 
-    public interface IDataSourceBindable
+    //public interface IDataConverter { object ConvertObjectData(object source); }
+    //public interface IDataConverter<T>
+    //{
+    //    T ConvertData(object source);
+    //}
+    public interface IDataSourceBindable //: IDataConverter
     {
-        object CreateBindableDataSource();
+        object CreateBindableDataSource(out Type type);
     }
 
     public interface IDataSourceFilterable
     {
-        object Filter(object source, params string[] args);
+        void Filter(ref object source, params string[] args);
     }
     public interface IDataSourceSortable
     {
-        object Sort(object source, params string[] args);
+        void Sort(ref object source, bool descending, params string[] args);
     }
 
     internal interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }

 

  ViewVC Help
Powered by ViewVC 1.1.22