/[xmltv_parser]/trunk/libxmltv/Core/XMLTVInstance.cs
ViewVC logotype

Contents of /trunk/libxmltv/Core/XMLTVInstance.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 50 - (show annotations) (download)
Fri Mar 8 06:15:44 2013 UTC (7 years, 9 months ago) by william
File size: 3097 byte(s)

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using libxmltv.Interfaces;
6 using System.ComponentModel;
7
8 namespace libxmltv.Core
9 {
10 [Serializable]
11 internal class XMLTVRuntimeInstance : MarshalByRefObject, IXMLTVRuntimeInstance
12 {
13 public XMLTVRuntimeInstance(string xmlfile) : this(xmlfile, null) { }
14 public XMLTVRuntimeInstance(string xmlfile, EventHandler<CancelEventArgs> t) { CreateInstance(xmlfile,t); }
15 private void CreateInstance(string xmlfile, EventHandler<CancelEventArgs> t)
16 {
17 CancelEvent = t;
18 using (XMLTVInstance instance = new XMLTVInstance(xmlfile, this))
19 {
20 }
21 }
22
23 //internal XMLTVInstance Instance { get; private set; }
24
25 #region IXMLTV_LOADER members
26 public System.IO.FileInfo XmlFile { get; set; }
27 public string XmlDoc { get; set; }
28 #endregion
29 #region IXMLTV_PARSER Members
30 public IXMLTVSource Source { get; set; }
31 public Dictionary<string, IXMLTVChannel> Channels { get; set; }
32 public Dictionary<int, IXMLTVProgram> Programs { get; set; }
33 #endregion
34
35 //internal IXMLTVSerializer<IXMLTVRuntimeInstance> Serializer
36 //{
37 // get
38 // {
39 // return new XMLTVSerializer<IXMLTVRuntimeInstance>(this);
40 // }
41 //}
42 //public void Dispose()
43 //{
44 // IsDisposing = true;
45 // //throw new NotImplementedException();
46 //}
47 //public bool IsDisposing { get; private set; }
48
49
50 private event EventHandler<CancelEventArgs> CancelEvent = null;
51
52 public bool IsAborting
53 {
54 get
55 {
56 if (CancelEvent != null)
57 {
58 CancelEventArgs e = new CancelEventArgs();
59 CancelEvent.Invoke(this, e);
60 if (e.Cancel)
61 {
62 xmltv_logger.Log.Verbose.Debug.WriteLine("Detected Instance abort event...");
63 }
64 return e.Cancel;
65 }
66 return false;
67 }
68 }
69
70
71 }
72
73 internal class XMLTVInstance : IDisposable
74 {
75 public XMLTVInstance(string xmlfile, XMLTVRuntimeInstance instance)
76 {
77 CreateLoader(xmlfile, instance);
78 CreateParser(instance);
79 }
80
81 private void CreateLoader(string xml_file, XMLTVRuntimeInstance instance)
82 {
83 //XMLTVLoader loader = new XMLTVLoader(xml_file, instance);
84 XMLTVLoader.CreateInstance(xml_file, instance);
85 }
86 private void CreateParser(XMLTVRuntimeInstance instance)
87 {
88 //XMLTVParser parser = new XMLTVParser(instance);
89 XMLTVParser.CreateInstance(instance);
90 }
91
92 public void Dispose()
93 {
94 //throw new NotImplementedException();
95 }
96 }
97 }

  ViewVC Help
Powered by ViewVC 1.1.22