removes properties in inherited class

This commit is contained in:
Andrew Welker
2020-04-28 21:00:50 -06:00
parent 531c37c752
commit 618fa68000
3 changed files with 72 additions and 92 deletions

View File

@@ -1,95 +1,75 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharpPro; using Crestron.SimplSharpPro;
using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.DeviceSupport;
using Crestron.SimplSharpPro.DM; using Crestron.SimplSharpPro.DM;
using Crestron.SimplSharpPro.DM.Endpoints; using Crestron.SimplSharpPro.DM.Endpoints;
using Crestron.SimplSharpPro.DM.Endpoints.Receivers; using Crestron.SimplSharpPro.DM.Endpoints.Receivers;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Bridges;
namespace PepperDash.Essentials.DM namespace PepperDash.Essentials.DM
{ {
public class RmRmc4kZ100CController : DmRmcX100CController public class DmRmc4kZ100CController : DmRmcX100CController
{ {
public new DmRmc4kz100C Rmc { get; private set; } private readonly DmRmc4kz100C _rmc;
public RoutingInputPort DmIn { get; private set; } public DmRmc4kZ100CController(string key, string name, DmRmc4kz100C rmc)
public RoutingOutputPort HdmiOut { get; private set; }
public RoutingPortCollection<RoutingInputPort> InputPorts
{
get { return new RoutingPortCollection<RoutingInputPort> { DmIn }; }
}
public RoutingPortCollection<RoutingOutputPort> OutputPorts
{
get { return new RoutingPortCollection<RoutingOutputPort> { HdmiOut }; }
}
public RmRmc4kZ100CController(string key, string name, DmRmc4kz100C rmc)
: base(key, name, rmc) : base(key, name, rmc)
{ {
Rmc = rmc; _rmc = rmc;
DmIn = new RoutingInputPort(DmPortName.DmIn, eRoutingSignalType.Audio | eRoutingSignalType.Video, DmIn = new RoutingInputPort(DmPortName.DmIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
eRoutingPortConnectionType.DmCat, 0, this); eRoutingPortConnectionType.DmCat, 0, this);
HdmiOut = new RoutingOutputPort(DmPortName.HdmiOut, eRoutingSignalType.Audio | eRoutingSignalType.Video, HdmiOut = new RoutingOutputPort(DmPortName.HdmiOut, eRoutingSignalType.Audio | eRoutingSignalType.Video,
eRoutingPortConnectionType.Hdmi, null, this); eRoutingPortConnectionType.Hdmi, null, this) {Port = _rmc};
// Set Ports for CEC // Set Ports for CEC
HdmiOut.Port = Rmc; // Unique case, this class has no HdmiOutput port and ICec is implemented on the receiver class itself
EdidManufacturerFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.Manufacturer.StringValue);
EdidManufacturerFeedback = new StringFeedback(() => Rmc.HdmiOutput.ConnectedDevice.Manufacturer.StringValue); EdidNameFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.Name.StringValue);
EdidNameFeedback = new StringFeedback(() => Rmc.HdmiOutput.ConnectedDevice.Name.StringValue); EdidPreferredTimingFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.PreferredTiming.StringValue);
EdidPreferredTimingFeedback = new StringFeedback(() => Rmc.HdmiOutput.ConnectedDevice.PreferredTiming.StringValue); EdidSerialNumberFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.SerialNumber.StringValue);
EdidSerialNumberFeedback = new StringFeedback(() => Rmc.HdmiOutput.ConnectedDevice.SerialNumber.StringValue);
_rmc.HdmiOutput.OutputStreamChange += HdmiOutput_OutputStreamChange;
Rmc.HdmiOutput.OutputStreamChange += HdmiOutput_OutputStreamChange; _rmc.HdmiOutput.ConnectedDevice.DeviceInformationChange += ConnectedDevice_DeviceInformationChange;
Rmc.HdmiOutput.ConnectedDevice.DeviceInformationChange += ConnectedDevice_DeviceInformationChange; }
}
void HdmiOutput_OutputStreamChange(EndpointOutputStream outputStream, EndpointOutputStreamEventArgs args)
void HdmiOutput_OutputStreamChange(EndpointOutputStream outputStream, EndpointOutputStreamEventArgs args) {
{ if (args.EventId == EndpointOutputStreamEventIds.HorizontalResolutionFeedbackEventId || args.EventId == EndpointOutputStreamEventIds.VerticalResolutionFeedbackEventId ||
if (args.EventId == EndpointOutputStreamEventIds.HorizontalResolutionFeedbackEventId || args.EventId == EndpointOutputStreamEventIds.VerticalResolutionFeedbackEventId || args.EventId == EndpointOutputStreamEventIds.FramesPerSecondFeedbackEventId)
args.EventId == EndpointOutputStreamEventIds.FramesPerSecondFeedbackEventId) {
{ VideoOutputResolutionFeedback.FireUpdate();
VideoOutputResolutionFeedback.FireUpdate(); }
} }
}
void ConnectedDevice_DeviceInformationChange(ConnectedDeviceInformation connectedDevice, ConnectedDeviceEventArgs args)
void ConnectedDevice_DeviceInformationChange(ConnectedDeviceInformation connectedDevice, ConnectedDeviceEventArgs args) {
{ if (args.EventId == ConnectedDeviceEventIds.ManufacturerEventId)
if (args.EventId == ConnectedDeviceEventIds.ManufacturerEventId) {
{ EdidManufacturerFeedback.FireUpdate();
EdidManufacturerFeedback.FireUpdate(); }
} else if (args.EventId == ConnectedDeviceEventIds.NameEventId)
else if (args.EventId == ConnectedDeviceEventIds.NameEventId) {
{ EdidNameFeedback.FireUpdate();
EdidNameFeedback.FireUpdate(); }
} else if (args.EventId == ConnectedDeviceEventIds.PreferredTimingEventId)
else if (args.EventId == ConnectedDeviceEventIds.PreferredTimingEventId) {
{ EdidPreferredTimingFeedback.FireUpdate();
EdidPreferredTimingFeedback.FireUpdate(); }
} else if (args.EventId == ConnectedDeviceEventIds.SerialNumberEventId)
else if (args.EventId == ConnectedDeviceEventIds.SerialNumberEventId) {
{ EdidSerialNumberFeedback.FireUpdate();
EdidSerialNumberFeedback.FireUpdate(); }
} }
}
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
public override bool CustomActivate() {
{ LinkDmRmcToApi(this, trilist, joinStart, joinMapKey, bridge);
// Base does register and sets up comm monitoring. }
return base.CustomActivate(); }
}
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{
LinkDmRmcToApi(this, trilist, joinStart, joinMapKey, bridge);
}
}
} }

View File

@@ -26,7 +26,7 @@ namespace PepperDash.Essentials.DM
public virtual StringFeedback EdidPreferredTimingFeedback { get; protected set; } public virtual StringFeedback EdidPreferredTimingFeedback { get; protected set; }
public virtual StringFeedback EdidSerialNumberFeedback { get; protected set; } public virtual StringFeedback EdidSerialNumberFeedback { get; protected set; }
public DmRmcControllerBase(string key, string name, EndpointReceiverBase device) protected DmRmcControllerBase(string key, string name, EndpointReceiverBase device)
: base(key, name, device) : base(key, name, device)
{ {
// if wired to a chassis, skip registration step in base class // if wired to a chassis, skip registration step in base class

View File

@@ -21,10 +21,10 @@ namespace PepperDash.Essentials.DM
public class DmRmcX100CController : DmRmcControllerBase, IRoutingInputsOutputs, public class DmRmcX100CController : DmRmcControllerBase, IRoutingInputsOutputs,
IIROutputPorts, IComPorts, ICec IIROutputPorts, IComPorts, ICec
{ {
public DmRmc100C Rmc { get; private set; } public DmRmc100C Rmc { get; protected set; }
public RoutingInputPort DmIn { get; private set; } public RoutingInputPort DmIn { get; protected set; }
public RoutingOutputPort HdmiOut { get; private set; } public RoutingOutputPort HdmiOut { get; protected set; }
public RoutingPortCollection<RoutingInputPort> InputPorts public RoutingPortCollection<RoutingInputPort> InputPorts
{ {