mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-08 09:15:06 +00:00
Added new interface IHasCresnetBranches
Added new CinCenCn2Controller InProgress #297
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Crestron.SimplSharpPro;
|
||||
using Crestron.SimplSharpPro.DeviceSupport;
|
||||
using Crestron.SimplSharpPro.GeneralIO;
|
||||
using Newtonsoft.Json;
|
||||
using PepperDash.Core;
|
||||
using PepperDash.Essentials.Core.Bridges;
|
||||
using PepperDash.Essentials.Core.Config;
|
||||
using System.Linq;
|
||||
using PepperDash_Essentials_Core.Crestron_IO.DinCenCn;
|
||||
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
public class DinCenCn2Controller : CrestronGenericBaseDevice, IHasCresnetBranches
|
||||
{
|
||||
private readonly DinCenCn2 _device;
|
||||
|
||||
public CrestronCollection<CresnetBranch> CresnetBranches
|
||||
{
|
||||
get {
|
||||
return _device != null ? _device.Branches : null;
|
||||
}
|
||||
}
|
||||
|
||||
public DinCenCn2Controller(string key, string name, DinCenCn2 device, DeviceConfig config)
|
||||
: base(key, name, device)
|
||||
{
|
||||
_device = device;
|
||||
}
|
||||
|
||||
public class DinCenCn2ControllerFactory : EssentialsDeviceFactory<DinCenCn2Controller>
|
||||
{
|
||||
public DinCenCn2ControllerFactory()
|
||||
{
|
||||
TypeNames = new List<string>() { "dincencn2", "dincencn2poe", "din-cencn2", "din-cencn2-poe" };
|
||||
}
|
||||
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
Debug.Console(1, "Factory Attempting to create new C2N-RTHS Device");
|
||||
|
||||
var control = CommFactory.GetControlPropertiesConfig(dc);
|
||||
var ipid = control.IpIdInt;
|
||||
|
||||
if (dc.Type.ToLower().Contains("poe"))
|
||||
{
|
||||
return new DinCenCn2Controller(dc.Key, dc.Name, new DinCenCn2Poe(ipid, Global.ControlSystem), dc);
|
||||
}
|
||||
|
||||
return new DinCenCn2Controller(dc.Key, dc.Name, new DinCenCn2(ipid, Global.ControlSystem), dc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Crestron.SimplSharp;
|
||||
using Crestron.SimplSharpPro;
|
||||
using Crestron.SimplSharpPro.DeviceSupport;
|
||||
|
||||
namespace PepperDash_Essentials_Core.Crestron_IO.DinCenCn
|
||||
{
|
||||
public interface IHasCresnetBranches
|
||||
{
|
||||
CrestronCollection<CresnetBranch> CresnetBranches { get; }
|
||||
}
|
||||
}
|
||||
@@ -172,6 +172,8 @@
|
||||
</Compile>
|
||||
<Compile Include="Crestron IO\Cards\CenCi33Controller.cs" />
|
||||
<Compile Include="Crestron IO\Cards\InternalCardCageController.cs" />
|
||||
<Compile Include="Crestron IO\DinCenCn\DinCenCnController.cs" />
|
||||
<Compile Include="Crestron IO\DinCenCn\IHasCresnetBranches.cs" />
|
||||
<Compile Include="Crestron IO\Inputs\CenIoDigIn104Controller.cs" />
|
||||
<Compile Include="Crestron IO\Inputs\GenericDigitalInputDevice.cs" />
|
||||
<Compile Include="Crestron IO\Inputs\GenericVersiportInputDevice.cs" />
|
||||
|
||||
Reference in New Issue
Block a user