OSDP.Net 5.2.1
A .NET library for implementing the Open Supervised Device Protocol (OSDP)
Loading...
Searching...
No Matches
OutputStatus.cs
3using System;
4using System.Linq;
5using System.Text;
6
8{
13 {
17 public OutputStatus(bool[] statuses)
18 {
19 OutputStatuses = statuses;
20 }
21
23 public override byte Code => (byte)ReplyType.OutputStatusReport;
24
28 public bool[] OutputStatuses { get; }
29
31 public override ReadOnlySpan<byte> SecurityControlBlock() => SecurityBlock.ReplyMessageWithDataSecurity;
32
36 public static OutputStatus ParseData(ReadOnlySpan<byte> data)
37 {
38 return new OutputStatus(data.ToArray().Select(Convert.ToBoolean).ToArray());
39 }
40
42 public override byte[] BuildData() => OutputStatuses.Select(x => x ? (byte)0x01 : (byte)0x00).ToArray();
43
45 public override string ToString()
46 {
47 byte outputNumber = 0;
48 var build = new StringBuilder();
49 foreach (bool outputStatus in OutputStatuses)
50 {
51 build.AppendLine($"Output Number {outputNumber++:00}: {outputStatus}");
52 }
53 return build.ToString();
54 }
55 }
56}
Contains standard Security Control Block data that can be used when building messages.
Base class representing a payload an OSDP message.
Definition PayloadData.cs:9
OutputStatus(bool[] statuses)
Prevents a default instance of the OutputStatus class from being created.
static OutputStatus ParseData(ReadOnlySpan< byte > data)
Parses the message payload bytes.
bool[] OutputStatuses
Gets the all the PDs output statuses as an array ordered by output number.
override ReadOnlySpan< byte > SecurityControlBlock()
ReplyType
Identifies the type of OSDP protocol reply (PD -> ACU) message.
Definition ReplyType.cs:7