using Opc.Ua;
using ZB.MOM.WW.OtOpcUa.Host.Domain;
namespace ZB.MOM.WW.OtOpcUa.Host.OpcUa
{
///
/// Maps domain Quality to OPC UA StatusCodes for the OPC UA server layer. (OPC-005)
///
public static class OpcUaQualityMapper
{
///
/// Converts bridge quality values into OPC UA status codes.
///
/// The bridge quality value.
/// The OPC UA status code to publish.
public static StatusCode ToStatusCode(Quality quality)
{
return new StatusCode(QualityMapper.MapToOpcUaStatusCode(quality));
}
///
/// Converts an OPC UA status code back into a bridge quality category.
///
/// The OPC UA status code to interpret.
/// The bridge quality category represented by the status code.
public static Quality FromStatusCode(StatusCode statusCode)
{
if (StatusCode.IsGood(statusCode)) return Quality.Good;
if (StatusCode.IsUncertain(statusCode)) return Quality.Uncertain;
return Quality.Bad;
}
}
}