--- trunk/libxmltv/Core/XMLTV_LOADER.cs 2013/03/07 10:04:58 21 +++ trunk/libxmltv/Core/XMLTV_LOADER.cs 2013/03/07 10:20:50 22 @@ -8,50 +8,20 @@ using Enterprise.Logging; using System.Xml.Linq; namespace libxmltv.Core -{ - /// <summary> - /// Main class: Creates the XMLTV Loader - /// </summary> - public static class XMLTV - { - public static object CreateLoader(string xml_file) - { - XMLTV_LOGGER.Initialize(); - XMLTV_LOADER loader = new XMLTV_LOADER(xml_file); - return loader; - } - public static void Test(object xmltv) - { - if (!VerifyInstance<XMLTV_LOADER>(xmltv)) { return; } - } - - - private static bool VerifyInstance<T>(object xmltv) where T : class - { - try - { - if (xmltv == null) { return false; } - T t = (xmltv as T); - if (t == null) { throw new InvalidCastException(string.Format("Unable to cast type: {0} to {1}", xmltv.GetType().Name, typeof(T).Name)); } - else { return true; } - } - catch (Exception ex) - { - throw new InvalidCastException(string.Format("Unable to cast type: {0} to {1}", xmltv.GetType().Name, typeof(T).Name), ex); - } - } - } - +{ internal class XMLTV_LOADER : IXMLTV_LOADER { private string xmlfile = string.Empty; - public XMLTV_LOADER(string xml_file) + public XMLTV_LOADER(object xmltv) { - xmlfile = xml_file; + string _xmltv; + if (!Internals.VerifyInstance<string>(xmltv, out _xmltv)) { return; } + xmlfile = _xmltv; LoadXml(); } #region IXMLTV_LOADER public FileInfo XmlFile { get { return new FileInfo(xmlfile); } } + public XDocument XmlDoc { get; private set; } #endregion private void LoadXml() @@ -60,7 +30,7 @@ namespace libxmltv.Core //XMLTV_LOGGER.Log.Warn.WriteLine("XML File Loading has not been implemented yet!"); try { - XDocument doc = XDocument.Load(XmlFile.FullName); + XmlDoc = XDocument.Load(XmlFile.FullName); } catch (Exception ex) { |