public AccessControl_ReceiveFSM(urn_jaus_jss_core_Transport_1_1.Transport_ReceiveFSM pTransport_ReceiveFSM, urn_jaus_jss_core_Events_1_1.Events_ReceiveFSM pEvents_ReceiveFSM) { /* * If there are other variables, context must be constructed last so that all * class variables are available if an EntryAction of the InitialState of the * statemachine needs them. */ context = new AccessControl_ReceiveFSMContext(this); this.pTransport_ReceiveFSM = pTransport_ReceiveFSM; this.pEvents_ReceiveFSM = pEvents_ReceiveFSM; }
protected internal virtual void InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailableTransition(AccessControl_ReceiveFSMContext context, InternalEvent ie) { Default(context); }
protected internal virtual void InternalStateChange_To_AccessControl_ReceiveFSM_ReceivingTransition(AccessControl_ReceiveFSMContext context, InternalEvent ie) { Default(context); }
protected internal virtual void Exit(AccessControl_ReceiveFSMContext context) { }
protected internal override void ReceiveTransition(AccessControl_ReceiveFSMContext context, ReleaseControl msg, Receive.Body.ReceiveRec transportData) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_Available.ReceiveTransition(, ReleaseControl msg, Receive.Body.ReceiveRec transportData)"); #endif if (ctxt.isControllingClient( transportData )) { context.State.Exit(context); context.ClearState(); try { ctxt.SendAction("RejectControl", "CONTROL_RELEASED", transportData); ctxt.initAction(); ctxt.processNotifications("Receiving_Ready_NotControlled_Available", null); } finally { context.State = AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available; context.State.Entry(context); } } else { base.ReceiveTransition(context, msg, transportData); } return; }
protected internal override void UpdateEventTransition(AccessControl_ReceiveFSMContext context) { #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Internally_Generated_State_DO_NOT_USE.UpdateEventTransition()"); #endif return; }
protected internal virtual void SetAuthorityTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void ReceiveTransition(AccessControl_ReceiveFSMContext context, SetAuthority msg, Receive.Body.ReceiveRec transportData) { Default(context); }
protected internal override void ReceiveTransition(AccessControl_ReceiveFSMContext context, RequestControl msg, Receive.Body.ReceiveRec transportData) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable.ReceiveTransition(, RequestControl msg, Receive.Body.ReceiveRec transportData)"); #endif AccessControl_ReceiveFSMState endState = context.State; context.ClearState(); try { ctxt.SendAction("ConfirmControl", "NOT_AVAILABLE", transportData); } finally { context.State = endState; } return; }
protected internal override void ReceiveTransition(AccessControl_ReceiveFSMContext context, RequestControl msg, Receive.Body.ReceiveRec transportData) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available.ReceiveTransition(, RequestControl msg, Receive.Body.ReceiveRec transportData)"); #endif if (ctxt.isDefaultAuthorityGreater(msg)) { AccessControl_ReceiveFSMState endState = context.State; context.ClearState(); try { ctxt.SendAction("ConfirmControl", "INSUFFICIENT_AUTHORITY", transportData); } finally { context.State = endState; } } else if (! ctxt.isDefaultAuthorityGreater(msg)) { context.State.Exit(context); context.ClearState(); try { ctxt.StoreAddressAction(transportData); ctxt.SetAuthorityAction(msg); ctxt.ResetTimerAction(); ctxt.SendAction("ConfirmControl", "CONTROL_ACCEPTED", transportData); ctxt.processNotifications("Receiving_Ready_Controlled_Available", null); } finally { context.State = AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_Available; context.State.Entry(context); } } else { base.ReceiveTransition(context, msg, transportData); } return; }
protected internal override void ReceiveTransition(AccessControl_ReceiveFSMContext context, QueryAuthority msg, Receive.Body.ReceiveRec transportData) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available.ReceiveTransition(, QueryAuthority msg, Receive.Body.ReceiveRec transportData)"); #endif AccessControl_ReceiveFSMState endState = context.State; context.ClearState(); try { ctxt.SendAction("ReportAuthority", transportData); } finally { context.State = endState; } return; }
protected internal override void TimeoutTransition(AccessControl_ReceiveFSMContext context) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_NotAvailable.TimeoutTransition()"); #endif AccessControl_ReceiveFSMState endState = context.State; context.ClearState(); try { ctxt.resetTimerAction(); } finally { context.State = endState; } return; }
protected internal override void ReceiveTransition(AccessControl_ReceiveFSMContext context, SetAuthority msg, Receive.Body.ReceiveRec transportData) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_NotAvailable.ReceiveTransition(, SetAuthority msg, Receive.Body.ReceiveRec transportData)"); #endif if (ctxt.isAuthorityValid(msg) && ctxt.isControllingClient( transportData )) { AccessControl_ReceiveFSMState endState = context.State; context.ClearState(); try { ctxt.SetAuthorityAction(msg); } finally { context.State = endState; } } else { base.ReceiveTransition(context, msg, transportData); } return; }
protected internal override void TimeoutTransition(AccessControl_ReceiveFSMContext context) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_Available.TimeoutTransition()"); #endif context.State.Exit(context); context.ClearState(); try { ctxt.SendAction("RejectControl", "CONTROL_RELEASED"); ctxt.initAction(); ctxt.processNotifications("Receiving_Ready_NotControlled_Available", null); } finally { context.State = AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available; context.State.Entry(context); } return; }
protected internal virtual void QueryTimeoutTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void ReceiveTransition(AccessControl_ReceiveFSMContext context, QueryTimeout msg, Receive.Body.ReceiveRec transportData) { Default(context); }
protected internal virtual void BroadcastLocalTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void RequestControlTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void CommandExpiredTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void UpdateEventTransition(AccessControl_ReceiveFSMContext context) { Default(context); }
protected internal virtual void Default(AccessControl_ReceiveFSMContext context) { #if TRACE Trace.WriteLine( "TRANSITION : Default"); #endif throw ( new statemap.TransitionUndefinedException( "State: " + context.State.Name + ", Transition: " + context.GetTransition())); }
protected internal override void InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_AvailableTransition(AccessControl_ReceiveFSMContext context, InternalEvent ie) { AccessControl_ReceiveFSM ctxt = context.Owner; #if TRACE Trace.WriteLine( "TRANSITION : AccessControl_ReceiveFSM_SM.Receiving_Ready_Controlled_Available.InternalStateChange_To_AccessControl_ReceiveFSM_Receiving_Ready_NotControlled_AvailableTransition(, InternalEvent ie)"); #endif context.State.Exit(context); context.ClearState(); try { ctxt.initAction(); ctxt.processNotifications("Receiving_Ready_NotControlled_Available", ie); } finally { context.State = AccessControl_ReceiveFSM_SM.Receiving_Ready_NotControlled_Available; context.State.Entry(context); } return; }
protected internal virtual void EventOccurredTransition(AccessControl_ReceiveFSMContext context) { Default(context); }