summaryrefslogtreecommitdiff
path: root/smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java')
-rw-r--r--smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java b/smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java
index 07c16c3e..1e3bdce2 100644
--- a/smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java
+++ b/smcc/src/main/java/at/gv/egiz/smcc/ccid/ReaderFactory.java
@@ -27,10 +27,18 @@ import javax.smartcardio.CardTerminal;
public class ReaderFactory {
public static CCID getReader(Card icc, CardTerminal ct) {
- if ("Gemplus GemPC Pinpad 00 00".equals(ct.getName())) {
- return new GemplusGemPCPinpad(icc, ct);
- } else if ("OmniKey CardMan 3621 00 00".equals(ct.getName())) {
- return new OMNIKEYCardMan3621(icc, ct);
+ String name = ct.getName();
+ if (name != null) {
+ name = name.toLowerCase();
+ if(name.startsWith("gemplus gempc pinpad")) {
+ return new GemplusGemPCPinpad(icc, ct);
+ } else if (name.startsWith("omnikey cardman 3621")) {
+ return new OMNIKEYCardMan3621(icc, ct);
+ } else if (name.startsWith("scm microsystems inc. sprx32 usb smart card reader")) {
+ return new SCMMicrosystemsSPRx32(icc, ct);
+ } else if (name.startsWith("cherry smartboard xx44")) {
+ return new CherrySmartBoardXX44(icc, ct);
+ }
}
return new DefaultReader(icc, ct);
}