using ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport;
namespace ZB.MOM.WW.OtOpcUa.Driver.AbLegacy;
///
/// Maps transport status codes to OPC UA StatusCodes via the table shared with AbCip
/// ().
///
public static class AbLegacyStatusMapper
{
public const uint Good = 0u;
public const uint GoodMoreData = 0x00A60000u;
public const uint BadInternalError = 0x80020000u;
public const uint BadNodeIdUnknown = 0x80340000u;
public const uint BadNotWritable = 0x803B0000u;
public const uint BadOutOfRange = 0x803C0000u;
public const uint BadNotSupported = 0x803D0000u;
public const uint BadDeviceFailure = 0x808B0000u;
public const uint BadCommunicationError = 0x80050000u;
public const uint BadTimeout = 0x800A0000u;
public const uint BadTypeMismatch = 0x80740000u;
///
/// Map the integer form of an (what
/// returns) to an OPC UA StatusCode.
///
/// The integer transport status.
/// The corresponding OPC UA status code.
public static uint MapStatus(int status) => MapStatus((AbStatus)status);
/// Map a transport-neutral to an OPC UA StatusCode.
/// The transport status.
/// The corresponding OPC UA status code.
public static uint MapStatus(AbStatus status) => AbOpcUaStatusMap.MapStatus(status);
}