Beispiel #1
0
 public RegistrationProcess()
 {
     CurrentState = MyRegistrationState.BeforeTR87;
     transitions  = new Dictionary <StateTransition, MyRegistrationState>
     {
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.StartAll), MyRegistrationState.ConnectingTR87 },
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.StartAeonix), MyRegistrationState.ConnectingAeonix },
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.ReRegister), MyRegistrationState.ReConnectingAeonix },
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.Continue), MyRegistrationState.ConnectingTR87 },
         { new StateTransition(MyRegistrationState.ConnectingTR87, RegisterCommands.Continue), MyRegistrationState.GetingInfo },
         { new StateTransition(MyRegistrationState.GetingInfo, RegisterCommands.Continue), MyRegistrationState.DisconnectingTR87 },
         { new StateTransition(MyRegistrationState.DisconnectingTR87, RegisterCommands.Continue), MyRegistrationState.ConnectingAeonix },
         { new StateTransition(MyRegistrationState.ConnectingAeonix, RegisterCommands.Continue), MyRegistrationState.InviteAeonix },
         { new StateTransition(MyRegistrationState.ReConnectingAeonix, RegisterCommands.Continue), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.InviteAeonix, RegisterCommands.Continue), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.AfterAeonix, RegisterCommands.Continue), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.ConnectingTR87, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.GetingInfo, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.DisconnectingTR87, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.ConnectingAeonix, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.ReConnectingAeonix, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.InviteAeonix, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.AfterAeonix, RegisterCommands.Clear), MyRegistrationState.BeforeTR87 },
         { new StateTransition(MyRegistrationState.BeforeTR87, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.ConnectingTR87, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.GetingInfo, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.DisconnectingTR87, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.ConnectingAeonix, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.ReConnectingAeonix, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.InviteAeonix, RegisterCommands.End), MyRegistrationState.AfterAeonix },
         { new StateTransition(MyRegistrationState.AfterAeonix, RegisterCommands.End), MyRegistrationState.AfterAeonix }
     };
 }
Beispiel #2
0
            public void MoveNext(RegisterCommands command)
            {
                MyRegistrationState previewState = CurrentState;

                CurrentState = GetNext(command);
                if (this.MyRegistrationListener != null && previewState != CurrentState)
                {
                    MyRegistrationListener.onMyRegistrationStateChanged(CurrentState);
                }
            }
Beispiel #3
0
        public void onMyRegistrationStateChanged(MyRegistrationState state)
        {
            switch (state)
            {
            case MyRegistrationState.BeforeTR87:
                //make sure disconnection

                Console.WriteLine("omer40: " + "BeforeTR87");
                break;

            case MyRegistrationState.ConnectingTR87:
                Console.WriteLine("omer40: " + "ConnectingTR87");
                this.loginTR87();
                break;

            case MyRegistrationState.GetingInfo:
                Console.WriteLine("omer40: " + "GetingInfo");
                registrationProcess.MoveNext(RegisterCommands.End);
                // fireLoginSuccsess();
                //  test("GetingInfo");
                break;

            case MyRegistrationState.DisconnectingTR87:
                Console.WriteLine("omer40: " + "DisconnectingTR87");
                test("DisconnectingTR87");
                break;

            case MyRegistrationState.ConnectingAeonix:
                Console.WriteLine("omer40: " + "ConnectingAeonix");
                this.loginAeonix();
                break;

            case MyRegistrationState.ReConnectingAeonix:
                Console.WriteLine("omer40: " + "ReConnectingAeonix");
                this.loginAeonix();
                break;

            case MyRegistrationState.InviteAeonix:
                Console.WriteLine("omer40: " + "InviteAeonix");
                CallService.Instance.makeTr87Call();
                //onTr87Established();
                break;

            case MyRegistrationState.AfterAeonix:
                Console.WriteLine("omer40: " + "AfterAeonix");
                fireLoginSuccsess();
                //do nothing
                break;
            }
        }
Beispiel #4
0
 public StateTransition(MyRegistrationState currentState, RegisterCommands command)
 {
     CurrentState = currentState;
     Command      = command;
 }