/* * Copyright (c) 2025 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 System.Collections.Generic; namespace SafeExamBrowser.Settings.Applications { /// /// Defines an application which is whitelisted, i.e. allowed to run during a session. /// [Serializable] public class WhitelistApplication { /// /// Determines whether the user may choose a custom path if the main executable cannot be found under . /// public bool AllowCustomPath { get; set; } /// /// Determines whether the application may already be running when initializing a session. If true, will be ignored. /// public bool AllowRunning { get; set; } /// /// The list of arguments to be used when starting the application. /// public IList Arguments { get; } /// /// Determines whether the application will be automatically started when initializing a session. /// public bool AutoStart { get; set; } /// /// Specifies whether the application may be automatically terminated when starting a session. Is ignored if is set. /// public bool AutoTerminate { get; set; } /// /// Provides further information about the application. /// public string Description { get; set; } /// /// The display name to be used for the application (e.g. in the shell). /// public string DisplayName { get; set; } /// /// The file name of the main executable of the application. /// public string ExecutableName { get; set; } /// /// The path where the main executable of the application is located. /// public string ExecutablePath { get; set; } /// /// Unique identifier to be used to identify the application during runtime. /// public Guid Id { get; } /// /// The original file name of the main executable of the application, if available. /// public string OriginalName { get; set; } /// /// Determines whether the user will be able to access the application via the shell. /// public bool ShowInShell { get; set; } /// /// The signature of the main executable of the application, if available. /// public string Signature { get; set; } public WhitelistApplication() { Arguments = new List(); Id = Guid.NewGuid(); } } }