Ejemplo n.º 1
0
        public Management_ReceiveFSM(urn_jaus_jss_core_Transport_1_1.Transport_ReceiveFSM pTransport_ReceiveFSM, urn_jaus_jss_core_Events_1_1.Events_ReceiveFSM pEvents_ReceiveFSM, urn_jaus_jss_core_AccessControl_1_1.AccessControl_ReceiveFSM pAccessControl_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 Management_ReceiveFSMContext(this);

            this.pTransport_ReceiveFSM = pTransport_ReceiveFSM;
            this.pEvents_ReceiveFSM = pEvents_ReceiveFSM;
            this.pAccessControl_ReceiveFSM = pAccessControl_ReceiveFSM;
        }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, Resume msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_Controlled_Available_Standby.ReceiveTransition(, Resume msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                    if (ctxt.isControllingClient( transportData ))
                    {

                        context.State.Exit(context);
                        context.ClearState();

                        try
                        {
                            ctxt.processNotifications("Receiving_Ready_Controlled_Available_Ready", null);
                        }
                        finally
                        {
                            context.State = Management_ReceiveFSM_SM.Receiving_Ready_Controlled_Available_Ready;
                            context.State.Entry(context);
                        }

                    }
                    else                    {
                        base.ReceiveTransition(context, msg, transportData);
                    }

                    return;
                }
 protected internal virtual void UpdateEventTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void RequestControlTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void ReceiveTransition(Management_ReceiveFSMContext context, Shutdown msg)
 {
     Default(context);
 }
 protected internal virtual void QueryTimeoutTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void InternalStateChange_To_Management_ReceiveFSM_Receiving_ReadyTransition(Management_ReceiveFSMContext context, InternalEvent ie)
 {
     Default(context);
 }
 protected internal virtual void Exit(Management_ReceiveFSMContext context)
 {
 }
                protected internal override void FailureTransition(Management_ReceiveFSMContext context)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown.FailureTransition()");
                    #endif

                    context.State.Exit(context);
                        context.ClearState();

                        try
                        {
                        ctxt.processNotifications("Receiving_Ready_NotControlled_NotAvailable_Failure", null);
                        }
                        finally
                        {
                        context.State = Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Failure;
                        context.State.Entry(context);
                        }

                    return;
                }
                protected internal override void TimeoutTransition(Management_ReceiveFSMContext context)
                {
                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Emergency.TimeoutTransition()");
                    #endif

                    return;
                }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, RequestControl msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Emergency.ReceiveTransition(, RequestControl msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                        Management_ReceiveFSMState endState = context.State;

                        context.ClearState();

                        try
                        {
                        ctxt.SendAction("ConfirmControl", "NOT_AVAILABLE", transportData);
                        }
                        finally
                        {
                            context.State = endState;
                        }

                    return;
                }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, ClearEmergency msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Emergency.ReceiveTransition(, ClearEmergency msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                    if (ctxt.isIDStored( transportData ))
                    {

                        context.State.Exit(context);
                    context.ClearState();

                    try
                    {
                            ctxt.popWrapper_367bc5868aa53b23a6c5a07701058fbf(msg, transportData);
                            ctxt.processNotifications(context.peakTopStateStack(), null);
                    }
                    finally
                    {
                            context.PopState();
                    }

                    }
                    else                    {
                        base.ReceiveTransition(context, msg, transportData);
                    }

                    return;
                }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, Shutdown msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_Controlled_NotAvailable_Emergency.ReceiveTransition(, Shutdown msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                    if (ctxt.isControllingClient( transportData ))
                    {

                        context.State.Exit(context);
                        context.ClearState();

                        try
                        {
                            ctxt.SendAction("RejectControl", "CONTROL_RELEASED", transportData);
                            ctxt.processNotifications("Receiving_Ready_NotControlled_NotAvailable_Shutdown", null);
                        }
                        finally
                        {
                            context.State = Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown;
                            context.State.Entry(context);
                        }

                    }
                    else                    {
                        base.ReceiveTransition(context, msg, transportData);
                    }

                    return;
                }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, Shutdown msg)
                {
                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_Controlled_NotAvailable_Emergency.ReceiveTransition(, Shutdown msg)");
                    #endif

                    return;
                }
 protected internal virtual void Default(Management_ReceiveFSMContext context)
 {
     #if TRACE
     Trace.WriteLine(
         "TRANSITION : Default");
     #endif
     throw (
         new statemap.TransitionUndefinedException(
             "State: " +
             context.State.Name +
             ", Transition: " +
             context.GetTransition()));
 }
 protected internal virtual void EventOccurredTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
                protected internal override void InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_InitTransition(Management_ReceiveFSMContext context, InternalEvent ie)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown.InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_InitTransition(, InternalEvent ie)");
                    #endif

                    context.State.Exit(context);
                    context.ClearState();

                    try
                    {
                        ctxt.initializeAction();
                        ctxt.processNotifications("Receiving_Ready_NotControlled_NotAvailable_Init", ie);
                    }
                    finally
                    {
                        context.State = Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Init;
                        context.State.Entry(context);
                    }

                    return;
                }
 protected internal virtual void InitializedTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, QueryStatus msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown.ReceiveTransition(, QueryStatus msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                        Management_ReceiveFSMState endState = context.State;

                        context.ClearState();

                        try
                        {
                        ctxt.SendAction("ReportStatus", transportData);
                        }
                        finally
                        {
                            context.State = endState;
                        }

                    return;
                }
 protected internal virtual void InternalStateChange_To_Management_ReceiveFSM_Receiving_Ready_NotControlled_NotAvailable_ShutdownTransition(Management_ReceiveFSMContext context, InternalEvent ie)
 {
     Default(context);
 }
                protected internal override void ReceiveTransition(Management_ReceiveFSMContext context, SetEmergency msg, Receive.Body.ReceiveRec transportData)
                {
                    Management_ReceiveFSM ctxt = context.Owner;

                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Shutdown.ReceiveTransition(, SetEmergency msg, Receive.Body.ReceiveRec transportData)");
                    #endif

                    Management_ReceiveFSMState endState = context.State;

                    context.ClearState();

                    try
                    {
                        ctxt.StoreIDAction(transportData);
                        ctxt.processNotifications("Receiving_Ready_NotControlled_NotAvailable_Emergency", null);
                    }
                    finally
                    {
                        context.State = endState;
                        context.PushState(Management_ReceiveFSM_SM.Receiving_Ready_NotControlled_NotAvailable_Emergency);
                        context.State.Entry(context);
                    }

                    return;
                }
 protected internal virtual void ReceiveTransition(Management_ReceiveFSMContext context, SetAuthority msg)
 {
     Default(context);
 }
 protected internal virtual void BroadcastLocalTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void ReceiveTransition(Management_ReceiveFSMContext context, Standby msg, Receive.Body.ReceiveRec transportData)
 {
     Default(context);
 }
 protected internal virtual void ClearEmergencyTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void StandbyTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
 protected internal virtual void CommandCompletedTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }
                protected internal override void ClearEmergencyTransition(Management_ReceiveFSMContext context)
                {
                    #if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : Management_ReceiveFSM_SM.Internally_Generated_State_DO_NOT_USE.ClearEmergencyTransition()");
                    #endif

                    return;
                }
 protected internal virtual void CreateCommandEventTransition(Management_ReceiveFSMContext context)
 {
     Default(context);
 }