Search in sources :

Example 6 with CardRecognitionImpl

use of org.openecard.recognition.CardRecognitionImpl in project open-ecard by ecsec.

the class TestClient method setup.

private void setup() throws Exception {
    // Set up client environment
    ClientEnv env = new ClientEnv();
    // Set up the IFD
    IFD ifd = new IFD();
    env.setIFD(ifd);
    // Set up Management
    TinyManagement management = new TinyManagement(env);
    env.setManagement(management);
    // Set up the Dispatcher
    MessageDispatcher dispatcher = new MessageDispatcher(env);
    env.setDispatcher(dispatcher);
    // Perform an EstablishContext to get a ContextHandle
    EstablishContext establishContext = new EstablishContext();
    EstablishContextResponse establishContextResponse = ifd.establishContext(establishContext);
    byte[] contextHandle = ifd.establishContext(establishContext).getContextHandle();
    final CardRecognitionImpl recognition = new CardRecognitionImpl(env);
    env.setRecognition(recognition);
    env.setCIFProvider(new CIFProvider() {

        @Override
        public CardInfoType getCardInfo(ConnectionHandleType type, String cardType) {
            return recognition.getCardInfo(cardType);
        }

        @Override
        public boolean needsRecognition(byte[] atr) {
            return true;
        }

        @Override
        public CardInfoType getCardInfo(String cardType) throws RuntimeException {
            return recognition.getCardInfo(cardType);
        }

        @Override
        public InputStream getCardImage(String cardType) {
            return recognition.getCardImage(cardType);
        }
    });
    // Set up EventManager
    EventDispatcher ed = new EventDispatcherImpl();
    env.setEventDispatcher(ed);
    // Set up SALStateCallback
    cardStates = new CardStateMap();
    SALStateCallback salCallback = new SALStateCallback(env, cardStates);
    ed.add(salCallback);
    // Set up SAL
    sal = new TinySAL(env, cardStates);
    env.setSAL(sal);
    // Set up GUI
    SwingUserConsent gui = new SwingUserConsent(new SwingDialogWrapper());
    sal.setGUI(gui);
    ifd.setGUI(gui);
    // Initialize the EventManager
    ed.start();
    AddonManager manager = new AddonManager(env, gui, cardStates, null);
    sal.setAddonManager(manager);
    HttpBinding binding = new HttpBinding(24727);
    binding.setAddonManager(manager);
    binding.start();
}
Also used : ConnectionHandleType(iso.std.iso_iec._24727.tech.schema.ConnectionHandleType) SALStateCallback(org.openecard.common.sal.state.SALStateCallback) TinySAL(org.openecard.sal.TinySAL) EventDispatcherImpl(org.openecard.common.event.EventDispatcherImpl) IFD(org.openecard.ifd.scio.IFD) InputStream(java.io.InputStream) CardRecognitionImpl(org.openecard.recognition.CardRecognitionImpl) EstablishContextResponse(iso.std.iso_iec._24727.tech.schema.EstablishContextResponse) ClientEnv(org.openecard.common.ClientEnv) CIFProvider(org.openecard.common.interfaces.CIFProvider) MessageDispatcher(org.openecard.transport.dispatcher.MessageDispatcher) SwingDialogWrapper(org.openecard.gui.swing.SwingDialogWrapper) CardInfoType(iso.std.iso_iec._24727.tech.schema.CardInfoType) EventDispatcher(org.openecard.common.interfaces.EventDispatcher) SwingUserConsent(org.openecard.gui.swing.SwingUserConsent) TinyManagement(org.openecard.management.TinyManagement) CardStateMap(org.openecard.common.sal.state.CardStateMap) EstablishContext(iso.std.iso_iec._24727.tech.schema.EstablishContext) AddonManager(org.openecard.addon.AddonManager)

Example 7 with CardRecognitionImpl

use of org.openecard.recognition.CardRecognitionImpl in project open-ecard by ecsec.

the class TinySALTest method setUp.

@BeforeMethod()
public void setUp() throws Exception {
    env = new ClientEnv();
    Dispatcher dispatcher = new MessageDispatcher(env);
    env.setDispatcher(dispatcher);
    IFD ifd = new IFD();
    ifd.setEnvironment(env);
    env.setIFD(ifd);
    states = new CardStateMap();
    EstablishContextResponse ecr = env.getIFD().establishContext(new EstablishContext());
    final CardRecognitionImpl cr = new CardRecognitionImpl(env);
    ListIFDs listIFDs = new ListIFDs();
    contextHandle = ecr.getContextHandle();
    listIFDs.setContextHandle(ecr.getContextHandle());
    ListIFDsResponse listIFDsResponse = ifd.listIFDs(listIFDs);
    RecognitionInfo recognitionInfo = cr.recognizeCard(contextHandle, listIFDsResponse.getIFDName().get(0), BigInteger.ZERO);
    CIFProvider cp = new CIFProvider() {

        @Override
        public CardInfoType getCardInfo(ConnectionHandleType type, String cardType) {
            return cr.getCardInfo(cardType);
        }

        @Override
        public boolean needsRecognition(byte[] atr) {
            return true;
        }

        @Override
        public CardInfoType getCardInfo(String cardType) throws RuntimeException {
            return cr.getCardInfo(cardType);
        }

        @Override
        public InputStream getCardImage(String cardType) {
            return null;
        }
    };
    env.setCIFProvider(cp);
    SALStateCallback salCallback = new SALStateCallback(env, states);
    ConnectionHandleType connectionHandleType = new ConnectionHandleType();
    connectionHandleType.setContextHandle(ecr.getContextHandle());
    connectionHandleType.setRecognitionInfo(recognitionInfo);
    connectionHandleType.setIFDName(listIFDsResponse.getIFDName().get(0));
    connectionHandleType.setSlotIndex(new BigInteger("0"));
    salCallback.signalEvent(EventType.CARD_RECOGNIZED, new IfdEventObject(connectionHandleType));
    instance = new TinySAL(env, states);
    env.setSAL(instance);
}
Also used : ConnectionHandleType(iso.std.iso_iec._24727.tech.schema.ConnectionHandleType) SALStateCallback(org.openecard.common.sal.state.SALStateCallback) ListIFDs(iso.std.iso_iec._24727.tech.schema.ListIFDs) ListIFDsResponse(iso.std.iso_iec._24727.tech.schema.ListIFDsResponse) IFD(org.openecard.ifd.scio.IFD) CardRecognitionImpl(org.openecard.recognition.CardRecognitionImpl) Dispatcher(org.openecard.common.interfaces.Dispatcher) MessageDispatcher(org.openecard.transport.dispatcher.MessageDispatcher) EstablishContextResponse(iso.std.iso_iec._24727.tech.schema.EstablishContextResponse) ClientEnv(org.openecard.common.ClientEnv) CIFProvider(org.openecard.common.interfaces.CIFProvider) MessageDispatcher(org.openecard.transport.dispatcher.MessageDispatcher) RecognitionInfo(iso.std.iso_iec._24727.tech.schema.ConnectionHandleType.RecognitionInfo) BigInteger(java.math.BigInteger) CardStateMap(org.openecard.common.sal.state.CardStateMap) EstablishContext(iso.std.iso_iec._24727.tech.schema.EstablishContext) IfdEventObject(org.openecard.common.event.IfdEventObject) BeforeMethod(org.testng.annotations.BeforeMethod)

Example 8 with CardRecognitionImpl

use of org.openecard.recognition.CardRecognitionImpl in project open-ecard by ecsec.

the class RichClient method setup.

public void setup() {
    GUIDefaults.initialize();
    String title = LANG.translationForKey("client.startup.failed.headline", AppVersion.getName());
    String message = null;
    // Set up GUI
    SwingUserConsent gui = new SwingUserConsent(new SwingDialogWrapper());
    try {
        tray = new AppTray(this);
        tray.beginSetup();
        // Set up client environment
        env = new ClientEnv();
        // Set up the Dispatcher
        MessageDispatcher dispatcher = new MessageDispatcher(env);
        env.setDispatcher(dispatcher);
        // Set up EventDispatcherImpl
        eventDispatcher = new EventDispatcherImpl();
        env.setEventDispatcher(eventDispatcher);
        // Set up Management
        TinyManagement management = new TinyManagement(env);
        env.setManagement(management);
        // Set up MiddlewareConfig
        MiddlewareConfigLoader mwConfigLoader = new MiddlewareConfigLoader();
        List<MiddlewareSALConfig> mwSALConfigs = mwConfigLoader.getMiddlewareSALConfigs();
        // Set up CardRecognitionImpl
        recognition = new CardRecognitionImpl(env);
        recognition.setGUI(gui);
        env.setRecognition(recognition);
        // Set up StateCallbacks
        cardStates = new CardStateMap();
        SALStateCallback salCallback = new SALStateCallback(env, cardStates);
        eventDispatcher.add(salCallback);
        // Set up the IFD
        ifd = new IFD();
        ifd.addProtocol(ECardConstants.Protocol.PACE, new PACEProtocolFactory());
        ifd.setGUI(gui);
        ifd.setEnvironment(env);
        env.setIFD(ifd);
        // Set up SAL
        TinySAL mainSal = new TinySAL(env, cardStates);
        mainSal.setGUI(gui);
        sal = new SelectorSAL(mainSal, env);
        env.setSAL(sal);
        env.setCIFProvider(sal);
        // Set up Middleware SAL
        MwStateCallback mwCallback = new MwStateCallback(env, cardStates, mwConfigLoader);
        for (MiddlewareSALConfig mwSALConfig : mwSALConfigs) {
            if (!mwSALConfig.isDisabled()) {
                MiddlewareSAL mwSal = new MiddlewareSAL(env, cardStates, mwSALConfig, mwCallback);
                mwSal.setGui(gui);
                sal.addSpecializedSAL(mwSal);
            }
        }
        // Start up control interface
        SettingsAndDefaultViewWrapper guiWrapper = new SettingsAndDefaultViewWrapper();
        try {
            manager = new AddonManager(env, gui, cardStates, guiWrapper);
            guiWrapper.setAddonManager(manager);
            mainSal.setAddonManager(manager);
            // initialize http binding
            int port = 24727;
            boolean dispatcherMode = false;
            WinReg.HKEY hk = WinReg.HKEY_LOCAL_MACHINE;
            String regPath = "SOFTWARE\\" + OpenecardProperties.getProperty("registry.app_name");
            if (Platform.isWindows()) {
                LOG.debug("Checking if dispatcher mode should be used.");
                try {
                    if (regKeyExists(hk, regPath, "Dispatcher_Mode")) {
                        String value = Advapi32Util.registryGetStringValue(hk, regPath, "Dispatcher_Mode");
                        dispatcherMode = Boolean.valueOf(value);
                        // let socket chose its port
                        port = 0;
                    }
                } catch (Win32Exception ex) {
                    LOG.warn("Failed to read 'Dispatcher_Mode' registry key. Using normal operation mode.", ex);
                }
            }
            if (!dispatcherMode) {
                try {
                    port = Integer.parseInt(OpenecardProperties.getProperty("http-binding.port"));
                } catch (NumberFormatException ex) {
                    LOG.warn("Error in config file, HTTP binding port is malformed.");
                }
            }
            // start HTTP server
            httpBinding = new HttpBinding(port);
            httpBinding.setAddonManager(manager);
            httpBinding.start();
            if (dispatcherMode) {
                long waitTime = getRegInt(hk, regPath, "Retry_Wait_Time", 5000L);
                long timeout = getRegInt(hk, regPath, "DP_Timeout", 3600000L);
                // try to register with dispatcher service
                LOG.debug("Trying to register HTTP binding port with dispatcher service.");
                final int realPort = httpBinding.getPort();
                final URL regUrl = new URL("http://127.0.0.1:24727/dp/register");
                FutureTask ft = new FutureTask(new DispatcherRegistrator(regUrl, realPort, waitTime, timeout), 1);
                Thread registerThread = new Thread(ft, "Register-Dispatcher-Service");
                registerThread.setDaemon(true);
                registerThread.start();
                // wait until thread is finished
                ft.get();
            }
        } catch (BindException e) {
            message = LANG.translationForKey("client.startup.failed.portinuse", AppVersion.getName());
            throw e;
        }
        tray.endSetup(env, manager);
        // Initialize the EventManager
        eventDispatcher.add(tray.status(), EventType.TERMINAL_ADDED, EventType.TERMINAL_REMOVED, EventType.CARD_INSERTED, EventType.CARD_RECOGNIZED, EventType.CARD_REMOVED);
        // start event dispatcher
        eventDispatcher.start();
        // initialize SAL
        WSHelper.checkResult(sal.initialize(new Initialize()));
        // Perform an EstablishContext to get a ContextHandle
        try {
            EstablishContext establishContext = new EstablishContext();
            EstablishContextResponse establishContextResponse = ifd.establishContext(establishContext);
            WSHelper.checkResult(establishContextResponse);
            contextHandle = establishContextResponse.getContextHandle();
        } catch (WSHelper.WSException ex) {
            message = LANG.translationForKey("client.startup.failed.nocontext");
            throw ex;
        }
        // perform GC to bring down originally allocated memory
        new Timer().schedule(new GCTask(), 5000);
    } catch (Exception ex) {
        LOG.error(ex.getMessage(), ex);
        if (message == null || message.isEmpty()) {
            // Add exception message if no custom message is set
            message = ex.getMessage();
        }
        // Show dialog to the user and shut down the client
        String msg = String.format("%s%n%n%s", title, message);
        gui.obtainMessageDialog().showMessageDialog(msg, AppVersion.getName(), DialogType.ERROR_MESSAGE);
        teardown();
    } catch (Throwable ex) {
        LOG.error("Unexpected error occurred. Exiting client.", ex);
        System.exit(1);
    }
}
Also used : SALStateCallback(org.openecard.common.sal.state.SALStateCallback) EventDispatcherImpl(org.openecard.common.event.EventDispatcherImpl) IFD(org.openecard.ifd.scio.IFD) WinReg(com.sun.jna.platform.win32.WinReg) CardRecognitionImpl(org.openecard.recognition.CardRecognitionImpl) Initialize(iso.std.iso_iec._24727.tech.schema.Initialize) MiddlewareSAL(org.openecard.mdlw.sal.MiddlewareSAL) URL(java.net.URL) SwingDialogWrapper(org.openecard.gui.swing.SwingDialogWrapper) MessageDispatcher(org.openecard.transport.dispatcher.MessageDispatcher) FutureTask(java.util.concurrent.FutureTask) HttpBinding(org.openecard.control.binding.http.HttpBinding) CardStateMap(org.openecard.common.sal.state.CardStateMap) MwStateCallback(org.openecard.mdlw.event.MwStateCallback) EstablishContext(iso.std.iso_iec._24727.tech.schema.EstablishContext) TinySAL(org.openecard.sal.TinySAL) WSHelper(org.openecard.common.WSHelper) MiddlewareConfigLoader(org.openecard.mdlw.sal.config.MiddlewareConfigLoader) BindException(java.net.BindException) EstablishContextResponse(iso.std.iso_iec._24727.tech.schema.EstablishContextResponse) PACEProtocolFactory(org.openecard.ifd.protocol.pace.PACEProtocolFactory) UnsupportedCharsetException(java.nio.charset.UnsupportedCharsetException) Win32Exception(com.sun.jna.platform.win32.Win32Exception) BindException(java.net.BindException) HttpException(org.openecard.apache.http.HttpException) IOException(java.io.IOException) JoranException(ch.qos.logback.core.joran.spi.JoranException) Win32Exception(com.sun.jna.platform.win32.Win32Exception) AppTray(org.openecard.richclient.gui.AppTray) ClientEnv(org.openecard.common.ClientEnv) MiddlewareSALConfig(org.openecard.mdlw.sal.config.MiddlewareSALConfig) Timer(java.util.Timer) SwingUserConsent(org.openecard.gui.swing.SwingUserConsent) TinyManagement(org.openecard.management.TinyManagement) AddonManager(org.openecard.addon.AddonManager) SelectorSAL(org.openecard.sal.SelectorSAL) SettingsAndDefaultViewWrapper(org.openecard.richclient.gui.SettingsAndDefaultViewWrapper)

Example 9 with CardRecognitionImpl

use of org.openecard.recognition.CardRecognitionImpl in project open-ecard by ecsec.

the class OpeneCardContext method initialize.

// /
// / Initialization & Shutdown
// /
void initialize() throws UnableToInitialize, NfcUnavailable, NfcDisabled, ApduExtLengthNotSupported {
    String errorMsg = SERVICE_RESPONSE_FAILED;
    if (initialized) {
        throw new UnableToInitialize(SERVICE_ALREADY_INITIALIZED);
    }
    if (appCtx == null) {
        throw new IllegalStateException(NO_APPLICATION_CONTEXT);
    }
    // initialize gui
    eacNavFac = new EacNavigatorFactory();
    List<UserConsentNavigatorFactory<?>> factories = Arrays.asList(eacNavFac, new InsertCardNavigatorFactory());
    gui = new AndroidUserConsent(factories);
    // set up nfc and android marshaller
    IFDProperties.setProperty(IFD_FACTORY_KEY, IFD_FACTORY_VALUE);
    WsdefProperties.setProperty(WSDEF_MARSHALLER_KEY, WSDEF_MARSHALLER_VALUE);
    NFCFactory.setContext(appCtx);
    try {
        boolean nfcAvailable = NFCFactory.isNFCAvailable();
        boolean nfcEnabled = NFCFactory.isNFCEnabled();
        boolean nfcExtendedLengthSupport = NfcUtils.supportsExtendedLength(appCtx);
        if (!nfcAvailable) {
            throw new NfcUnavailable();
        } else if (!nfcEnabled) {
            throw new NfcDisabled();
        } else if (!nfcExtendedLengthSupport) {
            throw new ApduExtLengthNotSupported(NFC_NO_EXTENDED_LENGTH_SUPPORT);
        }
        terminalFactory = IFDTerminalFactory.getInstance();
        LOG.info("Terminal factory initialized.");
    } catch (IFDException ex) {
        errorMsg = UNABLE_TO_INITIALIZE_TF;
        throw new UnableToInitialize(errorMsg, ex);
    }
    try {
        // set up client environment
        env = new ClientEnv();
        // set up dispatcher
        dispatcher = new MessageDispatcher(env);
        env.setDispatcher(dispatcher);
        LOG.info("Message Dispatcher initialized.");
        // set up management
        management = new TinyManagement(env);
        env.setManagement(management);
        LOG.info("Management initialized.");
        // set up event dispatcher
        eventDispatcher = new EventDispatcherImpl();
        env.setEventDispatcher(eventDispatcher);
        LOG.info("Event Dispatcher initialized.");
        // set up SALStateCallback
        cardStates = new CardStateMap();
        SALStateCallback salCallback = new SALStateCallback(env, cardStates);
        eventDispatcher.add(salCallback);
        // set up ifd
        ifd = new IFD();
        ifd.addProtocol(ECardConstants.Protocol.PACE, new PACEProtocolFactory());
        ifd.setGUI(gui);
        ifd.setEnvironment(env);
        env.setIFD(ifd);
        LOG.info("IFD initialized.");
        // set up card recognition
        try {
            recognition = new CardRecognitionImpl(env);
            recognition.setGUI(gui);
            env.setRecognition(recognition);
            LOG.info("CardRecognition initialized.");
        } catch (Exception ex) {
            errorMsg = CARD_REC_INIT_FAILED;
            throw ex;
        }
        // set up SAL
        TinySAL mainSAL = new TinySAL(env, cardStates);
        mainSAL.setGUI(gui);
        sal = new SelectorSAL(mainSAL, env);
        env.setSAL(sal);
        env.setCIFProvider(sal);
        LOG.info("SAL initialized.");
        ViewController viewController = new ViewController() {

            @Override
            public void showSettingsUI() {
            }

            @Override
            public void showDefaultViewUI() {
            }
        };
        // set up addon manager
        try {
            manager = new AddonManager(env, gui, cardStates, viewController, new ClasspathRegistry());
            mainSAL.setAddonManager(manager);
        } catch (Exception ex) {
            errorMsg = ADD_ON_INIT_FAILED;
            throw ex;
        }
        // Initialize the Event Dispatcher
        eventDispatcher.add(this, EventType.TERMINAL_ADDED, EventType.TERMINAL_REMOVED, EventType.CARD_INSERTED, EventType.CARD_RECOGNIZED, EventType.CARD_REMOVED);
        // start event dispatcher
        eventDispatcher.start();
        LOG.info("Event dispatcher started.");
        // initialize SAL
        try {
            WSHelper.checkResult(sal.initialize(new Initialize()));
        } catch (WSHelper.WSException ex) {
            errorMsg = ex.getMessage();
            throw ex;
        }
        // establish context
        try {
            EstablishContext establishContext = new EstablishContext();
            EstablishContextResponse establishContextResponse = ifd.establishContext(establishContext);
            WSHelper.checkResult(establishContextResponse);
            contextHandle = establishContextResponse.getContextHandle();
            LOG.info("ContextHandle: {}", ByteUtils.toHexString(contextHandle));
        } catch (WSHelper.WSException ex) {
            errorMsg = ESTABLISH_IFD_CONTEXT_FAILED;
            throw ex;
        }
        initialized = true;
    } catch (Exception ex) {
        LOG.error(errorMsg, ex);
        throw new UnableToInitialize(errorMsg, ex);
    }
}
Also used : SALStateCallback(org.openecard.common.sal.state.SALStateCallback) EventDispatcherImpl(org.openecard.common.event.EventDispatcherImpl) IFD(org.openecard.ifd.scio.IFD) CardRecognitionImpl(org.openecard.recognition.CardRecognitionImpl) UnableToInitialize(org.openecard.android.ex.UnableToInitialize) Initialize(iso.std.iso_iec._24727.tech.schema.Initialize) NfcDisabled(org.openecard.android.ex.NfcDisabled) ClasspathRegistry(org.openecard.android.utils.ClasspathRegistry) MessageDispatcher(org.openecard.transport.dispatcher.MessageDispatcher) EacNavigatorFactory(org.openecard.gui.android.EacNavigatorFactory) UserConsentNavigatorFactory(org.openecard.gui.android.UserConsentNavigatorFactory) CardStateMap(org.openecard.common.sal.state.CardStateMap) EstablishContext(iso.std.iso_iec._24727.tech.schema.EstablishContext) TinySAL(org.openecard.sal.TinySAL) WSHelper(org.openecard.common.WSHelper) AndroidUserConsent(org.openecard.gui.android.AndroidUserConsent) EstablishContextResponse(iso.std.iso_iec._24727.tech.schema.EstablishContextResponse) PACEProtocolFactory(org.openecard.ifd.protocol.pace.PACEProtocolFactory) IFDException(org.openecard.ifd.scio.IFDException) ApduExtLengthNotSupported(org.openecard.android.ex.ApduExtLengthNotSupported) ClientEnv(org.openecard.common.ClientEnv) ViewController(org.openecard.gui.definition.ViewController) TinyManagement(org.openecard.management.TinyManagement) UnableToInitialize(org.openecard.android.ex.UnableToInitialize) IFDException(org.openecard.ifd.scio.IFDException) AddonManager(org.openecard.addon.AddonManager) InsertCardNavigatorFactory(org.openecard.gui.android.InsertCardNavigatorFactory) SelectorSAL(org.openecard.sal.SelectorSAL) NfcUnavailable(org.openecard.android.ex.NfcUnavailable)

Example 10 with CardRecognitionImpl

use of org.openecard.recognition.CardRecognitionImpl in project open-ecard by ecsec.

the class CardInfoWrapperTest method test.

/**
 * Simple test for CardInfoWrapper-class. After getting the CardInfoWrapper for the npa we
 * check if the get-methods return the expected values.
 *
 * @throws Exception when something in this test went unexpectedly wrong
 */
@Test
public void test() throws Exception {
    new Expectations() {

        {
            cifp.getCardInfo(anyString);
            result = null;
        }
    };
    Environment env = new ClientEnv();
    env.setCIFProvider(cifp);
    CardRecognitionImpl recognition = new CardRecognitionImpl(env);
    CardInfoType cardInfo = recognition.getCardInfo("http://bsi.bund.de/cif/npa.xml");
    CardInfoWrapper cardInfoWrapper = new CardInfoWrapper(cardInfo, null);
    assertEquals(cardInfoWrapper.getCardType(), "http://bsi.bund.de/cif/npa.xml");
    assertEquals(cardInfoWrapper.getImplicitlySelectedApplication(), rootApplication);
    assertEquals(cardInfoWrapper.getCardApplications().size(), 3);
    assertEquals(cardInfoWrapper.getDataSetNameList(rootApplication).getDataSetName().size(), 5);
    assertEquals(cardInfoWrapper.getCardApplicationNameList().size(), 3);
// CardApplicationWrapper cardApplicationWrapper = cardInfoWrapper.getCardApplication(rootApplication);
}
Also used : Expectations(mockit.Expectations) ClientEnv(org.openecard.common.ClientEnv) CardInfoType(iso.std.iso_iec._24727.tech.schema.CardInfoType) Environment(org.openecard.common.interfaces.Environment) CardRecognitionImpl(org.openecard.recognition.CardRecognitionImpl) Test(org.testng.annotations.Test)

Aggregations

ClientEnv (org.openecard.common.ClientEnv)10 CardRecognitionImpl (org.openecard.recognition.CardRecognitionImpl)10 EstablishContext (iso.std.iso_iec._24727.tech.schema.EstablishContext)6 EstablishContextResponse (iso.std.iso_iec._24727.tech.schema.EstablishContextResponse)6 CardStateMap (org.openecard.common.sal.state.CardStateMap)6 SALStateCallback (org.openecard.common.sal.state.SALStateCallback)6 IFD (org.openecard.ifd.scio.IFD)6 MessageDispatcher (org.openecard.transport.dispatcher.MessageDispatcher)6 CardInfoType (iso.std.iso_iec._24727.tech.schema.CardInfoType)5 AddonManager (org.openecard.addon.AddonManager)5 TinySAL (org.openecard.sal.TinySAL)5 ConnectionHandleType (iso.std.iso_iec._24727.tech.schema.ConnectionHandleType)4 Expectations (mockit.Expectations)4 CIFProvider (org.openecard.common.interfaces.CIFProvider)4 RecognitionInfo (iso.std.iso_iec._24727.tech.schema.ConnectionHandleType.RecognitionInfo)3 ListIFDs (iso.std.iso_iec._24727.tech.schema.ListIFDs)3 ListIFDsResponse (iso.std.iso_iec._24727.tech.schema.ListIFDsResponse)3 EventDispatcherImpl (org.openecard.common.event.EventDispatcherImpl)3 IfdEventObject (org.openecard.common.event.IfdEventObject)3 Environment (org.openecard.common.interfaces.Environment)3