Exemplo n.º 1
0
 private Terminals.Integration.Import.IImport FindImportType(string Extension)
 {
     Terminals.Integration.Import.IImport import = null;
     if (Importers == null)
     {
         System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));
         string[] patterns           = new string[] { "*.dll", "*.exe" };
         foreach (string pattern in patterns)
         {
             foreach (System.IO.FileInfo fi in dir.GetFiles(pattern))
             {
                 try
                 {
                     System.Reflection.Assembly asm = System.Reflection.Assembly.LoadFile(fi.FullName);
                     if (asm != null)
                     {
                         foreach (Type t in asm.GetTypes())
                         {
                             try
                             {
                                 if (typeof(Terminals.Integration.Import.IImport).IsAssignableFrom(t) && t.IsClass)
                                 {
                                     if (Importers == null)
                                     {
                                         Importers = new List <Type>();
                                     }
                                     Importers.Add(t);
                                 }
                             }
                             catch (Exception exc) { Terminals.Logging.Log.Info("", exc); }
                         }
                     }
                 }
                 catch (Exception exc)
                 {
                     Terminals.Logging.Log.Info("", exc);
                     //do nothing
                 }
             }
         }
     }
     if (Importers != null)
     {
         foreach (Type t in Importers)
         {
             Terminals.Integration.Import.IImport i = (t.Assembly.CreateInstance(t.FullName) as Terminals.Integration.Import.IImport);
             if (i != null && i.KnownExtension != null)
             {
                 if (i.KnownExtension == Extension)
                 {
                     import = i;
                     break;
                 }
             }
         }
     }
     return(import);
 }
Exemplo n.º 2
0
        public FavoriteConfigurationElementCollection ImportFavorites(string Filename)
        {
            string FileExtension = System.IO.Path.GetExtension(Filename).ToLower();

            Terminals.Integration.Import.IImport import = FindImportType(FileExtension);
            if (import == null)
            {
                return(null);
            }
            return(import.ImportFavorites(Filename));
        }