/* * Copyright (c) 2023 ETH Zürich, Educational Development and Technology (LET) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using System; using SafeExamBrowser.Settings.Applications; using SafeExamBrowser.Settings.Browser; using SafeExamBrowser.Settings.Logging; using SafeExamBrowser.Settings.Monitoring; using SafeExamBrowser.Settings.Proctoring; using SafeExamBrowser.Settings.Security; using SafeExamBrowser.Settings.Server; using SafeExamBrowser.Settings.Service; using SafeExamBrowser.Settings.System; using SafeExamBrowser.Settings.SystemComponents; using SafeExamBrowser.Settings.UserInterface; namespace SafeExamBrowser.Settings { /// /// Defines all settings for the application. /// [Serializable] public class AppSettings { /// /// All action center-related settings. /// public ActionCenterSettings ActionCenter { get; set; } /// /// All settings related to external applications. /// public ApplicationSettings Applications { get; set; } /// /// All audio-related settings. /// public AudioSettings Audio { get; set; } /// /// All browser-related settings. /// public BrowserSettings Browser { get; set; } /// /// The mode which determines the configuration behaviour. /// public ConfigurationMode ConfigurationMode { get; set; } /// /// All display-related settings. /// public DisplaySettings Display { get; set; } /// /// All keyboard-related settings. /// public KeyboardSettings Keyboard { get; set; } /// /// The global log severity to be used. /// public LogLevel LogLevel { get; set; } /// /// All mouse-related settings. /// public MouseSettings Mouse { get; set; } /// /// All proctoring-related settings. /// public ProctoringSettings Proctoring { get; set; } /// /// All security-related settings. /// public SecuritySettings Security { get; set; } /// /// All server-related settings. /// public ServerSettings Server { get; set; } /// /// All service-related settings. /// public ServiceSettings Service { get; set; } /// /// The mode which determines the session behaviour. /// public SessionMode SessionMode { get; set; } /// /// All system-related settings. /// public SystemSettings System { get; set; } /// /// All taskbar-related settings. /// public TaskbarSettings Taskbar { get; set; } /// /// The mode which determines the look & feel of the user interface. /// public UserInterfaceMode UserInterfaceMode { get; set; } public AppSettings() { ActionCenter = new ActionCenterSettings(); Applications = new ApplicationSettings(); Audio = new AudioSettings(); Browser = new BrowserSettings(); Display = new DisplaySettings(); Keyboard = new KeyboardSettings(); Mouse = new MouseSettings(); Proctoring = new ProctoringSettings(); Security = new SecuritySettings(); Server = new ServerSettings(); Service = new ServiceSettings(); System = new SystemSettings(); Taskbar = new TaskbarSettings(); } } }