aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java
diff options
context:
space:
mode:
authorNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-06 22:49:52 +0600
committerNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-14 22:48:01 +0600
commit5e18b15775f4c6d9c563d61a71143320620e968e (patch)
tree0bd9134a7fac20a517998abfe29540cf0469bad8 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java
parent79a0918072e2b4a01f328cb8d8d2a0a8761394f6 (diff)
downloadopen-keychain-5e18b15775f4c6d9c563d61a71143320620e968e.tar.gz
open-keychain-5e18b15775f4c6d9c563d61a71143320620e968e.tar.bz2
open-keychain-5e18b15775f4c6d9c563d61a71143320620e968e.zip
OTG: Rename 'javacard' package, methods, remove JavacardInterface
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java
new file mode 100644
index 000000000..557c6f37d
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/smartcard/NfcTransport.java
@@ -0,0 +1,31 @@
+package org.sufficientlysecure.keychain.smartcard;
+
+import java.io.IOException;
+
+import nordpol.IsoCard;
+
+public class NfcTransport implements Transport {
+ // timeout is set to 100 seconds to avoid cancellation during calculation
+ private static final int TIMEOUT = 100 * 1000;
+ private final IsoCard mIsoCard;
+
+ public NfcTransport(final IsoCard isoDep) throws IOException {
+ this.mIsoCard = isoDep;
+ mIsoCard.setTimeout(TIMEOUT);
+ mIsoCard.connect();
+ }
+
+ @Override
+ public byte[] sendAndReceive(final byte[] data) throws TransportIoException, IOException {
+ return mIsoCard.transceive(data);
+ }
+
+ @Override
+ public void release() {
+ }
+
+ @Override
+ public boolean isConnected() {
+ return mIsoCard.isConnected();
+ }
+}