OSDP.Net 5.2.1
A .NET library for implementing the Open Supervised Device Protocol (OSDP)
Loading...
Searching...
No Matches
ManufacturerSpecific.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
7{
11 public class ManufacturerSpecific
12 {
16 private ManufacturerSpecific()
17 {
18 }
19
23 public IEnumerable<byte> VendorCode { get; private set; }
24
28 public IEnumerable<byte> Data { get; private set; }
29
33 public static ManufacturerSpecific ParseData(ReadOnlySpan<byte> data)
34 {
35 var dataArray = data.ToArray();
36 if (dataArray.Length < 3)
37 {
38 throw new Exception("Invalid size for the data");
39 }
40
41 var manufacturerSpecificReply = new ManufacturerSpecific
42 {
43 VendorCode = dataArray.Take(3),
44 Data = dataArray.Length > 3 ? dataArray.Skip(3).ToArray() : null
45 };
46
47 return manufacturerSpecificReply;
48 }
49
51 public override string ToString()
52 {
53 var build = new StringBuilder();
54 build.AppendLine($"Vendor Code: {BitConverter.ToString(VendorCode.ToArray())}");
55 build.AppendLine($" Data: {BitConverter.ToString(Data.ToArray())}");
56 return build.ToString();
57 }
58 }
59}
IEnumerable< byte > Data
Gets the manufacture specific data.
IEnumerable< byte > VendorCode
Gets the vendor code.
static ManufacturerSpecific ParseData(ReadOnlySpan< byte > data)
Parses the message payload bytes.