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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        private static void InitializeLogging()
        {
            LoggingHelper.InitFileLogger("PDFCreator", LoggingLevel.Error);
            var inMemoryLogger = new InMemoryLogger(100);

            inMemoryLogger.Register();
            _errorReportHelper = new ErrorReportHelper(inMemoryLogger);
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
        /// <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();
        }