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

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

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

--- trunk/libxmltv/Core/XMLTV_LOADER.cs	2013/03/07 10:20:50	22
+++ trunk/libxmltv/Core/XMLTVLoader.cs	2013/03/08 03:36:44	44
@@ -9,34 +9,48 @@
 
 namespace libxmltv.Core
 {   
-    internal class XMLTV_LOADER : IXMLTV_LOADER
+    internal class XMLTVLoader : IDisposable
     {
         private string xmlfile = string.Empty;
-        public XMLTV_LOADER(object xmltv)
+        internal static void CreateInstance(string xml_file, XMLTVRuntimeInstance xmltv)
         {
-            string _xmltv;
-            if (!Internals.VerifyInstance<string>(xmltv, out _xmltv)) { return; }
-            xmlfile = _xmltv;
+            using (XMLTVLoader g = new XMLTVLoader(xml_file, xmltv)) { }            
+        }
+        private XMLTVRuntimeInstance instance;
+        protected XMLTVLoader(string xml_file, XMLTVRuntimeInstance xmltv)
+        {
+            XMLTV_LOGGER.Log.Verbose.Debug.WriteLine("Creating Instance of XMLTVLoader");
+            //string _xmltv;
+            //if (!Internals.VerifyInstance<string>(xmltv, out _xmltv)) { return; }
+            //xmlfile = _xmltv;
+            //LoadXml();
+            instance = xmltv;
+            instance.XmlFile = new FileInfo(xml_file);
             LoadXml();
         }
-        #region IXMLTV_LOADER
-        public FileInfo XmlFile { get { return new FileInfo(xmlfile); } }
-        public XDocument XmlDoc { get; private set; }
-        #endregion
+        //#region IXMLTV_LOADER
+        //public FileInfo XmlFile { get { return new FileInfo(xmlfile); } }
+        //public XDocument XmlDoc { get; private set; }
+        //#endregion
 
         private void LoadXml()
         {
-            XMLTV_LOGGER.Log.Info.WriteLine("Loading XMLTV File: {0}", XmlFile.Name);
+            XMLTV_LOGGER.Log.Info.WriteLine("Loading XMLTV File: {0}", instance.XmlFile.Name);
             //XMLTV_LOGGER.Log.Warn.WriteLine("XML File Loading has not been implemented yet!");
             try
             {
-                XmlDoc =  XDocument.Load(XmlFile.FullName);
+                instance.XmlDoc = XDocument.Load(instance.XmlFile.FullName);
             }
             catch (Exception ex)
             {
-                XMLTV_LOGGER.Log.Error.WriteLine("Failed to load XMLTV File: {0}", XmlFile.Name);
+                XMLTV_LOGGER.Log.Error.WriteLine("Failed to load XMLTV File: {0}", instance.XmlFile.Name);
                 XMLTV_LOGGER.Log.Error.WriteLine(ex.GetBaseException().ToString());
             }
         }
+
+        public void Dispose()
+        {
+            //throw new NotImplementedException();
+        }
     }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22