Opc.Ua.FiniteStateMachineState.IsCausePermitted C# (CSharp) Method

IsCausePermitted() public method

Checks if the cause is permitted given the current state and returns the associated transition.
public IsCausePermitted ( ISystemContext context, uint causeId, bool checkUserAccessRights ) : bool
context ISystemContext
causeId uint
checkUserAccessRights bool
return bool
        public virtual bool IsCausePermitted(ISystemContext context, uint causeId, bool checkUserAccessRights)
        {
            uint transitionId = GetTransitionForCause(context, causeId);

            if (transitionId == 0)
            {
                return false;
            }

            if (checkUserAccessRights)
            {
                ServiceResult result = InvokeCallback(
                    OnCheckUserPermission,
                    context, 
                    this, 
                    transitionId, 
                    causeId,
                    null,
                    null);

                if (ServiceResult.IsBad(result))
                {
                    return false;
                }
            }

            return true;
        }