/* * 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 System.Collections.Generic; using SafeExamBrowser.Applications.Contracts; using SafeExamBrowser.Browser.Contracts; using SafeExamBrowser.Communication.Contracts.Hosts; using SafeExamBrowser.Configuration.Contracts; using SafeExamBrowser.Configuration.Contracts.Integrity; using SafeExamBrowser.Server.Contracts; using SafeExamBrowser.Settings; using SafeExamBrowser.UserInterface.Contracts.Shell; namespace SafeExamBrowser.Client { /// /// Holds all configuration and session data for the client. /// internal class ClientContext { /// /// All activators for shell components. /// internal IList Activators { get; } /// /// All applications allowed for the current session. /// internal IList Applications { get; } /// /// The global application configuration. /// internal AppConfig AppConfig { get; set; } /// /// The browser application. /// internal IBrowserApplication Browser { get; set; } /// /// The client communication host. /// internal IClientHost ClientHost { get; set; } /// /// The integrity module. /// internal IIntegrityModule IntegrityModule { get; set; } /// /// The server proxy to be used if the current session mode is . /// internal IServerProxy Server { get; set; } /// /// The identifier of the current session. /// internal Guid SessionId { get; set; } /// /// The settings for the current session. /// internal AppSettings Settings { get; set; } internal ClientContext() { Activators = new List(); Applications = new List(); } } }