using Newtonsoft.Json;
using PepperDash.Essentials.Core.Config;
using System.Collections.Generic;
namespace PepperDash.Essentials
{
///
/// Used to overlay additional config data from mobile control on
///
public class MobileControlEssentialsConfig : EssentialsConfig
{
[JsonProperty("runtimeInfo")]
public MobileControlRuntimeInfo RuntimeInfo { get; set; }
public MobileControlEssentialsConfig(EssentialsConfig config)
: base()
{
// TODO: Consider using Reflection to iterate properties
this.Devices = config.Devices;
this.Info = config.Info;
this.JoinMaps = config.JoinMaps;
this.Rooms = config.Rooms;
this.SourceLists = config.SourceLists;
this.DestinationLists = config.DestinationLists;
this.SystemUrl = config.SystemUrl;
this.TemplateUrl = config.TemplateUrl;
this.TieLines = config.TieLines;
if (this.Info == null)
this.Info = new InfoConfig();
RuntimeInfo = new MobileControlRuntimeInfo();
}
}
///
/// Used to add any additional runtime information from mobile control to be send to the API
///
public class MobileControlRuntimeInfo
{
[JsonProperty("pluginVersion")]
public string PluginVersion { get; set; }
[JsonProperty("essentialsVersion")]
public string EssentialsVersion { get; set; }
[JsonProperty("pepperDashCoreVersion")]
public string PepperDashCoreVersion { get; set; }
[JsonProperty("essentialsPlugins")]
public List EssentialsPlugins { get; set; }
}
}