UNPKG

ng-cordova

Version:

[ngCordova](http://ngcordova.com/) ==========

219 lines (195 loc) 5.69 kB
// install : cordova plugin add https://github.com/don/BluetoothSerial.git // link : https://github.com/don/BluetoothSerial angular.module('ngCordova.plugins.bluetoothSerial', []) .factory('$cordovaBluetoothSerial', ['$q', '$window', function ($q, $window) { return { connect: function (address) { var q = $q.defer(); var disconnectionPromise = $q.defer(); var isConnected = false; $window.bluetoothSerial.connect(address, function () { isConnected = true; q.resolve(disconnectionPromise); }, function (error) { if(isConnected === false) { disconnectionPromise.reject(error); } q.reject(error); }); return q.promise; }, // not supported on iOS connectInsecure: function (address) { var q = $q.defer(); $window.bluetoothSerial.connectInsecure(address, function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, disconnect: function () { var q = $q.defer(); $window.bluetoothSerial.disconnect(function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, list: function () { var q = $q.defer(); $window.bluetoothSerial.list(function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; }, discoverUnpaired: function () { var q = $q.defer(); $window.bluetoothSerial.discoverUnpaired(function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; }, setDeviceDiscoveredListener: function () { var q = $q.defer(); $window.bluetoothSerial.setDeviceDiscoveredListener(function (data) { q.notify(data); }); return q.promise; }, clearDeviceDiscoveredListener: function () { $window.bluetoothSerial.clearDeviceDiscoveredListener(); }, showBluetoothSettings: function () { var q = $q.defer(); $window.bluetoothSerial.showBluetoothSettings(function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, isEnabled: function () { var q = $q.defer(); $window.bluetoothSerial.isEnabled(function () { q.resolve(); }, function () { q.reject(); }); return q.promise; }, enable: function () { var q = $q.defer(); $window.bluetoothSerial.enable(function () { q.resolve(); }, function () { q.reject(); }); return q.promise; }, isConnected: function () { var q = $q.defer(); $window.bluetoothSerial.isConnected(function () { q.resolve(); }, function () { q.reject(); }); return q.promise; }, available: function () { var q = $q.defer(); $window.bluetoothSerial.available(function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; }, read: function () { var q = $q.defer(); $window.bluetoothSerial.read(function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; }, readUntil: function (delimiter) { var q = $q.defer(); $window.bluetoothSerial.readUntil(delimiter, function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; }, write: function (data) { var q = $q.defer(); $window.bluetoothSerial.write(data, function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, subscribe: function (delimiter) { var q = $q.defer(); $window.bluetoothSerial.subscribe(delimiter, function (data) { q.notify(data); }, function (error) { q.reject(error); }); return q.promise; }, subscribeRawData: function () { var q = $q.defer(); $window.bluetoothSerial.subscribeRawData(function (data) { q.notify(data); }, function (error) { q.reject(error); }); return q.promise; }, unsubscribe: function () { var q = $q.defer(); $window.bluetoothSerial.unsubscribe(function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, unsubscribeRawData: function () { var q = $q.defer(); $window.bluetoothSerial.unsubscribeRawData(function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, clear: function () { var q = $q.defer(); $window.bluetoothSerial.clear(function () { q.resolve(); }, function (error) { q.reject(error); }); return q.promise; }, readRSSI: function () { var q = $q.defer(); $window.bluetoothSerial.readRSSI(function (data) { q.resolve(data); }, function (error) { q.reject(error); }); return q.promise; } }; }]);