summaryrefslogtreecommitdiff
path: root/js/src/Ice/browser/WSEndpointFactory.js
blob: 7b6ab3b90946307fea097e23306d3c19bae2ca49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// **********************************************************************
//
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************

(function(global){
    require("Ice/Class");
    require("Ice/Endpoint");
    require("Ice/browser/WSEndpoint");
    
    var Ice = global.Ice || {};
    
    var WSEndpoint = Ice.WSEndpoint;

    var WSEndpointFactory = Ice.Class({
        __init__:function(instance, secure)
        {
            this._instance = instance;
            this._secure = secure;
        },
        type: function()
        {
            return this._secure ? Ice.WSSEndpointType : Ice.WSEndpointType;
        },
        protocol: function()
        {
            return this._secure ? "wss" : "ws";
        },
        create: function(str, oaEndpoint)
        {
            return WSEndpoint.fromString(this._instance, this._secure, str, oaEndpoint);
        },
        read: function(s)
        {
            return WSEndpoint.fromStream(s, this._secure);
        },
        destroy: function()
        {
            this._instance = null;
        }
    });
    Ice.WSEndpointFactory = WSEndpointFactory;
    global.Ice = Ice;
}(typeof (global) === "undefined" ? window : global));