| var syrup = require('stf-syrup') |
| |
| var logger = require('../../../util/logger') |
| var wire = require('../../../wire') |
| var wireutil = require('../../../wire/util') |
| |
| module.exports = syrup.serial() |
| .dependency(require('./service')) |
| .dependency(require('../support/router')) |
| .dependency(require('../support/push')) |
| .define(function(options, service, router, push) { |
| var log = logger.createLogger('device:plugins:ringer') |
| |
| router.on(wire.RingerSetMessage, function(channel, message) { |
| var reply = wireutil.reply(options.serial) |
| |
| log.info('Setting ringer mode to mode "%s"', message.mode) |
| |
| service.setRingerMode(message.mode) |
| .timeout(30000) |
| .then(function() { |
| push.send([ |
| channel |
| , reply.okay() |
| ]) |
| }) |
| .catch(function(err) { |
| log.error('Setting ringer mode failed', err.stack) |
| push.send([ |
| channel |
| , reply.fail(err.message) |
| ]) |
| }) |
| }) |
| |
| router.on(wire.RingerGetMessage, function(channel) { |
| var reply = wireutil.reply(options.serial) |
| |
| log.info('Getting ringer mode') |
| |
| service.getRingerMode() |
| .timeout(30000) |
| .then(function(mode) { |
| push.send([ |
| channel |
| , reply.okay('success', mode) |
| ]) |
| }) |
| .catch(function(err) { |
| log.error('Getting ringer mode failed', err.stack) |
| push.send([ |
| channel |
| , reply.fail(err.message) |
| ]) |
| }) |
| }) |
| }) |