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

OnBeforeTransition() protected method

Does any processing before a transition occurs.
protected OnBeforeTransition ( OperationContext context, Transition transition, QualifiedName cause ) : void
context OperationContext
transition Transition
cause QualifiedName
return void
        protected virtual void OnBeforeTransition(OperationContext context, Transition transition, QualifiedName cause)
        {
            // raise a notification that a transition is about to occur.
            if (m_TransitionInitiated != null)
            {
                StateMachineTransitionEventArgs args = new StateMachineTransitionEventArgs(transition.FromState.BrowseName, transition.ToState.BrowseName, cause);
                
                m_TransitionInitiated(context, this, args);

                if (args.Cancel)
                {
                    throw ServiceResultException.Create(StatusCodes.Bad, "Transition to State '{0}' was cancelled because: '{1}'.", transition.ToState.DisplayName, args.CancelReason);
                }
            }
        }