--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/client/annotviz/app/js/wswrapper.js Tue Jan 20 11:57:44 2015 +0100
@@ -0,0 +1,53 @@
+/**
+* js/wswrapper.js
+*
+* simple webservice wrapper to register callbacks on onmessage
+*
+*/
+
+/* global WebSocket: false */
+
+'use strict';
+
+function WsWrapper(wsurl, logger) {
+
+ var url = wsurl;
+ var sock = new WebSocket(url);
+ var loggerObj = logger;
+
+ var log = function(msg) {
+ if(loggerObj) {
+ loggerObj.log(msg);
+ }
+ };
+
+ var handlers = [];
+
+ sock.onopen = function() {
+ log('Connected to ' + url);
+ };
+
+ sock.onclose = function(e) {
+ log('Connection closed (wasClean = ' + e.wasClean + ', code = ' + e.code + ', reason = \'' + e.reason + '\')');
+ sock = null;
+ };
+
+ sock.onmessage = function(e) {
+ log('received ' + e.data);
+ var data = JSON.parse(e.data);
+ handlers.forEach(function(handler) {
+ handler(data);
+ });
+ };
+
+ this.message = function(handler) {
+ if(handler) {
+ handlers.push(handler);
+ }
+ };
+
+}
+
+module.exports = {
+ WsWrapper: WsWrapper
+};