@pokusew/pcsclite
Advanced tools
Comparing version 0.5.0 to 0.5.1
@@ -70,4 +70,4 @@ "use strict"; | ||
r.removeAllListeners('status'); | ||
delete readers[name]; | ||
r.emit('end'); | ||
delete readers[name]; | ||
}); | ||
@@ -74,0 +74,0 @@ |
{ | ||
"name": "@pokusew/pcsclite", | ||
"version": "0.5.0", | ||
"version": "0.5.1", | ||
"description": "Bindings over PC/SC to access Smart Cards", | ||
@@ -32,2 +32,3 @@ "keywords": [ | ||
"main": "lib/pcsclite.js", | ||
"types": "index.d.ts", | ||
"directories": { | ||
@@ -34,0 +35,0 @@ "test": "test" |
@@ -73,75 +73,75 @@ # node-pcsclite | ||
console.log('New reader detected', reader.name); | ||
console.log('New reader detected', reader.name); | ||
reader.on('error', err => { | ||
console.log('Error(', reader.name, '):', err.message); | ||
}); | ||
reader.on('error', err => { | ||
console.log('Error(', reader.name, '):', err.message); | ||
}); | ||
reader.on('status', (status) => { | ||
reader.on('status', (status) => { | ||
console.log('Status(', reader.name, '):', status); | ||
console.log('Status(', reader.name, '):', status); | ||
// check what has changed | ||
const changes = reader.state ^ status.state; | ||
// check what has changed | ||
const changes = reader.state ^ status.state; | ||
if (!changes) { | ||
return; | ||
} | ||
if (!changes) { | ||
return; | ||
} | ||
if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { | ||
if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { | ||
console.log("card removed"); | ||
console.log("card removed"); | ||
reader.disconnect(reader.SCARD_LEAVE_CARD, err => { | ||
reader.disconnect(reader.SCARD_LEAVE_CARD, err => { | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
console.log('Disconnected'); | ||
console.log('Disconnected'); | ||
}); | ||
}); | ||
return; | ||
return; | ||
} | ||
} | ||
if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { | ||
if ((changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY)) { | ||
console.log("card inserted"); | ||
console.log("card inserted"); | ||
reader.connect({ share_mode: reader.SCARD_SHARE_SHARED }, (err, protocol) => { | ||
reader.connect({ share_mode: reader.SCARD_SHARE_SHARED }, (err, protocol) => { | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
console.log('Protocol(', reader.name, '):', protocol); | ||
console.log('Protocol(', reader.name, '):', protocol); | ||
reader.transmit(Buffer.from([0x00, 0xB0, 0x00, 0x00, 0x20]), 40, protocol, (err, data) => { | ||
reader.transmit(Buffer.from([0x00, 0xB0, 0x00, 0x00, 0x20]), 40, protocol, (err, data) => { | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
if (err) { | ||
console.log(err); | ||
return; | ||
} | ||
console.log('Data received', data); | ||
reader.close(); | ||
pcsc.close(); | ||
console.log('Data received', data); | ||
reader.close(); | ||
pcsc.close(); | ||
}); | ||
}); | ||
}); | ||
}); | ||
// noinspection UnnecessaryReturnStatementJS | ||
return; | ||
} | ||
// noinspection UnnecessaryReturnStatementJS | ||
return; | ||
} | ||
}); | ||
}); | ||
reader.on('end', () => { | ||
console.log('Reader', reader.name, 'removed'); | ||
}); | ||
reader.on('end', () => { | ||
console.log('Reader', reader.name, 'removed'); | ||
}); | ||
@@ -151,3 +151,3 @@ }); | ||
pcsc.on('error', err => { | ||
console.log('PCSC error', err.message); | ||
console.log('PCSC error', err.message); | ||
}); | ||
@@ -154,0 +154,0 @@ ``` |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No License Found
License(Experimental) License information could not be found
Found 1 instance in 1 package
1103836
1