X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=test%2Fwebsock.js;fp=test%2Fwebsock.js;h=0000000000000000000000000000000000000000;hb=366efa1adaafbe996a03a98a73f149cb4fc56c26;hp=c42955363e844698c844510c35e3c3c630011f5f;hpb=a0bcdbcab352e311f320ded7af2205eec632296a;p=src%2Fapp-framework-binder.git diff --git a/test/websock.js b/test/websock.js deleted file mode 100644 index c4295536..00000000 --- a/test/websock.js +++ /dev/null @@ -1,117 +0,0 @@ - -AfbCtxItf = (function(){ - - var UUID = undefined; - var TOKEN = undefined; - - function AfbCtxItf(token, uuid) { - this.token = token; - this.uuid = uuid; - } - - AfbCtxItf.prototype = { - get token() {return TOKEN;}, - set token(tok) {if(tok) TOKEN=tok;}, - get uuid() {return UUID;}, - set uuid(id) {if(id) UUID=id;} - }; - - return AfbCtxItf; -})(); - - -AfbWsItf = (function(){ - - var CALL = 2; - var RETOK = 3; - var RETERR = 4; - - function AfbWsItf(base, onopen, onabort, ctx) { - ctx = ctx || new AfbCtxItf(); - var wl = window.location; - var u = "ws://"+wl.host+"/"+base; - if (ctx.token) { - u = u + '?x-afb-token=' + ctx.token; - if (ctx.uuid) - u = u + '&x-afb-uuid=' + ctx.uuid; - } - this.ws = new (WebSocket || MozWebSocket)(u, [ "x-afb-ws-json1" ]); - this.pendings = {}; - this.counter = 0; - this.ctx = ctx; - this.ws.onopen = onopen.bind(this); - this.ws.onerror = onerror.bind(this); - this.ws.onclose = onclose.bind(this); - this.ws.onmessage = onmessage.bind(this); - this.onopen = onopen; - this.onabort = onabort; - } - - function onerror(event) { - var f = this.onabort; - if (f) { - delete this.onopen; - delete this.onabort; - f && f(this); - } - this.onerror && this.onerror(this); - } - - function onopen(event) { - var f = this.onopen; - delete this.onopen; - delete this.onabort; - f && f(this); - } - - function onclose(event) { - for (var id in this.pendings) { - var ferr = this.pendings[id].onerror; - ferr && ferr(null, this); - } - this.pendings = {}; - this.onclose && this.onclose(); - } - - function onmessage(event) { - var obj = JSON.parse(event.data); - var code = obj[0]; - var id = obj[1]; - var ans = obj[2]; - this.ctx.token = obj[3]; - var pend; - if (id && id in this.pendings) { - pend = this.pendings[id]; - delete this.pendings[id]; - } - switch (code) { - case RETOK: - pend && pend.onsuccess && pend.onsuccess(ans, this); - break; - case RETERR: - default: - pend && pend.onerror && pend.onerror(ans, this); - break; - } - } - - function close() { - this.ws.close(); - } - - function call(api, verb, request, onsuccess, onerror) { - var id = String(++this.counter); - this.pendings[id] = { onsuccess: onsuccess, onerror: onerror }; - var arr = [CALL, id, api+"/"+verb, request ]; - if (this.ctx.token) arr.push(this.ctx.token); - this.ws.send(JSON.stringify(arr)); - } - - AfbWsItf.prototype = { - close: close, - call: call - }; - - return AfbWsItf; -})(); -