コード例 #1
0
        public void UnitTest_LogFileListenerOneLineWithDate()
        {
            LogFileListener logListener = new LogFileListener(@"C:\Temp\TestLog.log");

            Trace.Listeners.Add(logListener);
            Trace.IndentLevel = 0;

            Trace.WriteLine("This is a test.");

            Trace.Listeners.Clear();
            logListener.Dispose();

            List <string> lines = File.ReadAllLines(@"C:\Temp\TestLog.log").ToList();

            Assert.IsTrue(lines.Count == 1);

            string firstLine = lines.FirstOrDefault();
            string datePart  = firstLine.Split('-').First().Trim();
            string msgPart   = firstLine.Split('-').Last().Trim();

            DateTime dateTime;
            bool     isDate = DateTime.TryParse(datePart, out dateTime);

            Assert.IsTrue(isDate);

            Assert.IsTrue(msgPart == "This is a test.");
        }
コード例 #2
0
        public override void Dispose()
        {
            CoreConfig.save();
            PerformanceMonitor.destroyEnabledState();

            pluginManager.Dispose();
            mainWindow.Dispose();
            base.Dispose();
            logListener.Dispose();
        }
コード例 #3
0
        public override void Dispose()
        {
            startup.Disposing(this, pluginManager);

            CoreConfig.save();
            PerformanceMonitor.destroyEnabledState();

            var sceneController = pluginManager.GlobalScope.ServiceProvider.GetRequiredService <SceneController>();

            sceneController.destroyScene();
            sceneController.clearResources();

            pluginManager.Dispose();
            mainWindow.Dispose();
            base.Dispose();
            logListener.Dispose();
        }
コード例 #4
0
        public void UnitTest_LogFileListenerOneLineNoDate()
        {
            LogFileListener logListener = new LogFileListener(@"C:\Temp\TestLog.log", false);

            Trace.Listeners.Add(logListener);
            Trace.IndentLevel = 0;

            Trace.WriteLine("This is a test.");

            Trace.Listeners.Clear();
            logListener.Dispose();

            List <string> lines = File.ReadAllLines(@"C:\Temp\TestLog.log").ToList();

            Assert.IsTrue(lines.Count == 1);
            Assert.IsTrue(lines.Contains("This is a test."));
        }
コード例 #5
0
        public void UnitTest_LogFileListenerMultiWriteSingleLineNoDate()
        {
            LogFileListener logListener = new LogFileListener(@"C:\Temp\TestLog.log", false);

            Trace.Listeners.Add(logListener);
            Trace.IndentLevel = 0;

            Trace.Write("1 ");
            Trace.Write("2");

            Trace.Listeners.Clear();
            logListener.Dispose();

            List <string> lines = File.ReadAllLines(@"C:\Temp\TestLog.log").ToList();

            Assert.IsTrue(lines.Count == 1, $"line count: {lines.Count}");
            Assert.IsTrue(lines.Contains("1 2"), $"line: {lines.First().Replace(" ", "|")}");
        }
コード例 #6
0
        public void UnitTest_LogFileListenerOneLineNoDateDefaultLocation()
        {
            LogFileListener logListener = new LogFileListener(includeDateTime: false);
            string          logFilename = logListener.LogFilename;

            Trace.Listeners.Add(logListener);
            Trace.IndentLevel = 0;

            Trace.WriteLine("This is a test.");

            Trace.Listeners.Clear();
            logListener.Dispose();

            List <string> lines = File.ReadAllLines(logFilename).ToList();

            Assert.IsTrue(lines.Count == 1);
            Assert.IsTrue(lines.Contains("This is a test."));
        }
コード例 #7
0
        public void UnitTest_LogFileWhenLocked()
        {
            FileStream fileStream1 = new FileStream(@"C:\Temp\TestLog.log", FileMode.Create);

            fileStream1.Lock(0, 0);
            FileStream fileStream2 = new FileStream(@"C:\Temp\TestLog_2.log", FileMode.Create);

            fileStream2.Lock(0, 0);

            LogFileListener logListener = new LogFileListener(@"C:\Temp\TestLog.log", false);

            logListener.WriteLine("This is a test.");
            logListener.Dispose();

            fileStream1.Unlock(0, 0);
            fileStream2.Unlock(0, 0);

            List <string> lines = File.ReadAllLines(@"C:\Temp\TestLog_3.log").ToList();

            Assert.IsTrue(lines.Count == 1, $"line count: {lines.Count}");
            Assert.IsTrue(lines.Contains("This is a test."), $"line: {lines.First()}");
        }
コード例 #8
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
        /// </summary>
        public void Dispose()
        {
            if (frameClearManager != null)
            {
                frameClearManager.Dispose();
            }
            if (medicalScene != null)
            {
                unloadSceneAndResources();
            }
            if (eventManager != null)
            {
                eventManager.Dispose();
            }
            if (inputHandler != null)
            {
                inputHandler.Dispose();
            }
            if (systemTimer != null)
            {
                systemTimer.Dispose();
            }
            if (performanceMetricTimer != null)
            {
                PerformanceMonitor.destroyEnabledState();
                performanceMetricTimer.Dispose();
            }
            if (pluginManager != null)
            {
                //This is the main engine plugin manager, it should be last unless subsystems need to be shutdown before any additional disposing
                pluginManager.Dispose();
            }

            Log.Info("Medical Controller Shutdown");
            logListener.Dispose();
        }
コード例 #9
0
        /// <summary>
        /// Dispose of this controller and cleanup.
        /// </summary>
        public void Dispose()
        {
            //Save UI
            var activeWindow = sceneViewController.ActiveWindow;

            if (activeWindow != null)
            {
                AnomalyConfig.CameraConfig.MainCameraPosition = activeWindow.Translation;
                AnomalyConfig.CameraConfig.MainCameraLookAt   = activeWindow.LookAt;
            }

            if (guiManager != null && AnomalyConfig.WindowsFile != null)
            {
                ConfigFile configFile = new ConfigFile(AnomalyConfig.WindowsFile);
                guiManager.saveUI(configFile, GetType().Assembly.GetName().Version);
                configFile.writeConfigFile();
            }

            //Clear resources
            resourceController.clearResources();
            resourceController.applyToScene();
            if (virtualTextureLink != null)
            {
                virtualTextureLink.Dispose();
            }

            //Dispose
            if (consoleWindow != null)
            {
                Log.Default.removeLogListener(consoleWindow);
                consoleWindow.Dispose();
            }
            if (splashScreen != null)
            {
                splashScreen.Dispose();
            }
            if (mainObjectEditor != null)
            {
                mainObjectEditor.Dispose();
            }
            if (debugVisualizer != null)
            {
                debugVisualizer.Dispose();
            }
            if (mainForm != null)
            {
                mainForm.Dispose();
            }
            if (mdiLayout != null)
            {
                mdiLayout.Dispose();
            }
            if (selectionMovementTools != null)
            {
                selectionMovementTools.Dispose();
            }
            if (guiManager != null)
            {
                guiManager.Dispose();
            }
            if (sceneViewController != null)
            {
                sceneViewController.Dispose();
            }
            if (eventManager != null)
            {
                eventManager.Dispose();
            }
            if (inputHandler != null)
            {
                inputHandler.Dispose();
            }
            if (systemTimer != null)
            {
                systemTimer.Dispose();
            }
            if (lightManager != null)
            {
                pluginManager.RendererPlugin.destroySceneViewLightManager(lightManager);
            }
            if (frameClearManager != null)
            {
                frameClearManager.Dispose();
            }
            if (pluginManager != null)
            {
                pluginManager.Dispose();
            }
            if (mainWindow != null)
            {
                mainWindow.Dispose();
            }

            AnomalyConfig.save();
            logListener.Dispose();
        }
コード例 #10
0
        public void Dispose()
        {
            liveResourceManager.changeResourcesToMatch(emptyResourceManager);
            liveResourceManager.initializeResources();

            var activeWindow = sceneViewController.ActiveWindow;

            if (activeWindow != null)
            {
                OgreModelEditorConfig.CameraConfig.MainCameraPosition = activeWindow.Translation;
                OgreModelEditorConfig.CameraConfig.MainCameraLookAt   = activeWindow.LookAt;
            }

            IDisposableUtil.DisposeIfNotNull(virtualTextureDebugger);
            IDisposableUtil.DisposeIfNotNull(materialEditor);

            if (textureCompiler != null)
            {
                OgreModelEditorConfig.LastTextureCompilerSourceDirectory = textureCompiler.CurrentSrc;
                textureCompiler.Dispose();
            }

            if (consoleWindow != null)
            {
                Log.Default.removeLogListener(consoleWindow);
                consoleWindow.Dispose();
            }
            if (splashScreen != null)
            {
                splashScreen.Dispose();
            }
            if (objectMover != null)
            {
                objectMover.Dispose();
            }
            if (guiManager != null)
            {
                guiManager.Dispose();
            }
            if (sceneViewController != null)
            {
                sceneViewController.Dispose();
            }
            if (mdiLayout != null)
            {
                mdiLayout.Dispose();
            }
            if (virtualTextureLink != null)
            {
                virtualTextureLink.Dispose();
            }
            if (modelController != null)
            {
                modelController.Dispose();
            }
            if (eventManager != null)
            {
                eventManager.Dispose();
            }
            if (inputHandler != null)
            {
                inputHandler.Dispose();
            }
            if (systemTimer != null)
            {
                systemTimer.Dispose();
            }
            if (lightManager != null)
            {
                pluginManager.RendererPlugin.destroySceneViewLightManager(lightManager);
            }
            if (frameClearManager != null)
            {
                frameClearManager.Dispose();
            }
            if (mainWindow != null)
            {
                mainWindow.Dispose();
            }
            if (pluginManager != null)
            {
                pluginManager.Dispose();
            }

            OgreModelEditorConfig.save();
            logListener.Dispose();
        }
コード例 #11
0
 public void Dispose()
 {
     _logFileListener?.Dispose();
 }