Exemple #1
0
 private ApplicationBase LoadApplication(DirectoryInfo dir)
 {
     EnterMethod();
     try
     {
         XmlDocument doc = new XmlDocument();
         if (dir.GetFiles("app.config").Length != 0)
         {
             doc.Load(dir.FullName + Path.DirectorySeparatorChar + "app.config");
         }
         string          AppTypeName = ApplicationBase.ReadAppSetting(doc, "Application.Type", "unknown");
         ApplicationBase app         = null;
         foreach (ApplicationType apptype in AvailableApplicationTypes)
         {
             if (apptype.ApplicationTypeName == AppTypeName)
             {
                 LogString("Loading {0}...", AppTypeName);
                 app = apptype.ApplicationFactory(this, doc, dir);
                 LogString("Created {0}: {1}", AppTypeName, app.Name);
                 Applications.Add(app);
                 app.Load();
                 break;
             }
         }
         if (app == null)
         {
             LogString("Unknown application: " + AppTypeName);
         }
         return(app);
     }
     catch (Exception E)
     {
         SendError(E);
         throw;
     }
     finally
     {
         ExitMethod();
     }
 }