コード例 #1
0
        public static SignalsEnum Execute(
            Kernel2Database database,
            KernelQ qManager,
            CardQ cardQManager,
            TornTransactionLogManager tornTransactionLogManager,
            Stopwatch sw)
        {
            if (qManager.GetInputQCount() == 0)
            {
                throw new EMVProtocolException("Execute_1_Idle: Kernel Input Q empty");
            }

            KernelRequest kernel2Request = qManager.DequeueFromInput(false);

            switch (kernel2Request.KernelTerminalReaderServiceRequestEnum)
            {
            case KernelTerminalReaderServiceRequestEnum.STOP:
                return(EntryPointSTOP(database, qManager));

            case KernelTerminalReaderServiceRequestEnum.CLEAN:
                return(EntryPointCLEAN(database, kernel2Request, qManager, tornTransactionLogManager));

            case KernelTerminalReaderServiceRequestEnum.ACT:
                return(EntryPointACT(database, kernel2Request, qManager, cardQManager, sw));

            default:
                throw new EMVProtocolException("Invalid Kernel1TerminalReaderServiceRequestEnum in Execute_1_Idle:" + Enum.GetName(typeof(KernelTerminalReaderServiceRequestEnum), kernel2Request.KernelTerminalReaderServiceRequestEnum));
            }
        }