Adds PD.Core schema files from submodule build

This commit is contained in:
Neil Dorin
2020-01-22 12:16:04 -07:00
parent cb6dcc7de9
commit f113b0df63
9 changed files with 275 additions and 5 deletions

View File

@@ -1,82 +0,0 @@
using System;
using System.Collections.Generic;
using Crestron.SimplSharpPro.DM;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using PepperDash.Core;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.DM.Cards;
namespace PepperDash.Essentials.DM.Config
{
/// <summary>
/// Represents the "properties" property of a DM device config
/// </summary>
public class DMChassisPropertiesConfig
{
[JsonProperty("control")]
public ControlPropertiesConfig Control { get; set; }
/// <summary>
/// The available volume controls
/// </summary>
[JsonProperty("volumeControls")]
public Dictionary<uint, DmCardAudioPropertiesConfig> VolumeControls { get; set; }
/// <summary>
/// The input cards
/// </summary>
[JsonProperty("inputSlots")]
public Dictionary<uint, string> InputSlots { get; set; }
/// <summary>
/// The output cards (each card represents a pair of outputs)
/// </summary>
[JsonProperty("outputSlots")]
public Dictionary<uint, string> OutputSlots { get; set; }
/// <summary>
/// The names of the Inputs
/// </summary>
[JsonProperty("inputNames")]
public Dictionary<uint, string> InputNames { get; set; }
/// <summary>
/// The names of the Outputs
/// </summary>
[JsonProperty("outputNames")]
public Dictionary<uint, string> OutputNames { get; set; }
/// <summary>
/// The string to use when no route is set for a given output
/// </summary>
[JsonProperty("noRouteText")]
public string NoRouteText { get; set; }
[JsonProperty("inputSlotSupportsHdcp2")]
public Dictionary<uint, bool> InputSlotSupportsHdcp2 { get; set; }
public DMChassisPropertiesConfig()
{
InputSlotSupportsHdcp2 = new Dictionary<uint, bool>();
}
}
/// <summary>
///
/// </summary>
public class DmCardAudioPropertiesConfig
{
/// <summary>
/// The level to set on the output
/// </summary>
[JsonProperty("outLevel")]
public int OutLevel { get; set; }
/// <summary>
/// Defines if this level is adjustable or not
/// </summary>
[JsonProperty("isVolumeControlPoint")]
public bool IsVolumeControlPoint { get; set; }
}
}

View File

@@ -1,34 +0,0 @@
using System;
using System.Collections.Generic;
using Crestron.SimplSharpPro.DM;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using PepperDash.Core;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.DM.Cards;
namespace PepperDash.Essentials.DM.Config
{
/// <summary>
/// Represents the "properties" property of a DM device config
/// </summary>
public class DmpsRoutingPropertiesConfig
{
[JsonProperty("inputNames")]
public Dictionary<uint, string> InputNames { get; set; }
[JsonProperty("outputNames")]
public Dictionary<uint, string> OutputNames { get; set; }
[JsonProperty("noRouteText")]
public string NoRouteText { get; set; }
public DmpsRoutingPropertiesConfig()
{
InputNames = new Dictionary<uint, string>();
OutputNames = new Dictionary<uint, string>();
}
}
}

View File

@@ -1,74 +0,0 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "DmChassisController Properties Config Schema",
"description": "",
"$ref":"EssentialsConfigSchema.json/definitions/Device",
"properties":{
"properties":{
"$ref":"#/definitions/propertiesConfig"
}
},
"definitions": {
"propertiesConfig": {
"type":"object",
"additionalProperties": true,
"properties": {
"control":{
"type":"object",
"$ref":"ControlPropertiesConfigSchema.json#definitions/ControlPropertiesConfig"
},
"volumeControls":{
"type":"object",
"additionalProperties": {
"type":"object",
"$ref": "#definitions/dmAudioCardPropertiesConfig"
}
},
"inputSlots":{
"type":"object",
"additionalProperties": {
"type":"string"
}
},
"outputSlots":{
"type":"object",
"additionalProperties": {
"type":"string"
}
},
"inputNames":{
"type":"object",
"additionalProperties": {
"type":"string"
}
},
"outputNames":{
"type":"object",
"additionalProperties": {
"type":"string"
}
},
"noRouteText":{
"type":"string"
},
"inputSlotSupportsHdcp2":{
"type":"object",
"additionalProperties": {
"type":"boolean"
}
}
}
},
"dmAudioCardPropertiesConfig":{
"type":"object",
"properties": {
"OutLevel":{
"type":"integer"
},
"isVolumeControlPoint":{
"type":"boolean"
}
}
}
}
}