API Docs for: 1.0.0
Show:

FingerprintReaderService Class

Provides information about fingerprint readers and allows to start/stop a sample capturing.

Constructor

FingerprintReaderService

()

Methods

addAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Adds listeners to AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

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
)
Void

Adds listeners to FingerprintReadersListChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device[] and does not return a value.

Returns:

Void:

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
)
Void

Adds listeners to SampleCaptured event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type {{#crossLink FingerprintSample"}}{{/crossLink}} and does not return a value.

Returns:

Void:

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:

Promise | Device[]:

A promise of the result that returns the list of devices in case of success.

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

Inherited from DeviceService:

Allows to determine whether device is available.

Returns:

Promise | Boolean:

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:

Promise | Boolean:

A promise of the result.

removeAvailabilityChangedListener

(
  • handler
)
Void

Inherited from DeviceService:

Removes listeners from AvailabilityChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of boolean type and does not return a value.

Returns:

Void:

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
)
Void

Removes listeners from FingerprintReadersListChanged event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type Device[] and does not return a value.

Returns:

Void:

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
)
Void

Removes listeners from SampleCaptured event.

Parameters:

  • handler Function

    A function that handles the event. The function that has a single parameter of type FingerprintSample and does not return a value.

Returns:

Void:

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:

Promise | Boolean:

A promise of the result.

showSettingsAsync

() Promise | Void async

Inherited from DeviceService:

Allows to show device settings in Connector app.

Returns:

Promise | Void:

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:

Promise | Void:

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:

Promise | Void:

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);