--- trunk/libxmltv/Core/XMLTV_LOADER.cs 2013/03/07 10:20:50 22 +++ trunk/libxmltv/Core/XMLTVLoader.cs 2013/03/08 04:01:25 46 @@ -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(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(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.Warn.WriteLine("XML File Loading has not been implemented yet!"); + 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(ex.GetBaseException().ToString()); + 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(); + } } }