namespace ZB.MOM.WW.LmxProxy.Client.Domain; /// Extension methods for . public static class QualityExtensions { /// Returns true if quality is in the Good family (byte >= 192). public static bool IsGood(this Quality q) => (byte)q >= 192; /// Returns true if quality is in the Uncertain family (byte 64-127). public static bool IsUncertain(this Quality q) => (byte)q is >= 64 and < 128; /// Returns true if quality is in the Bad family (byte < 64). public static bool IsBad(this Quality q) => (byte)q < 64; /// /// Converts an OPC UA 32-bit status code to the simplified enum. /// Uses the top two bits to determine the quality family. /// public static Quality FromStatusCode(uint statusCode) { uint category = statusCode & 0xC0000000; return category switch { 0x00000000 => Quality.Good, 0x40000000 => Quality.Uncertain, _ => Quality.Bad }; } }