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

Diff of /trunk/libxmltv/Core/XMLTVRuntimeInstance.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 44 by william, Fri Mar 8 03:36:44 2013 UTC revision 46 by william, Fri Mar 8 04:01:25 2013 UTC
# Line 3  using System.Collections.Generic; Line 3  using System.Collections.Generic;
3  using System.Linq;  using System.Linq;
4  using System.Text;  using System.Text;
5  using libxmltv.Interfaces;  using libxmltv.Interfaces;
6    using System.ComponentModel;
7    
8  namespace libxmltv.Core  namespace libxmltv.Core
9  {  {
10      internal class XMLTVRuntimeInstance : MarshalByRefObject, IXMLTVRuntimeInstance, IDisposable      internal class XMLTVRuntimeInstance : MarshalByRefObject, IXMLTVRuntimeInstance
11      {      {
12          public XMLTVRuntimeInstance(string xmlfile) { CreateInstance(xmlfile); }          public XMLTVRuntimeInstance(string xmlfile) : this(xmlfile, null) { }
13          private void CreateInstance(string xmlfile) { Instance = new XMLTVInstance(xmlfile, this); }          public XMLTVRuntimeInstance(string xmlfile, EventHandler<CancelEventArgs> t) { CreateInstance(xmlfile,t); }
14            private void CreateInstance(string xmlfile, EventHandler<CancelEventArgs> t)
15            {
16                CancelEvent = t;
17                using (Instance = new XMLTVInstance(xmlfile, this))
18                {
19                }
20            }
21    
22          internal XMLTVInstance Instance { get; private set; }          internal XMLTVInstance Instance { get; private set; }
23    
24          #region IXMLTV_LOADER members          #region IXMLTV_LOADER members
# Line 22  namespace libxmltv.Core Line 31  namespace libxmltv.Core
31          public Dictionary<int, IXMLTVProgram> Programs { get; set; }          public Dictionary<int, IXMLTVProgram> Programs { get; set; }
32          #endregion            #endregion  
33            
34          public void Dispose()          //public void Dispose()
35            //{
36            //    IsDisposing = true;
37            //    //throw new NotImplementedException();
38            //}
39            //public bool IsDisposing { get; private set; }
40    
41    
42            private event EventHandler<CancelEventArgs> CancelEvent = null;
43    
44            public bool IsAborting
45          {          {
46              IsDisposing = true;              get
47              //throw new NotImplementedException();              {
48                    if (CancelEvent != null)
49                    {
50                        CancelEventArgs e = new CancelEventArgs();
51                        CancelEvent.Invoke(this, e);
52                        if (e.Cancel)
53                        {
54                            xmltv_logger.Log.Verbose.Debug.WriteLine("Detected Instance abort event...");
55                        }
56                        return e.Cancel;
57                    }
58                    return false;
59                }
60          }          }
61          public bool IsDisposing { get; private set; }  
62    
63      }      }
64    
65      internal class XMLTVInstance : IDisposable      internal class XMLTVInstance : IDisposable

Legend:
Removed from v.44  
changed lines
  Added in v.46

  ViewVC Help
Powered by ViewVC 1.1.22