diff --git a/SafeExamBrowser.Browser/SafeExamBrowser.Browser.csproj b/SafeExamBrowser.Browser/SafeExamBrowser.Browser.csproj
index a96546e3..7d5ddbc6 100644
--- a/SafeExamBrowser.Browser/SafeExamBrowser.Browser.csproj
+++ b/SafeExamBrowser.Browser/SafeExamBrowser.Browser.csproj
@@ -101,7 +101,8 @@
- xcopy /E /Y "$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)" "$(SolutionDir)SafeExamBrowser\bin\$(PlatformName)\$(ConfigurationName)"
+
+
\ No newline at end of file
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/BrowserOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/BrowserOperationTests.cs
similarity index 95%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/BrowserOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/BrowserOperationTests.cs
index 05c37389..2d96dca4 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/BrowserOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/BrowserOperationTests.cs
@@ -8,14 +8,14 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class BrowserOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs
similarity index 92%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs
index 1ebce66a..41970c76 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClientControllerOperationTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Client;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class ClientControllerOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs
similarity index 92%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs
index ceffcf98..aff30aad 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ClipboardOperationTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class ClipboardOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs
similarity index 95%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs
index 025fb49c..d09bc867 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/DisplayMonitorOperationTests.cs
@@ -8,13 +8,13 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class DisplayMonitorOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs
similarity index 93%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs
index ccae505c..8dbc8c09 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/KeyboardInterceptorOperationTests.cs
@@ -8,13 +8,13 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class KeyboardInterceptorOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs
similarity index 93%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs
index 13a12812..270c57eb 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/MouseInterceptorOperationTests.cs
@@ -8,13 +8,13 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class MouseInterceptorOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs
similarity index 94%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs
index 9925d4e9..aebde941 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/ProcessMonitorOperationTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class ProcessMonitorOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs
similarity index 96%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs
index 664a3ff9..184fd0bb 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/TaskbarOperationTests.cs
@@ -8,6 +8,7 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.Configuration.Settings;
using SafeExamBrowser.Contracts.I18n;
@@ -15,9 +16,8 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.SystemComponents;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class TaskbarOperationTests
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs
similarity index 94%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs
rename to SafeExamBrowser.Client.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs
index 768d6404..f2b26405 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Behaviour/Operations/WindowMonitorOperationTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour.Operations;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Client.UnitTests.Behaviour.Operations
{
[TestClass]
public class WindowMonitorOperationTests
diff --git a/SafeExamBrowser.Client.UnitTests/ClientControllerTests.cs b/SafeExamBrowser.Client.UnitTests/ClientControllerTests.cs
index b15f00fa..6755d3cd 100644
--- a/SafeExamBrowser.Client.UnitTests/ClientControllerTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/ClientControllerTests.cs
@@ -9,6 +9,7 @@
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Behaviour;
using SafeExamBrowser.Contracts.Client;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
diff --git a/SafeExamBrowser.Core.UnitTests/Notifications/AboutNotificationControllerTests.cs b/SafeExamBrowser.Client.UnitTests/Notifications/AboutNotificationControllerTests.cs
similarity index 95%
rename from SafeExamBrowser.Core.UnitTests/Notifications/AboutNotificationControllerTests.cs
rename to SafeExamBrowser.Client.UnitTests/Notifications/AboutNotificationControllerTests.cs
index f8ff0e02..dac9c8bf 100644
--- a/SafeExamBrowser.Core.UnitTests/Notifications/AboutNotificationControllerTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Notifications/AboutNotificationControllerTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Notifications;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Notifications;
-namespace SafeExamBrowser.Core.UnitTests.Notifications
+namespace SafeExamBrowser.Client.UnitTests.Notifications
{
[TestClass]
public class AboutNotificationControllerTests
diff --git a/SafeExamBrowser.Core.UnitTests/Notifications/LogNotificationControllerTests.cs b/SafeExamBrowser.Client.UnitTests/Notifications/LogNotificationControllerTests.cs
similarity index 95%
rename from SafeExamBrowser.Core.UnitTests/Notifications/LogNotificationControllerTests.cs
rename to SafeExamBrowser.Client.UnitTests/Notifications/LogNotificationControllerTests.cs
index 91ea8e3a..c7f446b4 100644
--- a/SafeExamBrowser.Core.UnitTests/Notifications/LogNotificationControllerTests.cs
+++ b/SafeExamBrowser.Client.UnitTests/Notifications/LogNotificationControllerTests.cs
@@ -8,12 +8,12 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
+using SafeExamBrowser.Client.Notifications;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Notifications;
-namespace SafeExamBrowser.Core.UnitTests.Notifications
+namespace SafeExamBrowser.Client.UnitTests.Notifications
{
[TestClass]
public class LogNotificationControllerTests
diff --git a/SafeExamBrowser.Core.UnitTests/Notifications/NotificationButtonMock.cs b/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
similarity index 93%
rename from SafeExamBrowser.Core.UnitTests/Notifications/NotificationButtonMock.cs
rename to SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
index 45d9103c..b660babf 100644
--- a/SafeExamBrowser.Core.UnitTests/Notifications/NotificationButtonMock.cs
+++ b/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
@@ -8,7 +8,7 @@
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Core.UnitTests.Notifications
+namespace SafeExamBrowser.Client.UnitTests.Notifications
{
class NotificationButtonMock : INotificationButton
{
diff --git a/SafeExamBrowser.Client.UnitTests/SafeExamBrowser.Client.UnitTests.csproj b/SafeExamBrowser.Client.UnitTests/SafeExamBrowser.Client.UnitTests.csproj
index a48b4395..e3aa1723 100644
--- a/SafeExamBrowser.Client.UnitTests/SafeExamBrowser.Client.UnitTests.csproj
+++ b/SafeExamBrowser.Client.UnitTests/SafeExamBrowser.Client.UnitTests.csproj
@@ -78,6 +78,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SafeExamBrowser.Client/ClientController.cs b/SafeExamBrowser.Client/Behaviour/ClientController.cs
similarity index 96%
rename from SafeExamBrowser.Client/ClientController.cs
rename to SafeExamBrowser.Client/Behaviour/ClientController.cs
index 35e0aaa7..c54f430b 100644
--- a/SafeExamBrowser.Client/ClientController.cs
+++ b/SafeExamBrowser.Client/Behaviour/ClientController.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Client
+namespace SafeExamBrowser.Client.Behaviour
{
- public class ClientController : IClientController
+ internal class ClientController : IClientController
{
private IDisplayMonitor displayMonitor;
private ILogger logger;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/BrowserOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/BrowserOperation.cs
similarity index 94%
rename from SafeExamBrowser.Core/Behaviour/Operations/BrowserOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/BrowserOperation.cs
index bc6ad8db..4653bfa4 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/BrowserOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/BrowserOperation.cs
@@ -13,9 +13,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class BrowserOperation : IOperation
+ internal class BrowserOperation : IOperation
{
private IApplicationController browserController;
private IApplicationInfo browserInfo;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/ClientControllerOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/ClientControllerOperation.cs
similarity index 91%
rename from SafeExamBrowser.Core/Behaviour/Operations/ClientControllerOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/ClientControllerOperation.cs
index 83afc76e..28696a65 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/ClientControllerOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/ClientControllerOperation.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class ClientControllerOperation : IOperation
+ internal class ClientControllerOperation : IOperation
{
private ILogger logger;
private IClientController controller;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/ClipboardOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/ClipboardOperation.cs
similarity index 91%
rename from SafeExamBrowser.Core/Behaviour/Operations/ClipboardOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/ClipboardOperation.cs
index f68e4ab5..61d68248 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/ClipboardOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/ClipboardOperation.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class ClipboardOperation : IOperation
+ internal class ClipboardOperation : IOperation
{
private ILogger logger;
private INativeMethods nativeMethods;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/DisplayMonitorOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/DisplayMonitorOperation.cs
similarity index 93%
rename from SafeExamBrowser.Core/Behaviour/Operations/DisplayMonitorOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/DisplayMonitorOperation.cs
index 749aa950..a23bd653 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/DisplayMonitorOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/DisplayMonitorOperation.cs
@@ -13,9 +13,9 @@ using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class DisplayMonitorOperation : IOperation
+ internal class DisplayMonitorOperation : IOperation
{
private IDisplayMonitor displayMonitor;
private ILogger logger;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/KeyboardInterceptorOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/KeyboardInterceptorOperation.cs
similarity index 92%
rename from SafeExamBrowser.Core/Behaviour/Operations/KeyboardInterceptorOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/KeyboardInterceptorOperation.cs
index ba2f303c..ee0e84e3 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/KeyboardInterceptorOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/KeyboardInterceptorOperation.cs
@@ -13,9 +13,9 @@ using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class KeyboardInterceptorOperation : IOperation
+ internal class KeyboardInterceptorOperation : IOperation
{
private IKeyboardInterceptor keyboardInterceptor;
private ILogger logger;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/MouseInterceptorOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/MouseInterceptorOperation.cs
similarity index 92%
rename from SafeExamBrowser.Core/Behaviour/Operations/MouseInterceptorOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/MouseInterceptorOperation.cs
index 4ad314d6..458c5539 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/MouseInterceptorOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/MouseInterceptorOperation.cs
@@ -13,9 +13,9 @@ using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class MouseInterceptorOperation : IOperation
+ internal class MouseInterceptorOperation : IOperation
{
private ILogger logger;
private IMouseInterceptor mouseInterceptor;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/ProcessMonitorOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/ProcessMonitorOperation.cs
similarity index 93%
rename from SafeExamBrowser.Core/Behaviour/Operations/ProcessMonitorOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/ProcessMonitorOperation.cs
index 4e5cd217..7f36a955 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/ProcessMonitorOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/ProcessMonitorOperation.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class ProcessMonitorOperation : IOperation
+ internal class ProcessMonitorOperation : IOperation
{
private ILogger logger;
private IProcessMonitor processMonitor;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/TaskbarOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/TaskbarOperation.cs
similarity index 96%
rename from SafeExamBrowser.Core/Behaviour/Operations/TaskbarOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/TaskbarOperation.cs
index f0d78f4a..56f78626 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/TaskbarOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/TaskbarOperation.cs
@@ -6,6 +6,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Client.Notifications;
using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.Configuration.Settings;
@@ -14,11 +15,10 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.SystemComponents;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-using SafeExamBrowser.Core.Notifications;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class TaskbarOperation : IOperation
+ internal class TaskbarOperation : IOperation
{
private ILogger logger;
private INotificationController logController;
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/WindowMonitorOperation.cs b/SafeExamBrowser.Client/Behaviour/Operations/WindowMonitorOperation.cs
similarity index 92%
rename from SafeExamBrowser.Core/Behaviour/Operations/WindowMonitorOperation.cs
rename to SafeExamBrowser.Client/Behaviour/Operations/WindowMonitorOperation.cs
index 946d36be..7247ae90 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/WindowMonitorOperation.cs
+++ b/SafeExamBrowser.Client/Behaviour/Operations/WindowMonitorOperation.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
using SafeExamBrowser.Contracts.UserInterface;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Client.Behaviour.Operations
{
- public class WindowMonitorOperation : IOperation
+ internal class WindowMonitorOperation : IOperation
{
private ILogger logger;
private IWindowMonitor windowMonitor;
diff --git a/SafeExamBrowser.Core/Notifications/AboutNotificationController.cs b/SafeExamBrowser.Client/Notifications/AboutNotificationController.cs
similarity index 89%
rename from SafeExamBrowser.Core/Notifications/AboutNotificationController.cs
rename to SafeExamBrowser.Client/Notifications/AboutNotificationController.cs
index c4be58ad..4af39041 100644
--- a/SafeExamBrowser.Core/Notifications/AboutNotificationController.cs
+++ b/SafeExamBrowser.Client/Notifications/AboutNotificationController.cs
@@ -8,14 +8,13 @@
using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
-using SafeExamBrowser.Contracts.Configuration.Settings;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- public class AboutNotificationController : INotificationController
+ internal class AboutNotificationController : INotificationController
{
private INotificationButton notification;
private IRuntimeInfo runtimeInfo;
diff --git a/SafeExamBrowser.Core/Notifications/AboutNotificationIconResource.cs b/SafeExamBrowser.Client/Notifications/AboutNotificationIconResource.cs
similarity index 83%
rename from SafeExamBrowser.Core/Notifications/AboutNotificationIconResource.cs
rename to SafeExamBrowser.Client/Notifications/AboutNotificationIconResource.cs
index 61b3ff30..b024ce30 100644
--- a/SafeExamBrowser.Core/Notifications/AboutNotificationIconResource.cs
+++ b/SafeExamBrowser.Client/Notifications/AboutNotificationIconResource.cs
@@ -9,9 +9,9 @@
using System;
using SafeExamBrowser.Contracts.Configuration;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- public class AboutNotificationIconResource : IIconResource
+ internal class AboutNotificationIconResource : IIconResource
{
public Uri Uri => new Uri("pack://application:,,,/SafeExamBrowser;component/SafeExamBrowser.ico");
public bool IsBitmapResource => true;
diff --git a/SafeExamBrowser.Core/Notifications/AboutNotificationInfo.cs b/SafeExamBrowser.Client/Notifications/AboutNotificationInfo.cs
similarity index 86%
rename from SafeExamBrowser.Core/Notifications/AboutNotificationInfo.cs
rename to SafeExamBrowser.Client/Notifications/AboutNotificationInfo.cs
index 5f377d96..e6afcd1b 100644
--- a/SafeExamBrowser.Core/Notifications/AboutNotificationInfo.cs
+++ b/SafeExamBrowser.Client/Notifications/AboutNotificationInfo.cs
@@ -9,9 +9,9 @@
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- public class AboutNotificationInfo : INotificationInfo
+ internal class AboutNotificationInfo : INotificationInfo
{
private IText text;
diff --git a/SafeExamBrowser.Core/Notifications/LogNotificationController.cs b/SafeExamBrowser.Client/Notifications/LogNotificationController.cs
similarity index 92%
rename from SafeExamBrowser.Core/Notifications/LogNotificationController.cs
rename to SafeExamBrowser.Client/Notifications/LogNotificationController.cs
index 8e5ac374..a77c079c 100644
--- a/SafeExamBrowser.Core/Notifications/LogNotificationController.cs
+++ b/SafeExamBrowser.Client/Notifications/LogNotificationController.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- public class LogNotificationController : INotificationController
+ internal class LogNotificationController : INotificationController
{
private INotificationButton notification;
private ILogger logger;
diff --git a/SafeExamBrowser.Core/Notifications/LogNotificationIconResource.cs b/SafeExamBrowser.Client/Notifications/LogNotificationIconResource.cs
similarity index 84%
rename from SafeExamBrowser.Core/Notifications/LogNotificationIconResource.cs
rename to SafeExamBrowser.Client/Notifications/LogNotificationIconResource.cs
index 5bb1f2f5..3a2698ee 100644
--- a/SafeExamBrowser.Core/Notifications/LogNotificationIconResource.cs
+++ b/SafeExamBrowser.Client/Notifications/LogNotificationIconResource.cs
@@ -9,9 +9,9 @@
using System;
using SafeExamBrowser.Contracts.Configuration;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- class LogNotificationIconResource : IIconResource
+ internal class LogNotificationIconResource : IIconResource
{
public Uri Uri => new Uri("pack://application:,,,/SafeExamBrowser.UserInterface.Classic;component/Images/LogNotification.ico");
public bool IsBitmapResource => true;
diff --git a/SafeExamBrowser.Core/Notifications/LogNotificationInfo.cs b/SafeExamBrowser.Client/Notifications/LogNotificationInfo.cs
similarity index 86%
rename from SafeExamBrowser.Core/Notifications/LogNotificationInfo.cs
rename to SafeExamBrowser.Client/Notifications/LogNotificationInfo.cs
index cfa00fc8..f854cd81 100644
--- a/SafeExamBrowser.Core/Notifications/LogNotificationInfo.cs
+++ b/SafeExamBrowser.Client/Notifications/LogNotificationInfo.cs
@@ -9,9 +9,9 @@
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
-namespace SafeExamBrowser.Core.Notifications
+namespace SafeExamBrowser.Client.Notifications
{
- class LogNotificationInfo : INotificationInfo
+ internal class LogNotificationInfo : INotificationInfo
{
private IText text;
diff --git a/SafeExamBrowser.Client/Properties/AssemblyInfo.cs b/SafeExamBrowser.Client/Properties/AssemblyInfo.cs
index 23199886..1794f977 100644
--- a/SafeExamBrowser.Client/Properties/AssemblyInfo.cs
+++ b/SafeExamBrowser.Client/Properties/AssemblyInfo.cs
@@ -1,4 +1,5 @@
using System.Reflection;
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
@@ -15,6 +16,7 @@ using System.Windows;
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
+[assembly: InternalsVisibleTo("SafeExamBrowser.Client.UnitTests")]
//In order to begin building localizable applications, set
//CultureYouAreCodingWith in your .csproj file
diff --git a/SafeExamBrowser.Client/SafeExamBrowser.Client.csproj b/SafeExamBrowser.Client/SafeExamBrowser.Client.csproj
index 1cd08db5..982814d9 100644
--- a/SafeExamBrowser.Client/SafeExamBrowser.Client.csproj
+++ b/SafeExamBrowser.Client/SafeExamBrowser.Client.csproj
@@ -69,8 +69,23 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Code
@@ -132,4 +147,7 @@
+
+ xcopy /E /Y "$(SolutionDir)SafeExamBrowser.Browser\bin\$(PlatformName)\$(ConfigurationName)" "$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)"
+
\ No newline at end of file
diff --git a/SafeExamBrowser.Core.UnitTests/SafeExamBrowser.Core.UnitTests.csproj b/SafeExamBrowser.Core.UnitTests/SafeExamBrowser.Core.UnitTests.csproj
index 64fafa5f..7e8cf15e 100644
--- a/SafeExamBrowser.Core.UnitTests/SafeExamBrowser.Core.UnitTests.csproj
+++ b/SafeExamBrowser.Core.UnitTests/SafeExamBrowser.Core.UnitTests.csproj
@@ -78,17 +78,7 @@
-
-
-
-
-
-
-
-
-
-
@@ -97,9 +87,6 @@
-
-
-
diff --git a/SafeExamBrowser.Core/SafeExamBrowser.Core.csproj b/SafeExamBrowser.Core/SafeExamBrowser.Core.csproj
index cf3bbc0f..f0b0fcc2 100644
--- a/SafeExamBrowser.Core/SafeExamBrowser.Core.csproj
+++ b/SafeExamBrowser.Core/SafeExamBrowser.Core.csproj
@@ -54,17 +54,7 @@
-
-
-
-
-
-
-
-
-
-
@@ -76,12 +66,6 @@
-
-
-
-
-
-
diff --git a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs b/SafeExamBrowser.Runtime.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs
similarity index 92%
rename from SafeExamBrowser.Core.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs
rename to SafeExamBrowser.Runtime.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs
index 0ec45251..f6db421b 100644
--- a/SafeExamBrowser.Core.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs
+++ b/SafeExamBrowser.Runtime.UnitTests/Behaviour/Operations/RuntimeControllerOperationTests.cs
@@ -11,9 +11,9 @@ using Moq;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Runtime;
using SafeExamBrowser.Contracts.UserInterface;
-using SafeExamBrowser.Core.Behaviour.Operations;
+using SafeExamBrowser.Runtime.Behaviour.Operations;
-namespace SafeExamBrowser.Core.UnitTests.Behaviour.Operations
+namespace SafeExamBrowser.Runtime.UnitTests.Behaviour.Operations
{
[TestClass]
public class RuntimeControllerOperationTests
diff --git a/SafeExamBrowser.Runtime.UnitTests/Properties/AssemblyInfo.cs b/SafeExamBrowser.Runtime.UnitTests/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..eb471d64
--- /dev/null
+++ b/SafeExamBrowser.Runtime.UnitTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,16 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("SafeExamBrowser.Runtime.UnitTests")]
+[assembly: AssemblyDescription("Safe Exam Browser")]
+[assembly: AssemblyCompany("ETH Zürich")]
+[assembly: AssemblyProduct("SafeExamBrowser.Runtime.UnitTests")]
+[assembly: AssemblyCopyright("Copyright © 2018 ETH Zürich, Educational Development and Technology (LET)")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("b716a8b2-df72-4143-9941-25e033089f5f")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/SafeExamBrowser.Runtime.UnitTests/SafeExamBrowser.Runtime.UnitTests.csproj b/SafeExamBrowser.Runtime.UnitTests/SafeExamBrowser.Runtime.UnitTests.csproj
new file mode 100644
index 00000000..c2e39afd
--- /dev/null
+++ b/SafeExamBrowser.Runtime.UnitTests/SafeExamBrowser.Runtime.UnitTests.csproj
@@ -0,0 +1,110 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}
+ Library
+ Properties
+ SafeExamBrowser.Runtime.UnitTests
+ SafeExamBrowser.Runtime.UnitTests
+ v4.6.1
+ 512
+ {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 15.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+ $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages
+ False
+ UnitTest
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x86\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+ ..\packages\Castle.Core.4.2.1\lib\net45\Castle.Core.dll
+
+
+ ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
+
+
+ ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
+
+
+ ..\packages\Moq.4.8.1\lib\net45\Moq.dll
+
+
+
+
+
+ ..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
+
+
+ ..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+ {47DA5933-BEF8-4729-94E6-ABDE2DB12262}
+ SafeExamBrowser.Contracts
+
+
+ {e3aed2f8-b5df-45d1-ac19-48066923d6d8}
+ SafeExamBrowser.Runtime
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SafeExamBrowser.Runtime.UnitTests/app.config b/SafeExamBrowser.Runtime.UnitTests/app.config
new file mode 100644
index 00000000..7d8c9227
--- /dev/null
+++ b/SafeExamBrowser.Runtime.UnitTests/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SafeExamBrowser.Runtime.UnitTests/packages.config b/SafeExamBrowser.Runtime.UnitTests/packages.config
new file mode 100644
index 00000000..3912bdfc
--- /dev/null
+++ b/SafeExamBrowser.Runtime.UnitTests/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SafeExamBrowser/App.config b/SafeExamBrowser.Runtime/App.config
similarity index 100%
rename from SafeExamBrowser/App.config
rename to SafeExamBrowser.Runtime/App.config
diff --git a/SafeExamBrowser/App.cs b/SafeExamBrowser.Runtime/App.cs
similarity index 98%
rename from SafeExamBrowser/App.cs
rename to SafeExamBrowser.Runtime/App.cs
index c6bf86f8..02ce8690 100644
--- a/SafeExamBrowser/App.cs
+++ b/SafeExamBrowser.Runtime/App.cs
@@ -14,7 +14,7 @@ using System.Threading;
using System.Windows;
using SafeExamBrowser.Contracts.Behaviour;
-namespace SafeExamBrowser
+namespace SafeExamBrowser.Runtime
{
public class App : Application
{
diff --git a/SafeExamBrowser.Core/Behaviour/Operations/RuntimeControllerOperation.cs b/SafeExamBrowser.Runtime/Behaviour/Operations/RuntimeControllerOperation.cs
similarity index 91%
rename from SafeExamBrowser.Core/Behaviour/Operations/RuntimeControllerOperation.cs
rename to SafeExamBrowser.Runtime/Behaviour/Operations/RuntimeControllerOperation.cs
index 1b206e2e..48527a0a 100644
--- a/SafeExamBrowser.Core/Behaviour/Operations/RuntimeControllerOperation.cs
+++ b/SafeExamBrowser.Runtime/Behaviour/Operations/RuntimeControllerOperation.cs
@@ -12,9 +12,9 @@ using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Runtime;
using SafeExamBrowser.Contracts.UserInterface;
-namespace SafeExamBrowser.Core.Behaviour.Operations
+namespace SafeExamBrowser.Runtime.Behaviour.Operations
{
- public class RuntimeControllerOperation : IOperation
+ internal class RuntimeControllerOperation : IOperation
{
private ILogger logger;
private IRuntimeController controller;
diff --git a/SafeExamBrowser/RuntimeController.cs b/SafeExamBrowser.Runtime/Behaviour/RuntimeController.cs
similarity index 85%
rename from SafeExamBrowser/RuntimeController.cs
rename to SafeExamBrowser.Runtime/Behaviour/RuntimeController.cs
index 404550a9..54854f18 100644
--- a/SafeExamBrowser/RuntimeController.cs
+++ b/SafeExamBrowser.Runtime/Behaviour/RuntimeController.cs
@@ -9,9 +9,9 @@
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Runtime;
-namespace SafeExamBrowser
+namespace SafeExamBrowser.Runtime.Behaviour
{
- public class RuntimeController : IRuntimeController
+ internal class RuntimeController : IRuntimeController
{
private ILogger logger;
diff --git a/SafeExamBrowser/CompositionRoot.cs b/SafeExamBrowser.Runtime/CompositionRoot.cs
similarity index 96%
rename from SafeExamBrowser/CompositionRoot.cs
rename to SafeExamBrowser.Runtime/CompositionRoot.cs
index 2c23f851..42680ed4 100644
--- a/SafeExamBrowser/CompositionRoot.cs
+++ b/SafeExamBrowser.Runtime/CompositionRoot.cs
@@ -19,10 +19,12 @@ using SafeExamBrowser.Core.Behaviour;
using SafeExamBrowser.Core.Behaviour.Operations;
using SafeExamBrowser.Core.I18n;
using SafeExamBrowser.Core.Logging;
+using SafeExamBrowser.Runtime.Behaviour;
+using SafeExamBrowser.Runtime.Behaviour.Operations;
using SafeExamBrowser.UserInterface.Classic;
using SafeExamBrowser.WindowsApi;
-namespace SafeExamBrowser
+namespace SafeExamBrowser.Runtime
{
internal class CompositionRoot
{
diff --git a/SafeExamBrowser/Properties/AssemblyInfo.cs b/SafeExamBrowser.Runtime/Properties/AssemblyInfo.cs
similarity index 95%
rename from SafeExamBrowser/Properties/AssemblyInfo.cs
rename to SafeExamBrowser.Runtime/Properties/AssemblyInfo.cs
index d78a4488..7f4017e1 100644
--- a/SafeExamBrowser/Properties/AssemblyInfo.cs
+++ b/SafeExamBrowser.Runtime/Properties/AssemblyInfo.cs
@@ -1,4 +1,5 @@
using System.Reflection;
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
@@ -15,6 +16,7 @@ using System.Windows;
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
+[assembly: InternalsVisibleTo("SafeExamBrowser.Runtime.UnitTests")]
//In order to begin building localizable applications, set
//CultureYouAreCodingWith in your .csproj file
diff --git a/SafeExamBrowser.Runtime/Properties/Resources.Designer.cs b/SafeExamBrowser.Runtime/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..f5677605
--- /dev/null
+++ b/SafeExamBrowser.Runtime/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace SafeExamBrowser.Runtime.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SafeExamBrowser.Runtime.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/SafeExamBrowser/Properties/Resources.resx b/SafeExamBrowser.Runtime/Properties/Resources.resx
similarity index 100%
rename from SafeExamBrowser/Properties/Resources.resx
rename to SafeExamBrowser.Runtime/Properties/Resources.resx
diff --git a/SafeExamBrowser.Runtime/Properties/Settings.Designer.cs b/SafeExamBrowser.Runtime/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..47d525ef
--- /dev/null
+++ b/SafeExamBrowser.Runtime/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace SafeExamBrowser.Runtime.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/SafeExamBrowser/Properties/Settings.settings b/SafeExamBrowser.Runtime/Properties/Settings.settings
similarity index 100%
rename from SafeExamBrowser/Properties/Settings.settings
rename to SafeExamBrowser.Runtime/Properties/Settings.settings
diff --git a/SafeExamBrowser/SafeExamBrowser.csproj b/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj
similarity index 88%
rename from SafeExamBrowser/SafeExamBrowser.csproj
rename to SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj
index 71c62aa3..35dcf99a 100644
--- a/SafeExamBrowser/SafeExamBrowser.csproj
+++ b/SafeExamBrowser.Runtime/SafeExamBrowser.Runtime.csproj
@@ -6,7 +6,7 @@
AnyCPU
{E3AED2F8-B5DF-45D1-AC19-48066923D6D8}
WinExe
- SafeExamBrowser
+ SafeExamBrowser.Runtime
SafeExamBrowser
v4.5.2
512
@@ -49,7 +49,7 @@
4
- SafeExamBrowser.App
+ SafeExamBrowser.Runtime.App
SafeExamBrowser.ico
@@ -87,6 +87,7 @@
+
Code
@@ -101,7 +102,7 @@
Settings.settings
True
-
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -117,10 +118,6 @@
-
- {04E653F1-98E6-4E34-9DD7-7F2BC1A8B767}
- SafeExamBrowser.Browser
-
{c388c4dd-a159-457d-af92-89f7ad185109}
SafeExamBrowser.Configuration
@@ -133,14 +130,6 @@
{3d6fdbb6-a4af-4626-bb2b-bf329d44f9cc}
SafeExamBrowser.Core
-
- {ef563531-4eb5-44b9-a5ec-d6d6f204469b}
- SafeExamBrowser.Monitoring
-
-
- {ACEE2EF1-14D2-4B52-8994-5C053055BB51}
- SafeExamBrowser.SystemComponents
-
{a502df54-7169-4647-94bd-18b192924866}
SafeExamBrowser.UserInterface.Classic
@@ -165,5 +154,6 @@
+
\ No newline at end of file
diff --git a/SafeExamBrowser/SafeExamBrowser.ico b/SafeExamBrowser.Runtime/SafeExamBrowser.ico
similarity index 100%
rename from SafeExamBrowser/SafeExamBrowser.ico
rename to SafeExamBrowser.Runtime/SafeExamBrowser.ico
diff --git a/SafeExamBrowser/app.manifest b/SafeExamBrowser.Runtime/app.manifest
similarity index 100%
rename from SafeExamBrowser/app.manifest
rename to SafeExamBrowser.Runtime/app.manifest
diff --git a/SafeExamBrowser/packages.config b/SafeExamBrowser.Runtime/packages.config
similarity index 100%
rename from SafeExamBrowser/packages.config
rename to SafeExamBrowser.Runtime/packages.config
diff --git a/SafeExamBrowser.sln b/SafeExamBrowser.sln
index 7a0cd858..39a69e9e 100644
--- a/SafeExamBrowser.sln
+++ b/SafeExamBrowser.sln
@@ -1,9 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2020
+VisualStudioVersion = 15.0.27130.2024
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser", "SafeExamBrowser\SafeExamBrowser.csproj", "{E3AED2F8-B5DF-45D1-AC19-48066923D6D8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Runtime", "SafeExamBrowser.Runtime\SafeExamBrowser.Runtime.csproj", "{E3AED2F8-B5DF-45D1-AC19-48066923D6D8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Core", "SafeExamBrowser.Core\SafeExamBrowser.Core.csproj", "{3D6FDBB6-A4AF-4626-BB2B-BF329D44F9CC}"
EndProject
@@ -39,6 +39,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Client", "S
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Client.UnitTests", "SafeExamBrowser.Client.UnitTests\SafeExamBrowser.Client.UnitTests.csproj", "{15684416-FADF-4C51-85DE-4F343BFAB752}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Runtime.UnitTests", "SafeExamBrowser.Runtime.UnitTests\SafeExamBrowser.Runtime.UnitTests.csproj", "{B716A8B2-DF72-4143-9941-25E033089F5F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -151,6 +153,14 @@ Global
{15684416-FADF-4C51-85DE-4F343BFAB752}.Release|Any CPU.Build.0 = Release|Any CPU
{15684416-FADF-4C51-85DE-4F343BFAB752}.Release|x86.ActiveCfg = Release|Any CPU
{15684416-FADF-4C51-85DE-4F343BFAB752}.Release|x86.Build.0 = Release|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Debug|x86.ActiveCfg = Debug|x86
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Debug|x86.Build.0 = Debug|x86
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Release|x86.ActiveCfg = Release|Any CPU
+ {B716A8B2-DF72-4143-9941-25E033089F5F}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/SafeExamBrowser/Properties/Resources.Designer.cs b/SafeExamBrowser/Properties/Resources.Designer.cs
deleted file mode 100644
index e62074e6..00000000
--- a/SafeExamBrowser/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace SafeExamBrowser.Properties
-{
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SafeExamBrowser.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
- return resourceCulture;
- }
- set
- {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/SafeExamBrowser/Properties/Settings.Designer.cs b/SafeExamBrowser/Properties/Settings.Designer.cs
deleted file mode 100644
index 2fa9c61f..00000000
--- a/SafeExamBrowser/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace SafeExamBrowser.Properties
-{
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/appveyor.yml b/appveyor.yml
index a1477ff5..952cbdb0 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -5,8 +5,9 @@ before_build:
build_script:
- msbuild /verbosity:quiet "SafeExamBrowser.sln"
test_script:
- - .\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user -target:"vstest.console.exe" -targetargs:"/logger:Appveyor .\SafeExamBrowser.Core.UnitTests\bin\x86\Debug\SafeExamBrowser.Core.UnitTests.dll" -filter:"+[*]* -[*.UnitTests]*" -mergebyhash -output:"coverage.xml"
- - .\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user -target:"vstest.console.exe" -targetargs:"/logger:Appveyor .\SafeExamBrowser.Client.UnitTests\bin\x86\Debug\SafeExamBrowser.Client.UnitTests.dll" -filter:"+[*]* -[*.UnitTests]*" -mergebyhash -mergeoutput -output:"coverage.xml"
+ - .\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user -target:"vstest.console.exe" -targetargs:"/logger:Appveyor .\SafeExamBrowser.Client.UnitTests\bin\x86\Debug\SafeExamBrowser.Client.UnitTests.dll" -filter:"+[*]* -[*.UnitTests]*" -mergebyhash -output:"coverage.xml"
+ - .\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user -target:"vstest.console.exe" -targetargs:"/logger:Appveyor .\SafeExamBrowser.Core.UnitTests\bin\x86\Debug\SafeExamBrowser.Core.UnitTests.dll" -filter:"+[*]* -[*.UnitTests]*" -mergebyhash -mergeoutput -output:"coverage.xml"
+ - .\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user -target:"vstest.console.exe" -targetargs:"/logger:Appveyor .\SafeExamBrowser.Runtime.UnitTests\bin\x86\Debug\SafeExamBrowser.Runtime.UnitTests.dll" -filter:"+[*]* -[*.UnitTests]*" -mergebyhash -mergeoutput -output:"coverage.xml"
after_test:
- "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%"
- pip install codecov