private ComDependencies BuildComDependencies() { var bootstrapper = CreateBootstrapper(); var container = new Container(); bootstrapper.RegisterMainApplication(container); container.Register <PrintFileHelperComFactory>(); container.Register <IComWorkflowFactory>(() => new ComWorkflowFactory(container)); container.RegisterSingleton(() => new ThreadPool()); container.Register <IPrintJobAdapterFactory, PrintJobAdapterFactory>(); container.RegisterInitializer <PdfCreatorUsageStatisticsManager>(m => m.IsComMode = true); DoModifyRegistrations(container); var dependencies = container.GetInstance <ComDependencies>(); LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error); var settingsManager = container.GetInstance <ISettingsManager>(); settingsManager.LoadAllSettings(); var translator = container.GetInstance <ITranslationHelper>(); translator.InitTranslator("english"); return(dependencies); }
private void App_OnStartup(object sender, StartupEventArgs e) { var globalMutex = new GlobalMutex("clawPDF-137a7751-1070-4db4-a407-83c1625762c7"); globalMutex.Acquire(); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; Thread.CurrentThread.Name = "ProgramThread"; try { LoggingHelper.InitFileLogger("clawPDF", LoggingLevel.Error); RunApplication(e.Args); } catch (Exception ex) { Logger.Error(ex, "There was an error while starting clawPDF"); } finally { globalMutex.Release(); Logger.Debug("Ending clawPDF"); Shutdown(); } }
private ComDependencies BuildComDependencies() { var bootstrapper = CreateBootstrapper(); var container = new Container(); bootstrapper.ConfigureContainer(container, new WindowRegistry(null)); container.Register <PrintFileHelperComFactory>(); container.Register <IComWorkflowFactory>(() => new ComWorkflowFactory(container)); container.RegisterSingleton(() => new ThreadPool()); container.Register <IPrintJobAdapterFactory, PrintJobAdapterFactory>(); var dependencies = container.GetInstance <ComDependencies>(); LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error); var settingsManager = container.GetInstance <ISettingsManager>(); settingsManager.LoadAllSettings(); var translator = container.GetInstance <TranslationHelper>(); translator.InitTranslator("english"); return(dependencies); }
private static void InitializeLogging() { LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error); var inMemoryLogger = new InMemoryLogger(100); inMemoryLogger.Register(); _errorReportHelper = new ErrorReportHelper(inMemoryLogger); }
private static void InitializeLogging() { LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error); var inMemoryLogger = new InMemoryLogger(100); inMemoryLogger.Register(); var assembly = typeof(ProgramBase).Assembly; _errorReportHelper = new ErrorReportHelper(inMemoryLogger, new VersionHelper(assembly), new AssemblyHelper(assembly)); }
/// <summary> /// Initializes the essential components like JobInfoQueue for the COM object /// </summary> public void Initialize() { COMLogger.Trace("COM: Starting initialization process"); _comJobInfoQueue = JobInfoQueue.Instance; _comJobInfoQueue.OnNewJobInfo += (sender, eventArgs) => OnNewJob(); _isComActive = true; if (IsServerInstanceRunning) { throw new InvalidOperationException("Access forbidden. An instance of PDFCreator is currently running."); } LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error); SettingsHelper.Init(); COMLogger.Trace("COM: Starting pipe server thread"); ThreadManager.Instance.StartPipeServerThread(); }