mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-14 04:04:58 +00:00
docs: complete XML documentation for all projects with inheritdoc tags
Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
This commit is contained in:
@@ -12,13 +12,22 @@ using Serilog.Events;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a CecPortController
|
||||
/// </summary>
|
||||
public class CecPortController : Device, IBasicCommunicationWithStreamDebugging
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the StreamDebugging
|
||||
/// </summary>
|
||||
public CommunicationStreamDebugging StreamDebugging { get; private set; }
|
||||
|
||||
public event EventHandler<GenericCommMethodReceiveBytesArgs> BytesReceived;
|
||||
public event EventHandler<GenericCommMethodReceiveTextArgs> TextReceived;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the IsConnected
|
||||
/// </summary>
|
||||
public bool IsConnected { get { return true; } }
|
||||
|
||||
ICec Port;
|
||||
@@ -74,6 +83,9 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
#region IBasicCommunication Members
|
||||
|
||||
/// <summary>
|
||||
/// SendText method
|
||||
/// </summary>
|
||||
public void SendText(string text)
|
||||
{
|
||||
if (Port == null)
|
||||
@@ -83,6 +95,9 @@ namespace PepperDash.Essentials.Core
|
||||
Port.StreamCec.Send.StringValue = text;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SendBytes method
|
||||
/// </summary>
|
||||
public void SendBytes(byte[] bytes)
|
||||
{
|
||||
if (Port == null)
|
||||
@@ -93,10 +108,16 @@ namespace PepperDash.Essentials.Core
|
||||
Port.StreamCec.Send.StringValue = text;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Connect method
|
||||
/// </summary>
|
||||
public void Connect()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disconnect method
|
||||
/// </summary>
|
||||
public void Disconnect()
|
||||
{
|
||||
}
|
||||
@@ -107,6 +128,9 @@ namespace PepperDash.Essentials.Core
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="s"></param>
|
||||
/// <summary>
|
||||
/// SimulateReceive method
|
||||
/// </summary>
|
||||
public void SimulateReceive(string s)
|
||||
{
|
||||
// split out hex chars and build string
|
||||
|
||||
@@ -12,13 +12,22 @@ using Serilog.Events;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ComPortController
|
||||
/// </summary>
|
||||
public class ComPortController : Device, IBasicCommunicationWithStreamDebugging
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the StreamDebugging
|
||||
/// </summary>
|
||||
public CommunicationStreamDebugging StreamDebugging { get; private set; }
|
||||
|
||||
public event EventHandler<GenericCommMethodReceiveBytesArgs> BytesReceived;
|
||||
public event EventHandler<GenericCommMethodReceiveTextArgs> TextReceived;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the IsConnected
|
||||
/// </summary>
|
||||
public bool IsConnected { get { return true; } }
|
||||
|
||||
ComPort Port;
|
||||
@@ -116,6 +125,10 @@ namespace PepperDash.Essentials.Core
|
||||
if(!eventSubscribed) Debug.LogMessage(LogEventLevel.Warning, this, "Received data but no handler is registered");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deactivate method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool Deactivate()
|
||||
{
|
||||
return Port.UnRegister() == eDeviceRegistrationUnRegistrationResponse.Success;
|
||||
@@ -123,6 +136,9 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
#region IBasicCommunication Members
|
||||
|
||||
/// <summary>
|
||||
/// SendText method
|
||||
/// </summary>
|
||||
public void SendText(string text)
|
||||
{
|
||||
if (Port == null)
|
||||
@@ -133,6 +149,9 @@ namespace PepperDash.Essentials.Core
|
||||
Port.Send(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SendBytes method
|
||||
/// </summary>
|
||||
public void SendBytes(byte[] bytes)
|
||||
{
|
||||
if (Port == null)
|
||||
@@ -144,10 +163,16 @@ namespace PepperDash.Essentials.Core
|
||||
Port.Send(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Connect method
|
||||
/// </summary>
|
||||
public void Connect()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disconnect method
|
||||
/// </summary>
|
||||
public void Disconnect()
|
||||
{
|
||||
}
|
||||
@@ -158,6 +183,9 @@ namespace PepperDash.Essentials.Core
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="s"></param>
|
||||
/// <summary>
|
||||
/// SimulateReceive method
|
||||
/// </summary>
|
||||
public void SimulateReceive(string s)
|
||||
{
|
||||
// split out hex chars and build string
|
||||
|
||||
@@ -34,8 +34,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// CanConvert method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(ComPort.ComPortSpec?);
|
||||
@@ -44,10 +45,15 @@ namespace PepperDash.Essentials.Core
|
||||
public override bool CanRead { get { return true; } }
|
||||
|
||||
/// <summary>
|
||||
/// This converter will not be used for writing
|
||||
/// Gets or sets the CanWrite
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CanWrite { get { return false; } }
|
||||
|
||||
/// <summary>
|
||||
/// WriteJson method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -55,12 +61,11 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The gist of this converter: The comspec JSON comes in with normal values that need to be converted
|
||||
/// into enum names. This converter takes the value and applies the appropriate enum's name prefix to the value
|
||||
/// and then returns the enum value using Enum.Parse. NOTE: Does not write
|
||||
/// Represents a ComSpecPropsJsonConverter
|
||||
/// </summary>
|
||||
public class ComSpecPropsJsonConverter : JsonConverter
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(ComPort.eComBaudRates)
|
||||
@@ -72,8 +77,15 @@ namespace PepperDash.Essentials.Core
|
||||
|| objectType == typeof(ComPort.eComStopBits);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the CanRead
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CanRead { get { return true; } }
|
||||
|
||||
/// <summary>
|
||||
/// ReadJson method
|
||||
/// </summary>
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
//Debug.LogMessage(LogEventLevel.Verbose, "ReadJson type: " + objectType.Name);
|
||||
@@ -94,6 +106,10 @@ namespace PepperDash.Essentials.Core
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// WriteJson method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
||||
@@ -38,6 +38,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// Returns a comm method of either com port, TCP, SSH, and puts this into the DeviceManager
|
||||
/// </summary>
|
||||
/// <param name="deviceConfig">The Device config object</param>
|
||||
/// <summary>
|
||||
/// CreateCommForDevice method
|
||||
/// </summary>
|
||||
public static IBasicCommunication CreateCommForDevice(DeviceConfig deviceConfig)
|
||||
{
|
||||
EssentialsControlPropertiesConfig controlConfig = GetControlPropertiesConfig(deviceConfig);
|
||||
@@ -110,6 +113,9 @@ namespace PepperDash.Essentials.Core
|
||||
return comm;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetComPort method
|
||||
/// </summary>
|
||||
public static ComPort GetComPort(EssentialsControlPropertiesConfig config)
|
||||
{
|
||||
var comPar = config.ComParams;
|
||||
@@ -125,6 +131,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
/// <param name="config"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// GetCecPort method
|
||||
/// </summary>
|
||||
public static ICec GetCecPort(ControlPropertiesConfig config)
|
||||
{
|
||||
try
|
||||
@@ -182,6 +191,9 @@ namespace PepperDash.Essentials.Core
|
||||
/// return the ControlSystem object from the Global class.
|
||||
/// </summary>
|
||||
/// <returns>IComPorts device or null if the device is not found or does not implement IComPorts</returns>
|
||||
/// <summary>
|
||||
/// GetIComPortsDeviceFromManagedDevice method
|
||||
/// </summary>
|
||||
public static IComPorts GetIComPortsDeviceFromManagedDevice(string ComPortDevKey)
|
||||
{
|
||||
if ((ComPortDevKey.Equals("controlSystem", System.StringComparison.OrdinalIgnoreCase)
|
||||
@@ -199,7 +211,7 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a EssentialsControlPropertiesConfig
|
||||
/// </summary>
|
||||
public class EssentialsControlPropertiesConfig :
|
||||
ControlPropertiesConfig
|
||||
@@ -232,6 +244,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
|
||||
[JsonProperty("infinetId", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the InfinetId
|
||||
/// </summary>
|
||||
public string InfinetId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -254,10 +269,22 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a IrControlSpec
|
||||
/// </summary>
|
||||
public class IrControlSpec
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the PortDeviceKey
|
||||
/// </summary>
|
||||
public string PortDeviceKey { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the PortNumber
|
||||
/// </summary>
|
||||
public uint PortNumber { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the File
|
||||
/// </summary>
|
||||
public string File { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -11,20 +11,32 @@ using Serilog.Events;
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ConsoleCommMockDevice
|
||||
/// </summary>
|
||||
public class ConsoleCommMockDevice : EssentialsDevice, ICommunicationMonitor
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Communication
|
||||
/// </summary>
|
||||
public IBasicCommunication Communication { get; private set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the PortGather
|
||||
/// </summary>
|
||||
public CommunicationGather PortGather { get; private set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the CommunicationMonitor
|
||||
/// </summary>
|
||||
public StatusMonitorBase CommunicationMonitor { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Defaults to \x0a
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Gets or sets the LineEnding
|
||||
/// </summary>
|
||||
public string LineEnding { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Set to true to show responses in full hex
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Gets or sets the ShowHexResponse
|
||||
/// </summary>
|
||||
public bool ShowHexResponse { get; set; }
|
||||
|
||||
public ConsoleCommMockDevice(string key, string name, ConsoleCommMockDevicePropertiesConfig props, IBasicCommunication comm)
|
||||
@@ -37,6 +49,10 @@ namespace PepperDash.Essentials.Core
|
||||
LineEnding = props.LineEnding;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CustomActivate method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
Communication.Connect();
|
||||
@@ -56,9 +72,18 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ConsoleCommMockDevicePropertiesConfig
|
||||
/// </summary>
|
||||
public class ConsoleCommMockDevicePropertiesConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the LineEnding
|
||||
/// </summary>
|
||||
public string LineEnding { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the CommunicationMonitorProperties
|
||||
/// </summary>
|
||||
public CommunicationMonitorConfig CommunicationMonitorProperties { get; set; }
|
||||
|
||||
public ConsoleCommMockDevicePropertiesConfig()
|
||||
@@ -67,6 +92,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ConsoleCommMockDeviceFactory
|
||||
/// </summary>
|
||||
public class ConsoleCommMockDeviceFactory : EssentialsDeviceFactory<ConsoleCommMockDevice>
|
||||
{
|
||||
public ConsoleCommMockDeviceFactory()
|
||||
@@ -74,6 +102,10 @@ namespace PepperDash.Essentials.Core
|
||||
TypeNames = new List<string>() { "commmock" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Comm Mock Device");
|
||||
|
||||
@@ -44,12 +44,18 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
public static IKeyed BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Comm Device");
|
||||
return new GenericComm(dc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SetPortConfig method
|
||||
/// </summary>
|
||||
public void SetPortConfig(string portConfig)
|
||||
{
|
||||
// TODO: Deserialize new EssentialsControlPropertiesConfig and handle as necessary
|
||||
@@ -71,6 +77,10 @@ namespace PepperDash.Essentials.Core
|
||||
ConfigWriter.UpdateDeviceConfig(config);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LinkToApi method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
||||
{
|
||||
var joinMap = new IBasicCommunicationJoinMap(joinStart);
|
||||
@@ -129,6 +139,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a GenericCommFactory
|
||||
/// </summary>
|
||||
public class GenericCommFactory : EssentialsDeviceFactory<GenericComm>
|
||||
{
|
||||
public GenericCommFactory()
|
||||
@@ -136,6 +149,10 @@ namespace PepperDash.Essentials.Core
|
||||
TypeNames = new List<string>() { "genericComm" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Generic Comm Device");
|
||||
|
||||
@@ -5,6 +5,9 @@ using System;
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
[Obsolete("Please use the builtin HttpClient class instead: https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines")]
|
||||
/// <summary>
|
||||
/// Represents a GenericHttpClient
|
||||
/// </summary>
|
||||
public class GenericHttpClient : Device, IBasicCommunication
|
||||
{
|
||||
private readonly HttpClient Client;
|
||||
@@ -25,6 +28,9 @@ namespace PepperDash.Essentials.Core
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="path"></param>
|
||||
/// <summary>
|
||||
/// SendText method
|
||||
/// </summary>
|
||||
public void SendText(string path)
|
||||
{
|
||||
HttpClientRequest request = new HttpClientRequest();
|
||||
@@ -40,6 +46,9 @@ namespace PepperDash.Essentials.Core
|
||||
HttpClient.DISPATCHASYNC_ERROR error = Client.DispatchAsyncEx(request, Response, request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SendTextNoResponse method
|
||||
/// </summary>
|
||||
public void SendTextNoResponse(string format, params object[] items)
|
||||
{
|
||||
HttpClientRequest request = new HttpClientRequest();
|
||||
@@ -65,6 +74,9 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
#region IBasicCommunication Members
|
||||
|
||||
/// <summary>
|
||||
/// SendBytes method
|
||||
/// </summary>
|
||||
public void SendBytes(byte[] bytes)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -78,11 +90,17 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
public event EventHandler<GenericCommMethodReceiveBytesArgs> BytesReceived;
|
||||
|
||||
/// <summary>
|
||||
/// Connect method
|
||||
/// </summary>
|
||||
public void Connect()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disconnect method
|
||||
/// </summary>
|
||||
public void Disconnect()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -97,10 +115,22 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
#endregion
|
||||
}
|
||||
/// <summary>
|
||||
/// Represents a GenericHttpClientEventArgs
|
||||
/// </summary>
|
||||
public class GenericHttpClientEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the ResponseText
|
||||
/// </summary>
|
||||
public string ResponseText { get; private set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the RequestPath
|
||||
/// </summary>
|
||||
public string RequestPath { get; private set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the Error
|
||||
/// </summary>
|
||||
public HTTP_CALLBACK_ERROR Error { get; set; }
|
||||
public GenericHttpClientEventArgs(string response, string request, HTTP_CALLBACK_ERROR error)
|
||||
{
|
||||
|
||||
@@ -83,6 +83,9 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetIrOutputPort method
|
||||
/// </summary>
|
||||
public static IROutputPort GetIrOutputPort(DeviceConfig dc)
|
||||
{
|
||||
var irControllerKey = dc.Key + "-ir";
|
||||
@@ -142,6 +145,9 @@ namespace PepperDash.Essentials.Core
|
||||
return port;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetIrOutputPortController method
|
||||
/// </summary>
|
||||
public static IrOutputPortController GetIrOutputPortController(DeviceConfig config)
|
||||
{
|
||||
Debug.LogMessage(LogEventLevel.Debug, "Attempting to create new Ir Port Controller");
|
||||
@@ -159,8 +165,8 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
/*
|
||||
/// <summary>
|
||||
/// Returns a ready-to-go IrOutputPortController from a DeviceConfig object.
|
||||
/// </summary>
|
||||
/// GetIrOutputPortController method
|
||||
/// </summary>
|
||||
public static IrOutputPortController GetIrOutputPortController(DeviceConfig devConf)
|
||||
{
|
||||
var irControllerKey = devConf.Key + "-ir";
|
||||
@@ -222,12 +228,15 @@ namespace PepperDash.Essentials.Core
|
||||
}*/
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper to help in IR port creation
|
||||
/// </summary>
|
||||
/// <summary>
|
||||
/// Represents a IrOutPortConfig
|
||||
/// </summary>
|
||||
public class IrOutPortConfig
|
||||
{
|
||||
[JsonProperty("port")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Port
|
||||
/// </summary>
|
||||
public IROutputPort Port { get; set; }
|
||||
|
||||
[JsonProperty("fileName")]
|
||||
|
||||
Reference in New Issue
Block a user