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:
copilot-swe-agent[bot]
2025-07-22 15:53:01 +00:00
parent 260677a37f
commit 7987eb8f9b
485 changed files with 8099 additions and 2490 deletions

View File

@@ -8,11 +8,14 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Represents a DummyRoutingInputsDevice
/// </summary>
public class DummyRoutingInputsDevice : Device, IRoutingSource, IRoutingOutputs
{
/// <summary>
/// A single output port, backplane, audioVideo
/// </summary>
/// <summary>
/// Gets or sets the AudioVideoOutputPort
/// </summary>
public RoutingOutputPort AudioVideoOutputPort { get; private set; }
/// <summary>

View File

@@ -50,6 +50,9 @@ namespace PepperDash.Essentials.Core
/// Will release the existing route to the destination, if a route is found. This does not CLEAR the route, only stop counting usage time on any output ports that have a usage tracker set
/// </summary>
/// <param name="destination">destination to clear</param>
/// <summary>
/// ReleaseRoute method
/// </summary>
public static void ReleaseRoute(this IRoutingInputs destination)
{
routeRequestQueue.Enqueue(new ReleaseRouteQueueItem(ReleaseRouteInternal, destination, string.Empty, false));
@@ -60,6 +63,9 @@ namespace PepperDash.Essentials.Core
/// </summary>
/// <param name="destination">destination to clear</param>
/// <param name="inputPortKey">Input to use to find existing route</param>
/// <summary>
/// ReleaseRoute method
/// </summary>
public static void ReleaseRoute(this IRoutingInputs destination, string inputPortKey)
{
routeRequestQueue.Enqueue(new ReleaseRouteQueueItem(ReleaseRouteInternal, destination, inputPortKey, false));
@@ -79,6 +85,9 @@ namespace PepperDash.Essentials.Core
/// </summary>
/// <param name="destination">destination</param>
/// <param name="inputPortKey">input to use to find existing route</param>
/// <summary>
/// ClearRoute method
/// </summary>
public static void ClearRoute(this IRoutingInputs destination, string inputPortKey)
{
routeRequestQueue.Enqueue(new ReleaseRouteQueueItem(ReleaseRouteInternal, destination, inputPortKey, true));

View File

@@ -14,7 +14,7 @@ using System;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// The handler type for a Room's SourceInfoChange
/// Delegate for SourceInfoChangeHandler
/// </summary>
public delegate void SourceInfoChangeHandler(SourceListItem info, ChangeType type);
//*******************************************************************************************

View File

@@ -7,6 +7,9 @@ using System.Threading.Tasks;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Defines the contract for IVideoSync
/// </summary>
public interface IVideoSync : IKeyed
{
bool VideoSyncDetected { get; }

View File

@@ -2,6 +2,9 @@
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Defines the contract for IMatrixRouting
/// </summary>
public interface IMatrixRouting
{
Dictionary<string, IRoutingInputSlot> InputSlots { get; }

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines a receiver that has internal routing (DM-RMC-4K-Z-SCALER-C)
/// Defines the contract for IRmcRouting
/// </summary>
public interface IRmcRouting : IRoutingNumeric
{

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines an IRmcRouting with a feedback event
/// Defines the contract for IRmcRoutingWithFeedback
/// </summary>
public interface IRmcRoutingWithFeedback : IRmcRouting
{

View File

@@ -6,7 +6,7 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines an event structure for reporting output route data
/// Defines the contract for IRoutingFeedback
/// </summary>
public interface IRoutingFeedback : IKeyName
{

View File

@@ -12,6 +12,9 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines the contract for IRoutingHasVideoInputSyncFeedbacks
/// </summary>
public interface IRoutingHasVideoInputSyncFeedbacks
{
FeedbackCollection<BoolFeedback> VideoInputSyncFeedbacks { get; }

View File

@@ -1,5 +1,8 @@
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Defines the contract for IRoutingInputSlot
/// </summary>
public interface IRoutingInputSlot: IRoutingSlot, IOnline, IVideoSync
{
string TxDeviceKey { get; }

View File

@@ -4,7 +4,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines a class that has a collection of RoutingInputPorts
/// Defines the contract for IRoutingInputs
/// </summary>
public interface IRoutingInputs : IKeyed
{

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// For devices like RMCs, baluns, other devices with no switching.
/// Defines the contract for IRoutingInputsOutputs
/// </summary>
public interface IRoutingInputsOutputs : IRoutingInputs, IRoutingOutputs
{

View File

@@ -1,5 +1,8 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines the contract for IRoutingNumeric
/// </summary>
public interface IRoutingNumeric : IRouting
{
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines an IRoutingNumeric with a feedback event
/// Defines the contract for IRoutingNumericWithFeedback
/// </summary>
public interface IRoutingNumericWithFeedback : IRoutingNumeric, IRoutingFeedback
{

View File

@@ -3,6 +3,9 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Defines the contract for IRoutingOutputSlot
/// </summary>
public interface IRoutingOutputSlot : IRoutingSlot
{
event EventHandler OutputSlotChanged;

View File

@@ -3,10 +3,10 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines a class that has a collection of RoutingOutputPorts
/// </summary>
/// <summary>
/// Defines the contract for IRoutingOutputs
/// </summary>
public interface IRoutingOutputs : IKeyed
{
RoutingPortCollection<RoutingOutputPort> OutputPorts { get; }

View File

@@ -3,7 +3,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// For fixed-source endpoint devices
/// Defines the contract for IRoutingSink
/// </summary>
public interface IRoutingSink : IRoutingInputs, IHasCurrentSourceInfoChange
{

View File

@@ -6,7 +6,7 @@ namespace PepperDash.Essentials.Core
{
/// <summary>
/// For fixed-source endpoint devices
/// Defines the contract for IRoutingSinkWithFeedback
/// </summary>
public interface IRoutingSinkWithFeedback : IRoutingSinkWithSwitching
{

View File

@@ -2,16 +2,22 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Delegate for InputChangedEventHandler
/// </summary>
public delegate void InputChangedEventHandler(IRoutingSinkWithSwitching destination, RoutingInputPort currentPort);
/// <summary>
/// Endpoint device like a display, that selects inputs
/// Defines the contract for IRoutingSinkWithSwitching
/// </summary>
public interface IRoutingSinkWithSwitching : IRoutingSink
{
void ExecuteSwitch(object inputSelector);
}
/// <summary>
/// Defines the contract for IRoutingSinkWithSwitchingWithInputPort
/// </summary>
public interface IRoutingSinkWithSwitchingWithInputPort:IRoutingSinkWithSwitching, IRoutingSinkWithInputPort
{
event InputChangedEventHandler InputChanged;
@@ -20,6 +26,9 @@ namespace PepperDash.Essentials.Core
/* /// <summary>
/// Endpoint device like a display, that selects inputs
/// </summary>
/// <summary>
/// Defines the contract for IRoutingSinkWithSwitching
/// </summary>
public interface IRoutingSinkWithSwitching<TSelector> : IRoutingSink<TSelector>
{
void ExecuteSwitch(TSelector inputSelector);

View File

@@ -7,6 +7,9 @@ using System.Threading.Tasks;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Defines the contract for IRoutingSlot
/// </summary>
public interface IRoutingSlot:IKeyName
{
int SlotNumber { get; }

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Marker interface to identify a device that acts as the origin of a signal path (<see cref="IRoutingOutputs"/>).
/// Defines the contract for IRoutingSource
/// </summary>
public interface IRoutingSource : IRoutingOutputs
{

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines a routing device (<see cref="IRouting"/>) that supports explicitly clearing a route on an output.
/// Defines the contract for IRoutingWithClear
/// </summary>
public interface IRoutingWithClear : IRouting
{

View File

@@ -8,6 +8,9 @@ namespace PepperDash.Essentials.Core
/// </summary>
/// <param name="midpoint">The routing device where the change occurred.</param>
/// <param name="newRoute">A descriptor of the new route that was established.</param>
/// <summary>
/// Delegate for RouteChangedEventHandler
/// </summary>
public delegate void RouteChangedEventHandler(IRoutingWithFeedback midpoint, RouteSwitchDescriptor newRoute);
/// <summary>
/// Defines a routing device (<see cref="IRouting"/>) that provides feedback about its current routes.

View File

@@ -1,8 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a routing device (typically a transmitter or source) that provides numeric feedback for its current route.
/// Extends <see cref="IRoutingNumeric"/>.
/// Defines the contract for ITxRouting
/// </summary>
public interface ITxRouting : IRoutingNumeric
{

View File

@@ -1,7 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Defines an IRmcRouting with a feedback event
/// Defines the contract for ITxRoutingWithFeedback
/// </summary>
public interface ITxRoutingWithFeedback : ITxRouting
{

View File

@@ -20,22 +20,22 @@ namespace PepperDash.Essentials.Core
public IRoutingInputs Destination { get; private set; }
/// <summary>
/// The specific input port on the destination device used for this route. Can be null if not specified or applicable.
/// Gets or sets the InputPort
/// </summary>
public RoutingInputPort InputPort { get; private set; }
/// <summary>
/// The source device for the route.
/// Gets or sets the Source
/// </summary>
public IRoutingOutputs Source { get; private set; }
/// <summary>
/// The type of signal being routed (e.g., Audio, Video). This descriptor represents a single signal type.
/// Gets or sets the SignalType
/// </summary>
public eRoutingSignalType SignalType { get; private set; }
/// <summary>
/// A list of individual switching steps required to establish the route.
/// Gets or sets the Routes
/// </summary>
public List<RouteSwitchDescriptor> Routes { get; private set; }
@@ -66,7 +66,7 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
/// Executes all the switching steps defined in the <see cref="Routes"/> list.
/// ExecuteRoutes method
/// </summary>
public void ExecuteRoutes()
{
@@ -95,6 +95,9 @@ namespace PepperDash.Essentials.Core
/// Releases the usage tracking for the route and optionally clears the route on the switching devices.
/// </summary>
/// <param name="clearRoute">If true, attempts to clear the route on the switching devices (e.g., set input to null/0).</param>
/// <summary>
/// ReleaseRoutes method
/// </summary>
public void ReleaseRoutes(bool clearRoute = false)
{
foreach (var route in Routes.Where(r => r.SwitchingDevice is IRouting))
@@ -135,6 +138,9 @@ namespace PepperDash.Essentials.Core
/// Returns a string representation of the route descriptor, including source, destination, and individual route steps.
/// </summary>
/// <returns>A string describing the route.</returns>
/// <summary>
/// ToString method
/// </summary>
public override string ToString()
{
var routesText = Routes.Select(r => r.ToString()).ToArray();
@@ -145,10 +151,22 @@ namespace PepperDash.Essentials.Core
/*/// <summary>
/// Represents an collection of individual route steps between Source and Destination
/// </summary>
/// <summary>
/// Represents a RouteDescriptor
/// </summary>
public class RouteDescriptor<TInputSelector, TOutputSelector>
{
/// <summary>
/// Gets or sets the Destination
/// </summary>
public IRoutingInputs<TInputSelector> Destination { get; private set; }
/// <summary>
/// Gets or sets the Source
/// </summary>
public IRoutingOutputs<TOutputSelector> Source { get; private set; }
/// <summary>
/// Gets or sets the SignalType
/// </summary>
public eRoutingSignalType SignalType { get; private set; }
public List<RouteSwitchDescriptor<TInputSelector, TOutputSelector>> Routes { get; private set; }
@@ -162,8 +180,7 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
/// Executes all routes described in this collection. Typically called via
/// extension method IRoutingInputs.ReleaseAndMakeRoute()
/// ExecuteRoutes method
/// </summary>
public void ExecuteRoutes()
{
@@ -189,8 +206,7 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
/// Releases all routes in this collection. Typically called via
/// extension method IRoutingInputs.ReleaseAndMakeRoute()
/// ReleaseRoutes method
/// </summary>
public void ReleaseRoutes()
{
@@ -206,6 +222,10 @@ namespace PepperDash.Essentials.Core
}
}
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
var routesText = Routes.Select(r => r.ToString()).ToArray();

View File

@@ -30,6 +30,9 @@ namespace PepperDash.Essentials.Core
/// proper route releasing.
/// </summary>
/// <param name="descriptor"></param>
/// <summary>
/// AddRouteDescriptor method
/// </summary>
public void AddRouteDescriptor(RouteDescriptor descriptor)
{
if (descriptor == null)
@@ -51,6 +54,9 @@ namespace PepperDash.Essentials.Core
/// Gets the RouteDescriptor for a destination
/// </summary>
/// <returns>null if no RouteDescriptor for a destination exists</returns>
/// <summary>
/// GetRouteDescriptorForDestination method
/// </summary>
public RouteDescriptor GetRouteDescriptorForDestination(IRoutingInputs destination)
{
Debug.LogMessage(LogEventLevel.Information, "Getting route descriptor for '{destination}'", destination?.Key ?? null);
@@ -65,8 +71,7 @@ namespace PepperDash.Essentials.Core
}
/// <summary>
/// Returns the RouteDescriptor for a given destination AND removes it from collection.
/// Returns null if no route with the provided destination exists.
/// RemoveRouteDescriptor method
/// </summary>
public RouteDescriptor RemoveRouteDescriptor(IRoutingInputs destination, string inputPortKey = "")
{
@@ -87,6 +92,9 @@ namespace PepperDash.Essentials.Core
/*/// <summary>
/// A collection of RouteDescriptors - typically the static DefaultCollection is used
/// </summary>
/// <summary>
/// Represents a RouteDescriptorCollection
/// </summary>
public class RouteDescriptorCollection<TInputSelector, TOutputSelector>
{
public static RouteDescriptorCollection<TInputSelector, TOutputSelector> DefaultCollection
@@ -108,6 +116,9 @@ namespace PepperDash.Essentials.Core
/// proper route releasing.
/// </summary>
/// <param name="descriptor"></param>
/// <summary>
/// AddRouteDescriptor method
/// </summary>
public void AddRouteDescriptor(RouteDescriptor descriptor)
{
if (RouteDescriptors.Any(t => t.Destination == descriptor.Destination))
@@ -123,6 +134,9 @@ namespace PepperDash.Essentials.Core
/// Gets the RouteDescriptor for a destination
/// </summary>
/// <returns>null if no RouteDescriptor for a destination exists</returns>
/// <summary>
/// GetRouteDescriptorForDestination method
/// </summary>
public RouteDescriptor GetRouteDescriptorForDestination(IRoutingInputs<TInputSelector> destination)
{
return RouteDescriptors.FirstOrDefault(rd => rd.Destination == destination);

View File

@@ -5,7 +5,7 @@ using System;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a request to establish a route between a source and a destination device.
/// Represents a RouteRequest
/// </summary>
public class RouteRequest
{
@@ -15,22 +15,22 @@ namespace PepperDash.Essentials.Core
public RoutingInputPort DestinationPort { get; set; }
/// <summary>
/// The specific output port on the source device to use for the route. Can be null if the port should be automatically determined or is not applicable.
/// Gets or sets the SourcePort
/// </summary>
public RoutingOutputPort SourcePort { get; set; }
/// <summary>
/// The destination device (sink or midpoint) for the route.
/// Gets or sets the Destination
/// </summary>
public IRoutingInputs Destination { get; set; }
/// <summary>
/// The source device for the route.
/// Gets or sets the Source
/// </summary>
public IRoutingOutputs Source { get; set; }
/// <summary>
/// The type of signal being routed (e.g., Audio, Video, AudioVideo).
/// Gets or sets the SignalType
/// </summary>
public eRoutingSignalType SignalType { get; set; }
@@ -70,6 +70,9 @@ namespace PepperDash.Essentials.Core
/// Returns a string representation of the route request.
/// </summary>
/// <returns>A string describing the source and destination of the route request.</returns>
/// <summary>
/// ToString method
/// </summary>
public override string ToString()
{
return $"Route {Source?.Key ?? "No Source Device"}:{SourcePort?.Key ?? "auto"} to {Destination?.Key ?? "No Destination Device"}:{DestinationPort?.Key ?? "auto"}";

View File

@@ -6,7 +6,7 @@ using Serilog.Events;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// Represents an item in the route request queue.
/// Represents a RouteRequestQueueItem
/// </summary>
public class RouteRequestQueueItem : IQueueMessage
{
@@ -41,7 +41,7 @@ namespace PepperDash.Essentials.Core.Routing
}
/// <summary>
/// Represents an item in the queue for releasing a route.
/// Represents a ReleaseRouteQueueItem
/// </summary>
public class ReleaseRouteQueueItem : IQueueMessage
{
@@ -78,7 +78,7 @@ namespace PepperDash.Essentials.Core.Routing
}
/// <summary>
/// Dispatches the release route action.
/// Dispatch method
/// </summary>
public void Dispatch()
{

View File

@@ -1,13 +1,13 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a single switching step within a larger route, detailing the switching device, input port, and optionally the output port.
/// Represents a RouteSwitchDescriptor
/// </summary>
public class RouteSwitchDescriptor
{
/// <summary>
/// The device performing the switch (derived from the InputPort's parent).
/// </summary>
/// <summary>
/// Gets or sets the SwitchingDevice
/// </summary>
public IRoutingInputs SwitchingDevice { get { return InputPort?.ParentDevice; } }
/// <summary>
/// The output port being switched from (relevant for matrix switchers). Null for sink devices.
@@ -42,6 +42,10 @@
/// Returns a string representation of the route switch descriptor.
/// </summary>
/// <returns>A string describing the switch operation.</returns>
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
if (SwitchingDevice is IRouting)
@@ -54,10 +58,22 @@
/*/// <summary>
/// Represents an individual link for a route
/// </summary>
/// <summary>
/// Represents a RouteSwitchDescriptor
/// </summary>
public class RouteSwitchDescriptor<TInputSelector, TOutputSelector>
{
/// <summary>
/// Gets or sets the SwitchingDevice
/// </summary>
public IRoutingInputs<TInputSelector> SwitchingDevice { get { return InputPort.ParentDevice; } }
/// <summary>
/// Gets or sets the OutputPort
/// </summary>
public RoutingOutputPort<TOutputSelector> OutputPort { get; set; }
/// <summary>
/// Gets or sets the InputPort
/// </summary>
public RoutingInputPort<TInputSelector> InputPort { get; set; }
public RouteSwitchDescriptor(RoutingInputPort<TInputSelector> inputPort)
@@ -71,6 +87,10 @@
OutputPort = outputPort;
}
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
if (SwitchingDevice is IRouting)

View File

@@ -5,7 +5,7 @@ using System;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a basic routing input port on a device.
/// Represents a RoutingInputPort
/// </summary>
public class RoutingInputPort : RoutingPort
{
@@ -45,6 +45,10 @@ namespace PepperDash.Essentials.Core
/// Returns a string representation of the input port.
/// </summary>
/// <returns>A string in the format "ParentDeviceKey|PortKey|SignalType|ConnectionType".</returns>
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
return $"{ParentDevice.Key}|{Key}|{Type}|{ConnectionType}";
@@ -57,7 +61,7 @@ namespace PepperDash.Essentials.Core
public class RoutingInputPort<TSelector> : RoutingPort<TSelector>
{
/// <summary>
/// The IRoutingInputs object this lives on
/// Gets or sets the ParentDevice
/// </summary>
public IRoutingInputs<TSelector> ParentDevice { get; private set; }

View File

@@ -1,8 +1,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a routing input port that provides video status feedback (e.g., sync, resolution).
/// Suitable for devices like DM transmitters or DM input cards.
/// Represents a RoutingInputPortWithVideoStatuses
/// </summary>
public class RoutingInputPortWithVideoStatuses : RoutingInputPort
{

View File

@@ -4,7 +4,7 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Provides event arguments for routing changes, potentially including numeric or port object references.
/// Represents a RoutingNumericEventArgs
/// </summary>
public class RoutingNumericEventArgs : EventArgs
{

View File

@@ -5,7 +5,7 @@ using System;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a basic routing output port on a device.
/// Represents a RoutingOutputPort
/// </summary>
public class RoutingOutputPort : RoutingPort
{
@@ -56,6 +56,10 @@ namespace PepperDash.Essentials.Core
/// Returns a string representation of the output port.
/// </summary>
/// <returns>A string in the format "ParentDeviceKey|PortKey|SignalType|ConnectionType".</returns>
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
return $"{ParentDevice.Key}|{Key}|{Type}|{ConnectionType}";
@@ -65,10 +69,13 @@ namespace PepperDash.Essentials.Core
/*public class RoutingOutputPort<TSelector> : RoutingPort<TSelector>
{
/// <summary>
/// The IRoutingOutputs object this port lives on
/// Gets or sets the ParentDevice
/// </summary>
public IRoutingOutputs ParentDevice { get; private set; }
/// <summary>
/// Gets or sets the InUseTracker
/// </summary>
public InUseTracking InUseTracker { get; private set; }
@@ -91,6 +98,10 @@ namespace PepperDash.Essentials.Core
InUseTracker = new InUseTracking();
}
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
return ParentDevice.Key + ":" + Key;

View File

@@ -57,12 +57,30 @@ namespace PepperDash.Essentials.Core
/*public abstract class RoutingPort<TSelector>:IKeyed
{
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; private set; }
/// <summary>
/// Gets or sets the Type
/// </summary>
public eRoutingSignalType Type { get; private set; }
/// <summary>
/// Gets or sets the ConnectionType
/// </summary>
public eRoutingPortConnectionType ConnectionType { get; private set; }
public readonly TSelector Selector;
/// <summary>
/// Gets or sets the IsInternal
/// </summary>
public bool IsInternal { get; private set; }
/// <summary>
/// Gets or sets the FeedbackMatchObject
/// </summary>
public object FeedbackMatchObject { get; set; }
/// <summary>
/// Gets or sets the Port
/// </summary>
public object Port { get; set; }
public RoutingPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType, TSelector selector, bool isInternal)

View File

@@ -4,9 +4,9 @@ using System.Linq;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Basically a List , with an indexer to find ports by key name
/// </summary>
/// <summary>
/// Represents a RoutingPortCollection
/// </summary>
public class RoutingPortCollection<T> : List<T> where T: RoutingPort
{
/// <summary>
@@ -24,6 +24,9 @@ namespace PepperDash.Essentials.Core
/* /// <summary>
/// Basically a List , with an indexer to find ports by key name
/// </summary>
/// <summary>
/// Represents a RoutingPortCollection
/// </summary>
public class RoutingPortCollection<T, TSelector> : List<T> where T : RoutingPort<TSelector>
{
/// <summary>

View File

@@ -5,7 +5,7 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents a connection (tie line) between a <see cref="RoutingOutputPort"/> and a <see cref="RoutingInputPort"/>.
/// Represents a TieLine
/// </summary>
public class TieLine
{
@@ -127,7 +127,7 @@ namespace PepperDash.Essentials.Core
//********************************************************************************
/// <summary>
/// Represents a collection of <see cref="TieLine"/> objects.
/// Represents a TieLineCollection
/// </summary>
public class TieLineCollection : List<TieLine>
{

View File

@@ -23,29 +23,29 @@ namespace PepperDash.Essentials.Core.Config
/// </summary>
public string SourceKey { get; set; }
/// <summary>
/// The key of the source card (if applicable, e.g., in a modular chassis).
/// </summary>
/// <summary>
/// Gets or sets the SourceCard
/// </summary>
public string SourceCard { get; set; }
/// <summary>
/// The key of the source output port.
/// </summary>
/// <summary>
/// Gets or sets the SourcePort
/// </summary>
public string SourcePort { get; set; }
/// <summary>
/// The key of the destination device.
/// </summary>
/// <summary>
/// Gets or sets the DestinationKey
/// </summary>
public string DestinationKey { get; set; }
/// <summary>
/// The key of the destination card (if applicable).
/// </summary>
/// <summary>
/// Gets or sets the DestinationCard
/// </summary>
public string DestinationCard { get; set; }
/// <summary>
/// The key of the destination input port.
/// </summary>
/// <summary>
/// Gets or sets the DestinationPort
/// </summary>
public string DestinationPort { get; set; }
/// <summary>

View File

@@ -1,5 +1,8 @@
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Enumeration of eRoutingPortConnectionType values
/// </summary>
public enum eRoutingPortConnectionType
{
None, BackplaneOnly, DisplayPort, Dvi, Hdmi, Rgb, Vga, LineAudio, DigitalAudio, Sdi,

View File

@@ -4,6 +4,9 @@
namespace PepperDash.Essentials.Core
{
[Flags]
/// <summary>
/// Enumeration of eRoutingSignalType values
/// </summary>
public enum eRoutingSignalType
{
Audio = 1,