/* * Copyright (c) 2024 ETH Zürich, IT Services * * 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 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 settings related to the power supply. /// public PowerSupplySettings PowerSupply { 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 settings related to the user interface. /// public UserInterfaceSettings UserInterface { get; set; } public AppSettings() { Applications = new ApplicationSettings(); Audio = new AudioSettings(); Browser = new BrowserSettings(); Display = new DisplaySettings(); Keyboard = new KeyboardSettings(); Mouse = new MouseSettings(); PowerSupply = new PowerSupplySettings(); Proctoring = new ProctoringSettings(); Security = new SecuritySettings(); Server = new ServerSettings(); Service = new ServiceSettings(); System = new SystemSettings(); UserInterface = new UserInterfaceSettings(); } } }