using System.Collections.Generic; using Newtonsoft.Json; using PepperDash.Essentials.Core.Config; namespace PepperDash.Essentials { /// /// Configuration class for sending data to Mobile Control Edge or a client using the Direct Server /// public class MobileControlEssentialsConfig : EssentialsConfig { /// /// Current versions for the system /// [JsonProperty("runtimeInfo")] public MobileControlRuntimeInfo RuntimeInfo { get; set; } /// /// Create Configuration for Mobile Control. Used as part of the data sent to a client /// /// The base configuration public MobileControlEssentialsConfig(EssentialsConfig config) : base() { Devices = config.Devices; Info = config.Info; JoinMaps = config.JoinMaps; Rooms = config.Rooms; SourceLists = config.SourceLists; DestinationLists = config.DestinationLists; SystemUrl = config.SystemUrl; TemplateUrl = config.TemplateUrl; TieLines = config.TieLines; if (Info == null) Info = new InfoConfig(); RuntimeInfo = new MobileControlRuntimeInfo(); } } /// /// Represents a MobileControlRuntimeInfo /// public class MobileControlRuntimeInfo { /// /// Gets or sets the PluginVersion /// [JsonProperty("pluginVersion")] public string PluginVersion { get; set; } /// /// Essentials Version /// [JsonProperty("essentialsVersion")] public string EssentialsVersion { get; set; } /// /// PepperDash Core Version /// [JsonProperty("pepperDashCoreVersion")] public string PepperDashCoreVersion { get; set; } /// /// List of Plugins loaded on this system /// [JsonProperty("essentialsPlugins")] public List EssentialsPlugins { get; set; } } }