/// <summary> /// Returns the core settings accessor. /// </summary> /// <returns></returns> internal ICoreSettings GetCoreSettingsAccessor() { if (CoreSettings != null) { return(CoreSettings); } else { base.WriteVerbose("Initializing core settings accessor."); CoreSettings = new WindowsCoreSettings(); return(CoreSettings); } }
/// <summary> /// Core application start. /// </summary> private void CoreStart() { CoreSettings = new WindowsCoreSettings(); StartLoggers(); CoreLog.WriteSystemEvent( string.Format("Starting {0} client service version {1}.", ArchivialLibrary.Constants.Logging.AppName, Assembly.GetExecutingAssembly().GetName().Version.ToString()), EventLogEntryType.Information, ArchivialLibrary.Constants.EventIDs.StartingService, true); var dbTask = ConfigureDatabaseAsync(); dbTask.Wait(); if (!dbTask.Result) { Stop(); return; } if (!StartCoreServiceEngine()) { Stop(); return; } if (!StartConnectionEngine()) { Stop(); return; } if (!StartStatusEngine()) { Stop(); return; } if (!StartScanEngine()) { Stop(); return; } var beTask = StartBackupEnginesAsync(); beTask.Wait(); if (!beTask.Result) { Stop(); return; } var cleTask = StartCleanupEnginesAsync(); cleTask.Wait(); if (!cleTask.Result) { Stop(); return; } CoreLog.WriteSystemEvent( string.Format("Successfully started {0} client service.", ArchivialLibrary.Constants.Logging.AppName), EventLogEntryType.Information, ArchivialLibrary.Constants.EventIDs.StartedService, true); }