com.ibm.opencard.terminal.pcsc10
Class Pcsc10LockableTerminal
java.lang.Object
|
+--opencard.core.terminal.CardTerminal
|
+--opencard.opt.terminal.AbstractLockableTerminal
|
+--com.ibm.opencard.terminal.pcsc10.Pcsc10LockableTerminal
- public final class Pcsc10LockableTerminal
- extends AbstractLockableTerminal
- implements TerminalCommand, Pollable
Implementation of a lockable OpenCard CardTerminal for PCSC.
- Version:
- $Id: Pcsc10LockableTerminal.java,v 1.1 1999/12/02 16:06:11 damke Exp $
- See Also:
AbstractLockableTerminal
|
Constructor Summary |
protected |
Pcsc10LockableTerminal(java.lang.String name,
java.lang.String type,
java.lang.String address)
Instantiate an Pcsc10Terminal. |
| Methods inherited from class opencard.core.terminal.CardTerminal |
addSlots,
cardInserted,
closeSlotChannel,
enumerateSlots,
features,
getAddress,
getName,
getSlot,
getSlots,
getType,
isCardPresent,
isSlotChannelAvailable,
isSlotChannelAvailable,
openSlotChannel,
openSlotChannel,
openSlotChannel,
reset,
reset,
sendAPDU,
sendAPDU,
sendVerifiedCommandAPDU,
slots,
toString |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Pcsc10LockableTerminal
protected Pcsc10LockableTerminal(java.lang.String name,
java.lang.String type,
java.lang.String address)
throws CardTerminalException
- Instantiate an Pcsc10Terminal.
- Parameters:
name - The user friendly name.type - The terminal type (here "PCSC")address - not used- Throws:
- CardTerminalException - Thrown when a problem occured.
open
public void open()
throws CardTerminalException
- Open the card terminal: We register with the CardTerminalRegistry
as a Pollable card terminal.
- Overrides:
- open in class CardTerminal
close
public void close()
throws CardTerminalException
- Close the connection to the card terminal.
Could be used by unregister to free up the resources used by the
terminal.
- Throws:
- CardTerminalException - Thrown if there are problems with closing the
connection
- Overrides:
- close in class CardTerminal
internalReset
protected CardID internalReset(int slot,
int ms)
throws CardTerminalException
- Implementation of CardTerminal.internalReset().
- Overrides:
- internalReset in class CardTerminal
internalFeatures
protected java.util.Properties internalFeatures(java.util.Properties features)
- Query the card terminal about its features.
- Returns:
- features
- Overrides:
- internalFeatures in class CardTerminal
isCardPresent
public boolean isCardPresent(int slot)
throws CardTerminalException
- Check whether there is a smart card present.
- Parameters:
slot - Number of the slot to check (must be 0 for PCSC)- Returns:
- True if there is a smart card inserted in the card
terminals slot.
- Overrides:
- isCardPresent in class CardTerminal
getCardID
public CardID getCardID(int slot,
int timeout)
throws CardTerminalException
- Deprecated.
- Overrides:
- getCardID in class CardTerminal
getCardID
public CardID getCardID(int slot)
throws CardTerminalException
- Return the CardID of the presently inserted card. Will returned
the cached card if slot's status has not changed; otherwise it will
really retrieve the CardID.
- Parameters:
slot - slot number- Returns:
- A CardID object representing the inserted smart card.
- Throws:
- CardTerminalException - thrown when problem occured getting the ATR of the card
- Overrides:
- getCardID in class CardTerminal
lockableOpenSlotChannel
protected void lockableOpenSlotChannel(int slotID)
throws CardTerminalException
- The internal openSlotChannel method.
lockableOpenSlotChannel is executed at the beginning of openSlotChannel.
- Parameters:
slotID - The number of the slot for which a SlotChannel is requested.- Overrides:
- lockableOpenSlotChannel in class AbstractLockableTerminal
internalCloseSlotChannel
protected void internalCloseSlotChannel(SlotChannel sc)
throws CardTerminalException
- The internal closeSlotChannel method.
internalCloseSlotChannel is executed at the end of closeSlotChannel.
- Parameters:
SlotChannel - The SlotChannel to close.- Throws:
- CardTerminalException - thrown in case of errors closing the card (e.g. error disconnecting the card).
- Overrides:
- internalCloseSlotChannel in class CardTerminal
sendTerminalCommand
public byte[] sendTerminalCommand(byte[] cmd)
throws CardTerminalException
- Send control command to terminal.
- Specified by:
- sendTerminalCommand in interface TerminalCommand
- Parameters:
cmd - a byte array containing the command to be sent to the card terminal- Returns:
- Response from terminal.
- Throws:
- CardTerminalException - Exception thrown by driver.
- See Also:
TerminalCommand
sendTerminalCommand
public byte[] sendTerminalCommand(byte[] cmd,
java.lang.Object lockHandle)
throws CardTerminalException
- Send control command to terminal.
- Parameters:
cmd - a byte array containing the command to be sent to the card terminal- Returns:
- Response from terminal.
- Throws:
- CardTerminalException - Exception thrown by driver.
- See Also:
TerminalCommand
internalSendAPDU
protected ResponseAPDU internalSendAPDU(int slot,
CommandAPDU capdu,
int ms)
throws CardTerminalException
- The implementation of CardTerminal.internalSendAPDU().
- Parameters:
slot - logical slot numbercapdu - C-APDU to send to the cardms - timeout in ms (not supported, ignored)- Overrides:
- internalSendAPDU in class CardTerminal
cardRemoved
protected void cardRemoved(int slotID)
- Signal to observers that an inserted card was removed.
- Parameters:
slot - slot number- Overrides:
- cardRemoved in class CardTerminal
poll
public void poll()
throws CardTerminalException
- This method is normally used by the CardTerminalRegistry to
generate the OpenCard events if the Slot implementation does
not support events itself.
- Specified by:
- poll in interface Pollable
translatePcscException
protected CardTerminalException translatePcscException(PcscException e)
- translate the PcscException into CardTerminalException.
internalLock
protected void internalLock()
throws CardTerminalException
- Overrides:
- internalLock in class AbstractLockableTerminal
internalUnlock
protected void internalUnlock()
throws CardTerminalException
- Overrides:
- internalUnlock in class AbstractLockableTerminal
internalLockSlot
protected void internalLockSlot(int slotNr)
throws CardTerminalException
- Overrides:
- internalLockSlot in class AbstractLockableTerminal
internalUnlockSlot
protected void internalUnlockSlot(int slotNr)
throws CardTerminalException
- Overrides:
- internalUnlockSlot in class AbstractLockableTerminal
|