seb-win-refactoring/SafeExamBrowser.Contracts/Configuration/AppConfig.cs

128 lines
3.5 KiB
C#
Raw Normal View History

/*
* 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;
namespace SafeExamBrowser.Contracts.Configuration
{
/// <summary>
/// Defines the fundamental, global configuration information for all application components.
/// </summary>
2018-02-15 15:42:54 +01:00
[Serializable]
public class AppConfig
{
/// <summary>
/// The file path of the local client configuration for the active user.
/// </summary>
public string AppDataFilePath { get; set; }
/// <summary>
/// The point in time when the application was started.
/// </summary>
2018-02-15 15:42:54 +01:00
public DateTime ApplicationStartTime { get; set; }
/// <summary>
/// The path where the browser cache is to be stored.
/// </summary>
2018-02-15 15:42:54 +01:00
public string BrowserCachePath { get; set; }
/// <summary>
/// The file path under which the log of the browser component is to be stored.
/// </summary>
public string BrowserLogFilePath { get; set; }
/// <summary>
/// The communication address of the client component.
/// </summary>
2018-02-15 15:42:54 +01:00
public string ClientAddress { get; set; }
/// <summary>
/// The executable path of the client compontent.
/// </summary>
2018-02-15 15:42:54 +01:00
public string ClientExecutablePath { get; set; }
/// <summary>
/// The unique identifier for the currently running client instance.
/// </summary>
2018-02-15 15:42:54 +01:00
public Guid ClientId { get; set; }
/// <summary>
/// The file path under which the log of the client component is to be stored.
/// </summary>
public string ClientLogFilePath { get; set; }
/// <summary>
/// The file extension of configuration files for the application (including the period).
/// </summary>
public string ConfigurationFileExtension { get; set; }
/// <summary>
/// The default directory for file downloads.
/// </summary>
public string DownloadDirectory { get; set; }
/// <summary>
/// The copyright information for the application (i.e. the executing assembly).
/// </summary>
2018-02-15 15:42:54 +01:00
public string ProgramCopyright { get; set; }
/// <summary>
/// The file path of the local client configuration for all users.
/// </summary>
public string ProgramDataFilePath { get; set; }
/// <summary>
/// The program title of the application (i.e. the executing assembly).
/// </summary>
2018-02-15 15:42:54 +01:00
public string ProgramTitle { get; set; }
/// <summary>
/// The program version of the application (i.e. the executing assembly).
/// </summary>
2018-02-15 15:42:54 +01:00
public string ProgramVersion { get; set; }
/// <summary>
/// The communication address of the runtime component.
/// </summary>
2018-02-15 15:42:54 +01:00
public string RuntimeAddress { get; set; }
/// <summary>
/// The unique identifier for the currently running runtime instance.
/// </summary>
2018-02-15 15:42:54 +01:00
public Guid RuntimeId { get; set; }
/// <summary>
/// The file path under which the log of the runtime component is to be stored.
/// </summary>
public string RuntimeLogFilePath { get; set; }
/// <summary>
/// The URI scheme for SEB resources.
/// </summary>
public string SebUriScheme { get; set; }
/// <summary>
/// The URI scheme for secure SEB resources.
/// </summary>
public string SebUriSchemeSecure { get; set; }
/// <summary>
/// The communication address of the service component.
/// </summary>
2018-02-15 15:42:54 +01:00
public string ServiceAddress { get; set; }
/// <summary>
/// Creates a shallow clone.
/// </summary>
public AppConfig Clone()
{
return MemberwiseClone() as AppConfig;
}
}
}