// 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; })());