diff --git a/lib/beacon.js b/lib/beacon.js index c32d933..aba4179 100644 --- a/lib/beacon.js +++ b/lib/beacon.js @@ -1,6 +1,9 @@ var os = require('os'); var bleno = require('bleno'); +var util = require('util'); +var reemit = require('re-emitter'); +var EventEmitter = require('events').EventEmitter; var AdvertisementData = require('./util/advertisement-data'); @@ -8,6 +11,20 @@ var TICK_INTERVAL = 100; // ms var DEFAULT_TX_POWER_LEVEL = -21; // dBm function Beacon() { + EventEmitter.call(this); + reemit(bleno, this, [ + 'advertisingStartError', + 'stateChange', + 'servicesSetError', + 'accept', + 'mtuChange', + 'disconnect', + 'advertisingStart', + 'advertisingStop', + 'servicesSet', + 'rssiUpdate' + ]); + this._mainAdvertisementData = null; this._advertisementData = null; this._advertising = false; @@ -21,6 +38,7 @@ function Beacon() { setInterval(this._tick.bind(this), TICK_INTERVAL); } +util.inherits(Beacon, EventEmitter); Beacon.prototype.advertiseUid = function(namespaceId, instanceId, options) { this._parseOptions(options);