3using System.Collections.Generic;
34 public IEnumerable<DeviceCapability>
Capabilities {
get;
private set; }
53 Capabilities.FirstOrDefault((cap) => cap.Function == funcCode);
66 var dataArray = data.ToArray();
67 if (dataArray.Length % 3 != 0)
69 throw new Exception(
"Invalid size for the data");
72 var capabilities =
new List<DeviceCapability>();
73 for (
int index = 0; index < dataArray.Length; index += 3)
75 capabilities.Add(
DeviceCapability.ParseData(dataArray.Skip(index).Take(3).ToArray()));
83 return deviceCapabilities;
90 var build =
new StringBuilder();
93 build.AppendLine(capability.ToString());
96 return build.ToString();
102 var data =
new List<byte>();
105 data.AddRange(capability.BuildData());
108 return data.ToArray();
Contains standard Security Control Block data that can be used when building messages.
Base class representing a payload an OSDP message.
DeviceCapability Get(CapabilityFunction funcCode)
Gets a specific PD capability.
override byte[] BuildData()
T Get< T >(CapabilityFunction funcCode)
override string ToString()
DeviceCapabilities()
Creates a new instance of DeviceCapabilities.
DeviceCapabilities(IEnumerable< DeviceCapability > capabilities)
Initializes a new instance of DeviceCapabilities class.
override ReadOnlySpan< byte > SecurityControlBlock()
IEnumerable< DeviceCapability > Capabilities
Gets the all the PD's device capabilities.
Generic capability data for a PD.
ReplyType
Identifies the type of OSDP protocol reply (PD -> ACU) message.
CapabilityFunction
Definitions of the capability function codes.