From 48c6b1902ec90f9c5c25ee46637b5d37814749dd Mon Sep 17 00:00:00 2001 From: pgrote Date: Mon, 23 Oct 2023 20:20:55 +0200 Subject: [PATCH] Add IsRDMCapable; IsLLRPCapable; IsDHCPCapable; IsWebConfigurationCapable & IsArtNet4Capable to RemoteClient --- ArtNetSharp/Communication/RemoteClient.cs | 80 +++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/ArtNetSharp/Communication/RemoteClient.cs b/ArtNetSharp/Communication/RemoteClient.cs index 7b2ac04..034abbb 100644 --- a/ArtNetSharp/Communication/RemoteClient.cs +++ b/ArtNetSharp/Communication/RemoteClient.cs @@ -80,6 +80,81 @@ private set onPropertyChanged(); } } + private bool isRDMCapable; + public bool IsRDMCapable + { + get + { + return isRDMCapable; + } + private set + { + if (isRDMCapable == value) + return; + isRDMCapable = value; + onPropertyChanged(); + } + } + private bool isLLRPCapable; + public bool IsLLRPCapable + { + get + { + return isLLRPCapable; + } + private set + { + if (isLLRPCapable == value) + return; + isLLRPCapable = value; + onPropertyChanged(); + } + } + private bool isDHCPCapable; + public bool IsDHCPCapable + { + get + { + return isDHCPCapable; + } + private set + { + if (isDHCPCapable == value) + return; + isDHCPCapable = value; + onPropertyChanged(); + } + } + private bool isWebConfigurationCapable; + public bool IsWebConfigurationCapable + { + get + { + return isWebConfigurationCapable; + } + private set + { + if (isWebConfigurationCapable == value) + return; + isWebConfigurationCapable = value; + onPropertyChanged(); + } + } + private bool isArtNet4Capable; + public bool IsArtNet4Capable + { + get + { + return isArtNet4Capable; + } + private set + { + if (isArtNet4Capable == value) + return; + isArtNet4Capable = value; + onPropertyChanged(); + } + } private ArtPollReply root; public ArtPollReply Root @@ -98,6 +173,11 @@ public ArtPollReply Root this.IpAddress = root.OwnIp; this.ShortName = root.ShortName; this.LongName = root.LongName; + this.IsRDMCapable = root.Status.HasFlag(ENodeStatus.RDM_Supported); + this.IsLLRPCapable = root.Status.HasFlag(ENodeStatus.NodeSupportLLRP); + this.IsDHCPCapable = root.Status.HasFlag(ENodeStatus.DHCP_ConfigurationSupported); + this.IsWebConfigurationCapable = root.Status.HasFlag(ENodeStatus.WebConfigurationSupported); + this.IsArtNet4Capable = root.Status.HasFlag(ENodeStatus.NodeSupports15BitPortAddress); } } private ConcurrentDictionary ports= new ConcurrentDictionary();