/[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 113 by william, Sun Mar 10 15:54:52 2013 UTC revision 117 by william, Sun Mar 10 17:10:47 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      internal interface IXMLTVSource
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      public interface IXMLTVChannel      internal interface IXMLTVChannel
34      {      {
35          string Id { get; }          string Id { get; }
36          //int Number { get; }          //int Number { get; }
# Line 39  namespace libxmltv.Interfaces Line 39  namespace libxmltv.Interfaces
39          PropertyList MetaData { get; }          PropertyList MetaData { get; }
40          string ToString();          string ToString();
41      }      }
42      public interface IXMLTVProgram      internal interface IXMLTVProgram
43      {      {
44          PropertyDictionary MetaData { get; }          PropertyDictionary MetaData { get; }
45          List<IExtraMetaData> GetExtraMetaData();          List<IExtraMetaData> GetExtraMetaData();
46      }      }
47        
48      public interface IExtraMetaData : IExtraMetaData<string, string> { }      internal interface IExtraMetaData : IExtraMetaData<string, string> { }
49      public interface IExtraMetaData<TKey, TValue> : IPropertyValuePair<TKey, TValue>      internal interface IExtraMetaData<TKey, TValue> : IPropertyValuePair<TKey, TValue>
50      {      {
51          XElement AsXElement();          XElement AsXElement();
52      }      }
53      public interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }      internal interface IXMLTVProgramCollection : IXMLTVDictionaryCollection<string, IXMLTVProgram> { }
54      public interface IXMLTVChannelCollection : IXMLTVDictionaryCollection<string, IXMLTVChannel> { }      internal interface IXMLTVChannelCollection : IXMLTVDictionaryCollection<string, IXMLTVChannel> { }
55      public interface IXMLTVDictionaryCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }      internal interface IXMLTVDictionaryCollection<TKey, TValue> { Dictionary<TKey, TValue> Collection { get; } }
56      public interface IXMLTVListCollection<TValue> { List<TValue> Collection { get; } }      internal interface IXMLTVListCollection<TValue> { List<TValue> Collection { get; } }
57    
58      public interface IXMLTVHandler : IXMLTVHandler<object> { }      internal interface IXMLTVHandler : IXMLTVHandler<object> { }
59      public interface IXMLTVHandler<T> { T Handler { get; } }      internal interface IXMLTVHandler<T> { T Handler { get; } }
60    
61      //public interface IXMLTVBase : IXMLTVBase<object> { }      //public interface IXMLTVBase : IXMLTVBase<object> { }
62      public interface IXMLTVBase<T> : IGetInstance<T>, IXMLTVHandler { }      internal interface IXMLTVBase<T> : IGetInstance<T>, IXMLTVHandler { }
63      public interface IXMLTVRuntimeInstance : IOnInstanceCreated      internal interface IXMLTVRuntimeInstance : IOnInstanceCreated
64      {      {
65          bool IsAborting { get; }          bool IsAborting { get; }
66          //FileInfo XmlFile { get; }          //FileInfo XmlFile { get; }
# Line 72  namespace libxmltv.Interfaces Line 72  namespace libxmltv.Interfaces
72          List<IXMLTVProgram> Programs { get; }          List<IXMLTVProgram> Programs { get; }
73          List<IExtraMetaData> ExtraEntries { get; }          List<IExtraMetaData> ExtraEntries { get; }
74      }      }
75      public interface IXMLTVSerializer : IXMLTVSerializer<object> { }      internal interface IXMLTVSerializer : IXMLTVSerializer<object> { }
76      public interface IXMLTVSerializer<T>      internal interface IXMLTVSerializer<T>
77      {      {
78          bool Serialize(string file);          bool Serialize(string file);
79          bool Serialize(Stream stream);          bool Serialize(Stream stream);
80          T DeSerialize(string file, out bool status);          T DeSerialize(string file, out bool status);
81          T DeSerialize(Stream stream, out bool status);          T DeSerialize(Stream stream, out bool status);
82      }      }
83      public interface IXMLTV<INTERFACE, CLASS> : IXMLTV<INTERFACE, CLASS, EventArgs> where CLASS : class,INTERFACE { }      internal interface IXMLTV<INTERFACE, CLASS> : IXMLTV<INTERFACE, CLASS, EventArgs> where CLASS : class,INTERFACE { }
84      public interface IXMLTV<INTERFACE, CLASS, INSTANCECREATED_EVENTAGS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance, IOnInstanceCreated, IGetInstance<INTERFACE>      internal interface IXMLTV<INTERFACE, CLASS, INSTANCECREATED_EVENTAGS> : IXMLTVSerializer<INTERFACE>, IDestroyInstance, IOnInstanceCreated, IGetInstance<INTERFACE>, ISetInstance<INTERFACE>
85          where CLASS : class,INTERFACE          where CLASS : class,INTERFACE
86          where INSTANCECREATED_EVENTAGS : EventArgs { }          where INSTANCECREATED_EVENTAGS : EventArgs { }
87    
88      public interface IInstance : IInstance<object> { }      internal interface IInstance : IInstance<object> { }
89      public interface IInstance<T> { T Instance { get; set; } }      internal interface IInstance<T> { T Instance { get; set; } }
90      public interface ICreateSerializer : ICreateSerializer<object> { }      internal interface ICreateSerializer : ICreateSerializer<object> { }
91      public interface ICreateSerializer<CLASS> { IXMLTVSerializer<CLASS> CreateSerializer(); }      internal interface ICreateSerializer<CLASS> { IXMLTVSerializer<CLASS> CreateSerializer(); }
92    
93      //public interface IGetInstanceT : IGetInstanceT<object> { }      //public interface IGetInstanceT : IGetInstanceT<object> { }
94      //public interface IGetInstanceT<T> { T GetInstance<T>();  }      //public interface IGetInstanceT<T> { T GetInstance<T>();  }
95      public interface IGetInstance : IGetInstance<object> { }      internal interface IGetInstance : IGetInstance<object> { }
96      public interface IGetInstance<T> { T GetInstance();    }      internal interface IGetInstance<T> { T GetInstance();    }
97    
98        internal interface ISetInstance : ISetInstance<object> { }
99        internal interface ISetInstance<T> { void SetInstance(T instance);    }
100    
101      public interface IOnInstanceCreated : IOnInstanceCreated<EventArgs> { }      internal interface IOnInstanceCreated : IOnInstanceCreated<EventArgs> { }
102      public interface IOnInstanceCreated<T> where T : EventArgs { EventHandler<T> OnInstanceCreated { get; set; } }      internal interface IOnInstanceCreated<T> where T : EventArgs { EventHandler<T> OnInstanceCreated { get; set; } }
103      public interface ISerializer<T> { IXMLTVSerializer<T> Serializer { get; } }      internal interface ISerializer<T> { IXMLTVSerializer<T> Serializer { get; } }
104      public interface IDestroyInstance { void DestroyInstance();    }      internal interface IDestroyInstance { void DestroyInstance();    }
105      public interface IGetCreatedInstanceEvent : IGetCreatedInstanceEvent<EventArgs> { }      internal interface IGetCreatedInstanceEvent : IGetCreatedInstanceEvent<EventArgs> { }
106      public interface IGetCreatedInstanceEvent<T> where T : EventArgs { EventHandler<T> GetOnInstanceCreated();    }      internal interface IGetCreatedInstanceEvent<T> where T : EventArgs { EventHandler<T> GetOnInstanceCreated();    }
107      public interface ISetCreatedInstanceEvent : ISetCreatedInstanceEvent<EventArgs> { }      internal interface ISetCreatedInstanceEvent : ISetCreatedInstanceEvent<EventArgs> { }
108      public interface ISetCreatedInstanceEvent<T> where T : EventArgs { void SetOnInstanceCreated(EventHandler<T> event_instance);    }      internal interface ISetCreatedInstanceEvent<T> where T : EventArgs { void SetOnInstanceCreated(EventHandler<T> event_instance);    }
109      public interface IRuntimeInstanceLoader : IRuntimeInstanceLoader<object> { }      internal interface IRuntimeInstanceLoader : IRuntimeInstanceLoader<object> { }
110      public interface IRuntimeInstanceLoader<T> { T LoadFromInstance(T instance);    }      internal interface IRuntimeInstanceLoader<T> { T LoadFromInstance(T instance);    }
111    
112    
113  #region Property Dictionary support  #region Property Dictionary support

Legend:
Removed from v.113  
changed lines
  Added in v.117

  ViewVC Help
Powered by ViewVC 1.1.22