public static KernelBase ActivateKernel( TransactionRequest tt, CardQProcessor cardInterface, TornTransactionLogManager tornTransactionLogManager, PublicKeyCertificateManager publicKeyCertificateManager, EMVSelectApplicationResponse response, TerminalSupportedKernelAidTransactionTypeCombination terminalCombinationForSelected, CardKernelAidCombination cardCombinationForSelected, EntryPointPreProcessingIndicators processingIndicatorsForSelected, CardExceptionManager cardExceptionManager, IConfigurationProvider configProvider ) //the response from the selected aid command { switch (((TerminalSupportedContactlessKernelAidTransactionTypeCombination)terminalCombinationForSelected).KernelEnum) { case KernelEnum.Kernel1: EMVTagsEnum.DataKernelID = DataKernelID.K1; return(new Kernel1(tt.GetTransactionType_9C(), cardInterface, publicKeyCertificateManager, processingIndicatorsForSelected, cardExceptionManager, configProvider)); case KernelEnum.Kernel2: EMVTagsEnum.DataKernelID = DataKernelID.K2; return(new Kernel2(tt.GetTransactionType_9C(), tornTransactionLogManager, cardInterface, publicKeyCertificateManager, processingIndicatorsForSelected, cardExceptionManager, configProvider)); case KernelEnum.Kernel3: EMVTagsEnum.DataKernelID = DataKernelID.K3; return(new Kernel3(tt.GetTransactionType_9C(), cardInterface, publicKeyCertificateManager, processingIndicatorsForSelected, cardExceptionManager, configProvider)); case KernelEnum.Kernel4: break; case KernelEnum.Kernel5: break; case KernelEnum.Kernel6: break; case KernelEnum.Kernel7: break; default: throw new EMVProtocolException("Unsupported kernel: " + ((TerminalSupportedContactlessKernelAidTransactionTypeCombination)terminalCombinationForSelected).KernelEnum); } throw new EMVProtocolException("Unsupported kernel: " + ((TerminalSupportedContactlessKernelAidTransactionTypeCombination)terminalCombinationForSelected).KernelEnum); }
public EMVContactlessTerminalApplication(CardQProcessor cardQProcessor, IConfigurationProvider configProvider) : base(cardQProcessor, configProvider) { tornTransactionLogManager = new TornTransactionLogManager(); }