/* * adaptor * cylonjs.com * * Copyright (c) 2013-2014 The Hybrid Group * Licensed under the Apache 2.0 license. */ "use strict"; var Basestar = require('./basestar'), Logger = require('./logger'), Utils = require('./utils'); // Public: Creates a new Adaptor // // opts - hash of acceptable params // name - name of the Adaptor, used when printing to console // connection - Connection the adaptor will use to proxy commands/events // // Returns a new Adaptor var Adaptor = module.exports = function Adaptor(opts) { opts = opts || {}; this.name = opts.name; // the Robot the adaptor belongs to this.robot = opts.robot; // some default options this.host = opts.host; this.port = opts.port; // misc. details provided in args hash this.details = {}; for (var opt in opts) { if (['robot', 'name', 'adaptor'].indexOf(opt) < 0) { this.details[opt] = opts[opt]; } } }; Utils.subclass(Adaptor, Basestar); // Public: Expresses the Connection in JSON format // // Returns an Object containing Connection data Adaptor.prototype.toJSON = function() { return { name: this.name, adaptor: this.constructor.name || this.name, details: this.details }; };