/* * Copyright (c) 2019 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.Browser; using SafeExamBrowser.Settings.Logging; using SafeExamBrowser.Settings.Monitoring; using SafeExamBrowser.Settings.Service; using SafeExamBrowser.Settings.SystemComponents; using SafeExamBrowser.Settings.UserInterface; namespace SafeExamBrowser.Settings { /// /// Defines all settings for the application. /// [Serializable] public class ApplicationSettings { /// /// All action center-related settings. /// public ActionCenterSettings ActionCenter { get; set; } /// /// The hash code of the administrator password for the settings. /// public string AdminPasswordHash { get; set; } /// /// Determines whether any log information will be accessible via the user interface. /// public bool AllowApplicationLogAccess { 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 keyboard-related settings. /// public KeyboardSettings Keyboard { get; set; } /// /// The kiosk mode which determines how the computer is locked down. /// public KioskMode KioskMode { get; set; } /// /// The global log severity to be used. /// public LogLevel LogLevel { get; set; } /// /// All mouse-related settings. /// public MouseSettings Mouse { get; set; } /// /// The hash code of the quit password. /// public string QuitPasswordHash { get; set; } /// /// All service-related settings. /// public ServiceSettings Service { 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 ApplicationSettings() { ActionCenter = new ActionCenterSettings(); Audio = new AudioSettings(); Browser = new BrowserSettings(); Keyboard = new KeyboardSettings(); Mouse = new MouseSettings(); Service = new ServiceSettings(); Taskbar = new TaskbarSettings(); } } }