namespace ZB.MOM.WW.MxGateway.Worker.MxAccess;

public sealed class RegisteredAdviceHandle
{
    /// <summary>Initializes a new instance of the <see cref="RegisteredAdviceHandle"/> class.</summary>
    /// <param name="serverHandle">Handle returned by the worker.</param>
    /// <param name="itemHandle">Handle returned by the worker.</param>
    /// <param name="adviceKind">Type of advice.</param>
    public RegisteredAdviceHandle(
        int serverHandle,
        int itemHandle,
        MxAccessAdviceKind adviceKind)
    {
        ServerHandle = serverHandle;
        ItemHandle = itemHandle;
        AdviceKind = adviceKind;
    }

    /// <summary>Gets the server handle.</summary>
    public int ServerHandle { get; }

    /// <summary>Gets the item handle.</summary>
    public int ItemHandle { get; }

    /// <summary>Gets the advice kind.</summary>
    public MxAccessAdviceKind AdviceKind { get; }
}
