| // Generated by CoffeeScript 1.8.0 |
| var WeinreClientCommands, WeinreClientEvents, channelManager, extensionManager, serviceManager, utils, weinre, _, |
| __hasProp = {}.hasOwnProperty; |
| |
| _ = require('underscore'); |
| |
| weinre = require('../weinre'); |
| |
| utils = require('../utils'); |
| |
| channelManager = require('../channelManager'); |
| |
| serviceManager = require('../serviceManager'); |
| |
| extensionManager = require('../extensionManager'); |
| |
| WeinreClientEvents = serviceManager.get('WeinreClientEvents'); |
| |
| module.exports = utils.registerClass(WeinreClientCommands = (function() { |
| function WeinreClientCommands() {} |
| |
| WeinreClientCommands.prototype.registerClient = function(channel, callbackId) { |
| var clients, key, options, val, _ref; |
| if (callbackId) { |
| WeinreClientEvents.sendCallback(channel, callbackId, channel.description); |
| } |
| options = _.extend({}, utils.options); |
| for (key in options) { |
| if (!__hasProp.call(options, key)) continue; |
| val = options[key]; |
| if ((_ref = typeof val) === 'number' || _ref === 'boolean') { |
| options[key] = "" + val; |
| } |
| } |
| options.version = weinre.getVersion(); |
| WeinreClientEvents.serverProperties(channel, options); |
| clients = channelManager.getClientChannels(channel.id); |
| return WeinreClientEvents.clientRegistered(clients, channel.description); |
| }; |
| |
| WeinreClientCommands.prototype.getTargets = function(channel, callbackId) { |
| var channels, result; |
| channels = channelManager.getTargetChannels(channel.id); |
| result = _.pluck(channels, 'description'); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId, [result]); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.getClients = function(channel, callbackId) { |
| var channels, result; |
| channels = channelManager.getClientChannels(channel.id); |
| result = _.pluck(channels, 'description'); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId, [result]); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.getExtensions = function(channel, callbackId) { |
| var extension, result; |
| result = (function() { |
| var _i, _len, _ref, _results; |
| _ref = extensionManager.extensions; |
| _results = []; |
| for (_i = 0, _len = _ref.length; _i < _len; _i++) { |
| extension = _ref[_i]; |
| _results.push({ |
| startPage: "extensions/" + extension + "/extension.html" |
| }); |
| } |
| return _results; |
| })(); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId, [result]); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.connectTarget = function(channel, clientName, targetName, callbackId) { |
| var client, target; |
| client = channelManager.getChannel(clientName); |
| if (!client) { |
| return; |
| } |
| target = channelManager.getChannel(targetName); |
| if (!target) { |
| return; |
| } |
| channelManager.connectChannels(client, target); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.disconnectTarget = function(channel, clientName, callbackId) { |
| var client, target; |
| client = connectionManager.getClient(clientName); |
| if (!client) { |
| return; |
| } |
| target = client.getConnectedTarget(); |
| if (!target) { |
| return; |
| } |
| connectionManager.disconnect(client, target); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.logDebug = function(channel, message, callbackId) { |
| utils.logVerbose("client " + channel.name + ": " + message); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.logInfo = function(channel, message, callbackId) { |
| utils.log("client " + channel.name + ": " + message); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.logWarning = function(channel, message, callbackId) { |
| utils.log("client " + channel.name + ": " + message); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| WeinreClientCommands.prototype.logError = function(channel, message, callbackId) { |
| utils.log("client " + channel.name + ": " + message); |
| if (callbackId) { |
| return WeinreClientEvents.sendCallback(channel, callbackId); |
| } |
| }; |
| |
| return WeinreClientCommands; |
| |
| })()); |