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)); } }