src: improve SCardConnect interface
- We can optionally pass the share_mode and preferred_protocol options. They are optional to keep backwards compatibility. - Update README - Define constants in C++ land.
This commit is contained in:
@@ -67,10 +67,18 @@ module.exports = function() {
|
||||
return p;
|
||||
};
|
||||
|
||||
CardReader.prototype.connect = function(cb) {
|
||||
CardReader.prototype.connect = function(options, cb) {
|
||||
if (typeof options === 'function') {
|
||||
cb = options;
|
||||
options = undefined;
|
||||
}
|
||||
|
||||
options = options || {};
|
||||
options.share_mode = options.share_mode || this.SCARD_SHARE_EXCLUSIVE;
|
||||
options.protocol = options.protocol || this.SCARD_PROTOCOL_T0 | this.SCARD_PROTOCOL_T1;
|
||||
|
||||
if (!this.connected) {
|
||||
this._connect(cb);
|
||||
this._connect(options.share_mode, options.protocol, cb);
|
||||
} else {
|
||||
cb();
|
||||
}
|
||||
@@ -109,18 +117,6 @@ CardReader.prototype.control = function(data, control_code, res_len, cb) {
|
||||
});
|
||||
};
|
||||
|
||||
CardReader.prototype.SCARD_STATE_UNAWARE = 0x0000;
|
||||
CardReader.prototype.SCARD_STATE_IGNORE = 0x0001;
|
||||
CardReader.prototype.SCARD_STATE_CHANGED = 0x0002;
|
||||
CardReader.prototype.SCARD_STATE_UNKNOWN = 0x0004;
|
||||
CardReader.prototype.SCARD_STATE_UNAVAILABLE = 0x0008;
|
||||
CardReader.prototype.SCARD_STATE_EMPTY = 0x0010;
|
||||
CardReader.prototype.SCARD_STATE_PRESENT = 0x0020;
|
||||
CardReader.prototype.SCARD_STATE_ATRMATCH = 0x0040;
|
||||
CardReader.prototype.SCARD_STATE_EXCLUSIVE = 0x0080;
|
||||
CardReader.prototype.SCARD_STATE_INUSE = 0x0100;
|
||||
CardReader.prototype.SCARD_STATE_MUTE = 0x0200;
|
||||
|
||||
// extend prototype
|
||||
function inherits(target, source) {
|
||||
for (var k in source.prototype) {
|
||||
|
||||
Reference in New Issue
Block a user