FingerprintReaderService Class
Provides information about fingerprint readers and allows to start/stop a sample capturing.
Constructor
FingerprintReaderService
()
Item Index
Methods
- addAvailabilityChangedListener
- addFingerprintReadersListChangedListener
- addSampleCapturedListener
- getFingerprintReadersAsync
- getIsAvailableAsync
- releaseExclusiveAccess
- removeAvailabilityChangedListener
- removeFingerprintReadersListChangedListener
- removeSampleCapturedListener
- requestExclusiveAccess
- showSettingsAsync
- startCapturingAsync
- stopCapturingAsync
Methods
addAvailabilityChangedListener
-
handler
Adds listeners to AvailabilityChanged event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of boolean type and does not return a value.
Returns:
Example:
var connector = new buildingLink.Connector();
// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
alert("Service availability changed: " + isAvailable);
};
var connectionSuccededCallback = function() {
// Adds listener to AvailabilityChanged event for any service: connector.barcodeScanService.addAvailabilityChangedListener(), connector.fingerprintReaderService.addAvailabilityChangedListener().
connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
addFingerprintReadersListChangedListener
-
handler
Adds listeners to FingerprintReadersListChanged event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of type Device[] and does not return a value.
Returns:
Example:
var connector = new buildingLink.Connector();
// Handles FingerprintReadersListChanged event.
var onFingerprintReadersListChanged = function(fingerpintReaders) {
var alertMessage;
if (fingerpintReaders.length > 0) {
var message = [];
for (var i = 0; i < fingerpintReaders.length; i++) {
message.push("Fingerprint Reader model name: " + fingerpintReaders[i].modelName);
}
alertMessage = "Fingerprint Readers list changed. New fingerprint readers: " + message.join(";");
} else {
alertMessage = "Fingerprint Readers list changed.";
}
alert(alertMessage);
};
var connectionSuccededCallback = function() {
// Adds listener to ScannersListChanged event.
connector.fingerprintReaderService.addFingerprintReadersListChangedListener(onFingerprintReadersListChanged);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
addSampleCapturedListener
-
handler
Adds listeners to SampleCaptured event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of type {{#crossLink FingerprintSample"}}{{/crossLink}} and does not return a value.
Returns:
Example:
// Creates shortcuts to avoid using long reference to and FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var connector = new buildingLink.Connector();
// Defines failure handler for operation with device.
var failureFinperprintReaderOperationHandler = function(failureReason) {
var failureMessage;
switch (failureReason) {
case FailureReason.ServiceNotAvailable:
failureMessage = "No attached Fingerprint Readers.";
break;
case FailureReason.InternalError:
failureMessage = "Internal error occured.";
break;
default:
throw new Error("failureReason");
}
alert(failureMessage);
};
// Prepares canvas with id "canvasId" to display image.
var createImageForCanvas = function(canvasId) {
var canvas = document.getElementById(canvasId);
var image = new Image();
image.onload = function () {
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image, 0, 0, canvas.width, canvas.height);
};
image.onerror = function (stuff) {
addInfoMessage("Img Onerror:", stuff);
};
return image;
};
// Draws serialized image.
var drawImage = function(image, imageData) {
image.src = "data:image/png;base64," + imageData;
};
var clearCanvas = function (canvasId) {
var canvas = document.getElementById(canvasId);
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
};
// It is supposed that HTML contains the following elements: <canvas id="cnvSample1"></canvas>, <canvas id="cnvSample2"></canvas>, <canvas id="cnvSample3"></canvas>, <canvas id="cnvSample4"></canvas>
var samplesImages = [];
for (var i = 1; i <= 4; i++) {
var im = createImageForCanvas("cnvSample" + i);
samplesImages.push(im);
}
// Stores fingerprint samples.
var samples = [];
var counter = 0;
var resetSamples = function () {
samples = [];
for (i = 1; i <= 4; i++) {
clearCanvas("cnvSample" + i);
}
};
// Handles SampleCaptured event.
var onSampleCaptured = function(fingerprint) {
if (counter === 0) {
resetSamples();
}
samples.push(fingerprint);
drawImage(samplesImages[counter], fingerprint.sampleImage);
counter++;
if (counter === 4) {
counter == 0;
}
};
var connectionSuccededCallback = function() {
// Adds listener to SampleCaptured event.
connector.fingerprintReaderService.addSampleCapturedListener(onSampleCaptured);
// Starts capturing from fingerprintReaders.
connector.fingerprintReaderService.startCapturingAsync().then(function () {
// Handle start capturing.
}, failureFinperprintReaderOperationHandler);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
getFingerprintReadersAsync
()
Promise | Device[]
async
Gets fingerprint readers.
Returns:
Example:
// Creates a shortcut to avoid using long references to FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var connector = new buildingLink.Connector();
// Defines failure handler for operation with device.
var failureGetFingerprintReadersHandler = function(failureReason) {
var failureMessage;
switch (failureReason) {
case FailureReason.ServiceNotAvailable:
failureMessage = "No attached fingerprint readers.";
break;
case FailureReason.InternalError:
failureMessage = "Internal error occured.";
break;
default:
throw new Error("failureReason");
}
alert(failureMessage);
};
var connectionSuccededCallback = function() {
// Gets fingerprint reader devices.
connector.fingerprintReaderService.getFingerprintReadersAsync().then(function (fingerprintReaders) {
var message = [];
for (var i = 0; i < fingerprintReaders.length; i++) {
message.push("Fingerprint Reader name: " + fingerprintReaders[i].name + "; " + "Fingerprint Reader model name: " + fingerprintReaders[i].modelName);
}
alert(message.join("\n")); // Shows fingerprint readers name and model.
}, failureGetFingerprintReadersHandler);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
getIsAvailableAsync
()
Promise | Boolean
async
Allows to determine whether device is available.
Returns:
A promise of the result that returns true if device is available or false otherwise in case of success.
Example:
var connector = new buildingLink.Connector();
var connectionSuccededCallback = function() {
// Gets whether device service is available or no. This method is common for all services and can be used like: connector.autoDialerService.getIsAvailableAsync(), connector.fingerprintReaderService.getIsAvailableAsync(), etc.
connector.webCameraService.getIsAvailableAsync().then(function (isAvailable) {
if (isAvailable) {
alert("Service is available.");
} else {
alert("Service is not available.");
}
});
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
releaseExclusiveAccess
()
Promise | Boolean
async
Releases exclusive access.
Returns:
A promise of the result.
removeAvailabilityChangedListener
-
handler
Removes listeners from AvailabilityChanged event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of boolean type and does not return a value.
Returns:
Example:
var connector = new buildingLink.Connector();
// Handles AvailabilityChanged event.
var onAvailabilityChanged = function(isAvailable) {
alert("Service availability changed: " + isAvailable);
};
var connectionSuccededCallback = function() {
// Adds listener to AvailabilityChanged event for any service: connector.signaturePadService.addAvailabilityChangedListener(), connector.autoDialerService.addAvailabilityChangedListener().
connector.idCardScanService.addAvailabilityChangedListener(onAvailabilityChanged);
// Removes AvailabilityChanged listener in 5 seconds for any service: connector.signaturePadService.removeAvailabilityChangedListener(), connector.autoDialerService.removeAvailabilityChangedListener().
setTimeout(function (){
connector.idCardScanService.removeAvailabilityChangedListener(onAvailabilityChanged);
alert("AvailabilityChanged listener."); // Observe that notifications will be stopped after this alert.
}, 5000);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
removeFingerprintReadersListChangedListener
-
handler
Removes listeners from FingerprintReadersListChanged event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of type Device[] and does not return a value.
Returns:
Example:
var connector = new buildingLink.Connector();
// Handles FingerprintReadersListChanged event.
var onFingerprintReadersListChanged = function(fingerpintReaders) {
alert("Finperprint Readers list changed.");
};
var connectionSuccededCallback = function() {
// Adds listeners to FingerprintReadersListChanged event.
connector.fingerprintReaderService.addFingerprintReadersListChangedListener(onFingerprintReadersListChanged);
// Removes FingerprintReadersListChanged listener in 5 seconds.
setTimeout(function (){
connector.fingerprintReaderService.removeFingerprintReadersListChangedListener(onFingerprintReadersListChanged);
}, 5000);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
removeSampleCapturedListener
-
handler
Removes listeners from SampleCaptured event.
Parameters:
-
handler
FunctionA function that handles the event. The function that has a single parameter of type FingerprintSample and does not return a value.
Returns:
Example:
// Creates shortcuts to avoid using long reference to and FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var connector = new buildingLink.Connector();
// Defines failure handler for operation with device.
var failureFinperprintReaderOperationHandler = function(failureReason) {
var failureMessage;
switch (failureReason) {
case FailureReason.ServiceNotAvailable:
failureMessage = "No attached Fingerprint Readers.";
break;
case FailureReason.InternalError:
failureMessage = "Internal error occured.";
break;
default:
throw new Error("failureReason");
}
alert(failureMessage);
};
// Handles SampleCaptured event.
var onSampleCaptured = function(fingerprint) {
alert("Sample captured.");
};
var connectionSuccededCallback = function() {
// Adds listener to SampleCaptured event.
connector.fingerprintReaderService.addSampleCapturedListener(onSampleCaptured);
// Starts capturing from fingerprintReaders.
connector.fingerprintReaderService.startCapturingAsync().then(function () {
// Handle start capturing.
}, failureFinperprintReaderOperationHandler);
// Removes SampleCaptured listener in 10 seconds.
setTimeout(function (){
connector.fingerprintReaderService.removeSampleCapturedListener(onSampleCaptured);
alert("SampleCaptured listener removed.");
}, 10000);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
requestExclusiveAccess
()
Promise | Boolean
async
Requests exclusive access. Another clients won't be notified about captured samples.
Returns:
A promise of the result.
showSettingsAsync
()
Promise | Void
async
Allows to show device settings in Connector app.
Returns:
A promise of the result.
Example:
var connector = new buildingLink.Connector();
var connectionSuccededCallback = function() {
// Shows device settings for selected service. This method is common for all services and can be used: connector.idCardScanService.showSettingsAsync(), connector.barcodeScanService.showSettingsAsync(), etc.
connector.printService.showSettingsAsync();
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
startCapturingAsync
()
Promise | Void
async
Starts samples capturing from fingerprint readers.
Returns:
A promise of the result.
Example:
// Creates a shortcut to avoid using long reference to FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var connector = new buildingLink.Connector();
// Defines failure handler for operation with device.
var failureStartCapturingHandler = function(failureReason) {
var failureMessage;
switch (failureReason) {
case FailureReason.ServiceNotAvailable:
failureMessage = "No attached Figerprint Readers.";
break;
case FailureReason.InternalError:
failureMessage = "Internal error occured.";
break;
default:
throw new Error("failureReason");
}
alert(failureMessage);
};
var connectionSuccededCallback = function() {
// Starts capturing from fingerprint readers.
connector.fingerprintReaderService.startCapturingAsync().then(function () {
alert("Fingperprint capturing started."); // Shows successful message.
}, failureStartCapturingHandler);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);
stopCapturingAsync
()
Promise | Void
async
Stops samples capturing from fingerprint readers.
Returns:
A promise of the result.
Example:
// Creates a shortcut to avoid using long reference to FailureReason below in code.
var FailureReason = buildingLink.connector.services.FailureReason;
var connector = new buildingLink.Connector();
// Defines failure handler for operation with device.
var failureStartCapturingHandler = function(failureReason) {
var failureMessage;
switch (failureReason) {
case FailureReason.ServiceNotAvailable:
failureMessage = "No attached Figerprint Readers.";
break;
case FailureReason.InternalError:
failureMessage = "Internal error occured.";
break;
default:
throw new Error("failureReason");
}
alert(failureMessage);
};
var connectionSuccededCallback = function() {
// Starts capturing from fingerprint readers.
connector.fingerprintReaderService.startCapturingAsync().then(function () {
alert("Fingperprint capturing started."); // Shows successful message.
}, failureStartCapturingHandler);
// Stops capturing from fingerprint readers in 5 seconds.
setTimeout(function () {
connector.fingerprintReaderService.stopCapturingAsync().then(function() {
alert("Fingperprint capturing stopped."); // Shows successful message.
});
}, 5000);
};
var connectionClosedCallback = function(connectionError) {
alert("Connection failed."); // Shows connection failure message.
};
connector.activate(connectionSuccededCallback, connectionClosedCallback);