constructor(...args) { super(...args) this.pcsc = pcsclite() this.readMode = MODE.PERSONAL this.autoRecreate = true this.emit(EVENTS.PCSC_INITIAL) this.onReader = this.onReader.bind(this) }
startListener() { this.pcsc.on('reader', this.onReader) this.pcsc.on('error', (err) => { // Recreate if device has been disconnected if(this.autoRecreate) { this.emit(EVENTS.DEVICE_WAITING, err) // Re-create this.pcsc = pcsclite() this.startListener() } else { this.emit(EVENTS.PCSC_CLOSE) } }) }
constructor() { super(); logger.debug(`new Devices()`); this.pcsc = pcsclite(); this.devices = {}; this.pcsc.on('reader', (reader) => { const device = new Device(reader); this.devices[reader.name] = device; this.emit('device-activated', { device, devices: this.listDevices() }); reader.on('end', () => { delete this.devices[reader.name]; this.emit('device-deactivated', { device, devices: this.listDevices(), }); }); reader.on('error', (error) => { this.emit('error', { reader, error }); }); }); this.pcsc.on('error', (error) => { this.emit('error', { error }); }); }