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

--- trunk/libxmltv/Core/XMLTVInstance.cs	2013/03/08 03:41:18	45
+++ trunk/libxmltv/Core/XMLTVInstance.cs	2013/03/08 04:01:25	46
@@ -3,18 +3,22 @@
 using System.Linq;
 using System.Text;
 using libxmltv.Interfaces;
+using System.ComponentModel;
 
 namespace libxmltv.Core
 {
     internal class XMLTVRuntimeInstance : MarshalByRefObject, IXMLTVRuntimeInstance
     {
-        public XMLTVRuntimeInstance(string xmlfile) { CreateInstance(xmlfile); }
-        private void CreateInstance(string xmlfile) 
+        public XMLTVRuntimeInstance(string xmlfile) : this(xmlfile, null) { }
+        public XMLTVRuntimeInstance(string xmlfile, EventHandler<CancelEventArgs> t) { CreateInstance(xmlfile,t); }
+        private void CreateInstance(string xmlfile, EventHandler<CancelEventArgs> t)
         {
+            CancelEvent = t;
             using (Instance = new XMLTVInstance(xmlfile, this))
             {
             }
         }
+
         internal XMLTVInstance Instance { get; private set; }
 
         #region IXMLTV_LOADER members
@@ -32,7 +36,30 @@
         //    IsDisposing = true;
         //    //throw new NotImplementedException();
         //}
-        public bool IsDisposing { get; private set; }
+        //public bool IsDisposing { get; private set; }
+
+
+        private event EventHandler<CancelEventArgs> CancelEvent = null;
+
+        public bool IsAborting
+        {
+            get
+            {
+                if (CancelEvent != null)
+                {
+                    CancelEventArgs e = new CancelEventArgs();
+                    CancelEvent.Invoke(this, e);
+                    if (e.Cancel)
+                    {
+                        xmltv_logger.Log.Verbose.Debug.WriteLine("Detected Instance abort event...");
+                    }
+                    return e.Cancel;
+                }
+                return false;
+            }
+        }
+
+
     }
 
     internal class XMLTVInstance : IDisposable

 

  ViewVC Help
Powered by ViewVC 1.1.22