Package es.gob.jmulticard.connection
Interface ApduConnection
-
- All Known Subinterfaces:
Cwa14890Connection
- All Known Implementing Classes:
AbstractApduConnectionIso7816
,Cwa14890OneV1Connection
,Cwa14890OneV2Connection
,PaceConnection
,SmartcardIoConnection
public interface ApduConnection
Define los requerimientos de clases que representen una conexión con una tarjeta inteligente insertada en un lector.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addCardConnectionListener(CardConnectionListener ccl)
Añade un objeto al que se notificará cuando existan eventos en la conexión.void
close()
Cierra la conexión con la tarjeta inteligente actualmente insertada en el lector.ApduConnection
getSubConnection()
Recupera la conexión subyacente utilizada por la conexión.java.lang.String
getTerminalInfo(int terminal)
Devuelve información sobre un terminal.long[]
getTerminals(boolean onlyWithCardPresent)
Devuelve todos los lectores de tarjetas presentes en el sistema.boolean
isOpen()
Indica si la conexión está abierta o no.void
open()
Abre la conexión con la tarjeta inteligente actualmente insertada en el lector.void
removeCardConnectionListener(CardConnectionListener ccl)
Indica que ya no se desea notificar a un objeto cuando existan eventos en la conexión.byte[]
reset()
Reinicializa la conexión con la tarjeta inteligente.void
setProtocol(ApduConnectionProtocol p)
Establece el Protocolo de conexión con la tarjeta.void
setTerminal(int t)
Establece el lector de tarjetas que se usará para la conexión.ResponseApdu
transmit(CommandApdu command)
Envía un comando APDU a la tarjeta inteligente.
-
-
-
Method Detail
-
setProtocol
void setProtocol(ApduConnectionProtocol p)
Establece el Protocolo de conexión con la tarjeta.- Parameters:
p
- Protocolo de conexión con la tarjeta.
-
open
void open() throws ApduConnectionException
Abre la conexión con la tarjeta inteligente actualmente insertada en el lector.- Throws:
ApduConnectionException
- Cuando ocurre cualquier problema abriendo la conexión.- See Also:
close()
-
close
void close() throws ApduConnectionException
Cierra la conexión con la tarjeta inteligente actualmente insertada en el lector.- Throws:
ApduConnectionException
- Cuando ocurre cualquier problema cerrando la conexión.- See Also:
open()
-
transmit
ResponseApdu transmit(CommandApdu command) throws ApduConnectionException
Envía un comando APDU a la tarjeta inteligente.- Parameters:
command
- APDU que se desea enviar a la tarjeta.- Returns:
- APDU de respuesta de la tarjeta al envío.
- Throws:
ApduConnectionException
- Cuando ocurre cualquier problema con la conexión transmitiendo la APDU.
-
reset
byte[] reset() throws ApduConnectionException
Reinicializa la conexión con la tarjeta inteligente.- Returns:
- Respuesta al reset (ATR) de la tarjeta.
- Throws:
ApduConnectionException
- Cuando ocurre cualquier problema reinicializando la conexión.
-
addCardConnectionListener
void addCardConnectionListener(CardConnectionListener ccl)
Añade un objeto al que se notificará cuando existan eventos en la conexión. Solo se notificarán las inserciones y las extracciones cuando la implementación subyacente lo soporte.- Parameters:
ccl
- Objeto al que se desea notificar los eventos de la conexión.
-
removeCardConnectionListener
void removeCardConnectionListener(CardConnectionListener ccl)
Indica que ya no se desea notificar a un objeto cuando existan eventos en la conexión.- Parameters:
ccl
- Objeto al que ya no se desea notificar los eventos de la conexión.
-
getTerminals
long[] getTerminals(boolean onlyWithCardPresent) throws ApduConnectionException
Devuelve todos los lectores de tarjetas presentes en el sistema.- Parameters:
onlyWithCardPresent
- Para indicar que sólo devuelva lectores que tengan una tarjeta insertada.- Returns:
- Una lista con los identificadores de lectores de tarjetas conectados.
- Throws:
ApduConnectionException
- Cuando ocurran problemas en la conexión con los lectores.
-
getTerminalInfo
java.lang.String getTerminalInfo(int terminal) throws ApduConnectionException
Devuelve información sobre un terminal.- Parameters:
terminal
- Número de terminal que se desea obtener información.- Returns:
- Una descripción del terminal especificado.
- Throws:
ApduConnectionException
- Cuando ocurren problemas en la conexión con los lectores.
-
setTerminal
void setTerminal(int t) throws ApduConnectionException
Establece el lector de tarjetas que se usará para la conexión. Si se cambia el terminal estando la conexión ya abierta, se intentará reabrirla con el nuevo terminal.- Parameters:
t
- Número de terminal que se desea pase a ser el actual.- Throws:
ApduConnectionException
- Cuando se especifica un número de terminal no válido.
-
isOpen
boolean isOpen()
Indica si la conexión está abierta o no.- Returns:
true
si la conexión esta abierta,false
si está cerrada.
-
getSubConnection
ApduConnection getSubConnection()
Recupera la conexión subyacente utilizada por la conexión.- Returns:
- Conexión subyacente con la tarjeta o
null
si esta conexión es ya la de más bajo nivel.
-
-