Opc.Ua.Server.StateMachine.OnCauseInvoked C# (CSharp) Method

OnCauseInvoked() public method

Called when a cause is invoked.
public OnCauseInvoked ( OperationContext context, QualifiedName causeName ) : void
context OperationContext
causeName QualifiedName
return void
        public virtual void OnCauseInvoked(OperationContext context, QualifiedName causeName)
        {
            lock (DataLock)
            {
                Transition transition = null;

                try
                {
                    transition = BeginTransitionForCause(context, causeName);
                    
                    OnBeforeTransition(context, transition, causeName);
                    
                    UpdateState(transition.ToState, transition);

                    EndTransition(context, transition, causeName);

                    ReportAuditEvent(context, transition, causeName, null);

                    OnAfterTransition(context, transition, causeName);
                }
                catch (Exception e)
                {
                    ReportAuditEvent(context, transition, causeName, e);
                    throw ServiceResultException.Create(StatusCodes.BadMethodInvalid, e, e.Message);
                } 
            }
        }