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; }
}
}