Compare commits

...

8 Commits

6 changed files with 131 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
internal class CustomProperties
{
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
internal class DeviceStatus
{
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("status")]
public string Status { get; set; }
[JsonProperty("description")]
public string Description { get; set; }
[JsonProperty("videoSource")]
public string VideoSource { get; set; }
[JsonProperty("audioSource")]
public string AudioSource { get; set; }
[JsonProperty("usage")]
public int Usage { get; set; }
[JsonProperty("error")]
public string Error { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Core
{
internal interface IUDMAPI
{
}
}

View File

@@ -0,0 +1,35 @@
using System.Collections.Generic;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents the complete room response for UDM API
/// </summary>
internal class RoomResponse
{
/// <summary>
/// API version string
/// </summary>
[JsonProperty("apiVersion")]
public string ApiVersion { get; private set; }
/// <summary>
/// Standard room properties
/// </summary>
[JsonProperty("standard")]
public StandardProperties Standard { get; set; }
/// <summary>
/// Status information including devices
/// </summary>
[JsonProperty("status")]
public StatusProperties Status { get; set; }
/// <summary>
/// Custom properties dictionary
/// </summary>
[JsonProperty("custom")]
public Dictionary<string, CustomProperties> Custom { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
internal class StandardProperties
{
[JsonProperty("version")]
public string Version { get; set; }
[JsonProperty("state")]
public string State { get; set; }
[JsonProperty("error")]
public string Error { get; set; }
[JsonProperty("occupancy")]
public bool Occupancy { get; set; }
[JsonProperty("helpRequest")]
public string HelpRequest { get; set; }
[JsonProperty("activity")]
public string Activity { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using Newtonsoft.Json;
using System.Collections.Generic;
namespace PepperDash.Essentials.Core
{
internal class StatusProperties
{
/// <summary>
/// Dictionary of device statuses keyed by device identifier
/// </summary>
[JsonProperty("devices")]
public Dictionary<string, DeviceStatus> Devices { get; set; }
}
}