add genericIrController class

This commit is contained in:
Andrew Welker
2020-09-02 16:54:01 -06:00
parent 8f2ef9082b
commit 741f694733
3 changed files with 53 additions and 1 deletions

View File

@@ -0,0 +1,50 @@
using System.Collections.Generic;
using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Core;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Bridges;
using PepperDash.Essentials.Core.Config;
namespace PepperDash_Essentials_Core.Devices
{
public class GenericIRController: EssentialsBridgeableDevice
{
private readonly IrOutputPortController _port;
public GenericIRController(string key, string name, IrOutputPortController irPort) : base(key, name)
{
_port = irPort;
DeviceManager.AddDevice(_port);
}
#region Overrides of EssentialsBridgeableDevice
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{
throw new System.NotImplementedException();
}
#endregion
}
public class GenericIrControllerFactory : EssentialsDeviceFactory<GenericIRController>
{
public GenericIrControllerFactory()
{
TypeNames = new List<string> {"genericIrController"};
}
#region Overrides of EssentialsDeviceFactory<GenericIRController>
public override EssentialsDevice BuildDevice(DeviceConfig dc)
{
Debug.Console(1, "Factory Attempting to create new Generic IR Controller Device");
var irPort = IRPortHelper.GetIrOutputPortController(dc);
return new GenericIRController(dc.Key, dc.Name, irPort);
}
#endregion
}
}

View File

@@ -35,6 +35,8 @@ namespace PepperDash.Essentials.Core
: base(key)
{
//if (port == null) throw new ArgumentNullException("port");
DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
IrPort = port;
if (port == null)
{