| 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('../support/router')) |
| .dependency(require('../support/push')) |
| .dependency(require('./service')) |
| .define(function(options, router, push, service) { |
| var log = logger.createLogger('device:plugins:clipboard') |
| |
| router.on(wire.PasteMessage, function(channel, message) { |
| log.info('Pasting "%s" to clipboard', message.text) |
| var reply = wireutil.reply(options.serial) |
| service.paste(message.text) |
| .then(function() { |
| push.send([ |
| channel |
| , reply.okay() |
| ]) |
| }) |
| .catch(function(err) { |
| log.error('Paste failed', err.stack) |
| push.send([ |
| channel |
| , reply.fail(err.message) |
| ]) |
| }) |
| }) |
| |
| router.on(wire.CopyMessage, function(channel) { |
| log.info('Copying clipboard contents') |
| var reply = wireutil.reply(options.serial) |
| service.copy() |
| .then(function(content) { |
| push.send([ |
| channel |
| , reply.okay(content) |
| ]) |
| }) |
| .catch(function(err) { |
| log.error('Copy failed', err.stack) |
| push.send([ |
| channel |
| , reply.fail(err.message) |
| ]) |
| }) |
| }) |
| }) |