/// <summary>
        ///     Map the status from the remote recorder to our internal statemachine input
        /// </summary>
        /// <param name="rrState"></param>
        /// <returns></returns>
        private StateMachine.StateMachineInput MapRRStateToSMInput(RemoteRecorderStatus rrState)
        {
            switch (rrState)
            {
            case RemoteRecorderStatus.Stopped:
                return(StateMachine.StateMachineInput.RecorderStopped);

            case RemoteRecorderStatus.Recording:
                return(StateMachine.StateMachineInput.RecorderRecording);

            case RemoteRecorderStatus.RecorderRunning:
                return(StateMachine.StateMachineInput.RecorderRunning);

            case RemoteRecorderStatus.Previewing:
                Recording nextRecording = controller.GetNextRecording();

                if (nextRecording != null)
                {
                    return(StateMachine.StateMachineInput.RecorderPreviewingQueued);
                }
                else
                {
                    return(StateMachine.StateMachineInput.RecorderPreviewing);
                }

            case RemoteRecorderStatus.Paused:
                return(StateMachine.StateMachineInput.RecorderPaused);

            case RemoteRecorderStatus.Faulted:
                return(StateMachine.StateMachineInput.RecorderFaulted);

            case RemoteRecorderStatus.Disconnected:
                return(StateMachine.StateMachineInput.Disconnected);

            default:
                return(StateMachine.StateMachineInput.NoInput);
            }
        }
Пример #2
0
        /// <summary>
        /// Map the remote recorder status to the input event type of the state machine.
        /// </summary>
        private Input MapInputFrom(RemoteRecorderStatus state)
        {
            switch (state)
            {
            case RemoteRecorderStatus.Stopped:
                return(Input.RecorderStopped);

            case RemoteRecorderStatus.Recording:
                return(Input.RecorderRecording);

            case RemoteRecorderStatus.RecorderRunning:
                return(Input.RecorderDormant);

            case RemoteRecorderStatus.Previewing:
                Recording nextRecording = controller.GetNextRecording();
                if (nextRecording != null)
                {
                    return(Input.RecorderPreviewingWithNextSchedule);
                }
                else
                {
                    return(Input.RecorderPreviewingNoNextSchedule);
                }

            case RemoteRecorderStatus.Paused:
                return(Input.RecorderPaused);

            case RemoteRecorderStatus.Faulted:
                return(Input.RecorderFaulted);

            case RemoteRecorderStatus.Disconnected:
                return(Input.RecorderDisconnected);

            default:
                return(Input.None);
            }
        }
        /// <summary>
        /// Map the remote recorder status to the input event type of the state machine.
        /// </summary>
        private Input MapInputFrom(RemoteRecorderStatus state)
        {
            switch (state)
            {
                case RemoteRecorderStatus.Stopped:
                    return Input.RecorderStopped;

                case RemoteRecorderStatus.Recording:
                    return Input.RecorderRecording;

                case RemoteRecorderStatus.RecorderRunning:
                    return Input.RecorderDormant;

                case RemoteRecorderStatus.Previewing:
                    Recording nextRecording = controller.GetNextRecording();
                    if (nextRecording != null)
                    {
                        return Input.RecorderPreviewingWithNextSchedule;
                    }
                    else
                    {
                        return Input.RecorderPreviewingNoNextSchedule;
                    }

                case RemoteRecorderStatus.Paused:
                    return Input.RecorderPaused;

                case RemoteRecorderStatus.Faulted:
                    return Input.RecorderFaulted;

                case RemoteRecorderStatus.Disconnected:
                    return Input.RecorderDisconnected;

                default:
                    return Input.None;
            }
        }