Moving the api.js and bot.js to /rtcbot/bot/ to be shared between
/borwser and /android R=andresp@webrtc.org Review URL: https://webrtc-codereview.appspot.com/25369004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7062 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
37
webrtc/tools/rtcbot/bot/api.js
Normal file
37
webrtc/tools/rtcbot/bot/api.js
Normal file
@ -0,0 +1,37 @@
|
||||
// Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
// that can be found in the LICENSE file in the root of the source
|
||||
// tree. An additional intellectual property rights grant can be found
|
||||
// in the file PATENTS. All contributing project authors may
|
||||
// be found in the AUTHORS file in the root of the source tree.
|
||||
//
|
||||
// This file exposes the api for the bot to connect to the host script
|
||||
// waiting a websocket connection and using dnode for javascript rpc.
|
||||
//
|
||||
// This file is served to the browser via browserify to resolve the
|
||||
// dnode requires.
|
||||
var WebSocketStream = require('websocket-stream');
|
||||
var Dnode = require('dnode');
|
||||
|
||||
function connectToServer(api) {
|
||||
var stream = new WebSocketStream("ws://127.0.0.1:8080/");
|
||||
var dnode = new Dnode(api);
|
||||
dnode.on('error', function (error) { console.log(error); });
|
||||
dnode.pipe(stream).pipe(dnode);
|
||||
}
|
||||
|
||||
// Dnode loses certain method calls when exposing native browser objects such as
|
||||
// peer connections. This methods helps work around that by allowing one to
|
||||
// redefine a non-native method in a target "obj" from "src" that applies a list
|
||||
// of casts to the arguments (types are lost in dnode).
|
||||
function expose(obj, src, method, casts) {
|
||||
obj[method] = function () {
|
||||
for (index in casts)
|
||||
arguments[index] = new (casts[index])(arguments[index]);
|
||||
src[method].apply(src, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
window.expose = expose;
|
||||
window.connectToServer = connectToServer;
|
||||
Reference in New Issue
Block a user