summaryrefslogtreecommitdiffstats
path: root/qooxdoo/source/class/Smokeping/io/Rpc.js
blob: 327d2c4fab8349689ff854de5fe184c60779e2ed (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/* ************************************************************************
#module(Smokeping)
************************************************************************ */

/**
 * A smokeping specific rpc call which works 
 */

qx.Class.define('Smokeping.io.Rpc', 
{
    extend: qx.io.remote.Rpc,        

    /*
    *****************************************************************************
       CONSTRUCTOR
    *****************************************************************************
    */

    /**
     * @param local_url {String}    When running the application in file:// mode.
     *                              where will we find our RPC server.
     */
    construct: function (local_url) {

        with(this){
			base(arguments);
            setTimeout(7000000);
            setUrl('jsonrpc.cgi');
            setServiceName('Smokeping');
        }

        var our_href = new String(document.location.href);
        var last_slash = our_href.lastIndexOf("/");
        this.__base_url = our_href.substring(0,last_slash+1);   

		// look for services on the localhost if we access the
        // application locally

        if ( document.location.host === '' ) {
			with(this){
	            __base_url = local_url;
            	setUrl(__base_url + 'jsonrpc.cgi');
            	setCrossDomain(true);
			}
        }

		return this;
    },

    /*
    *****************************************************************************
     MEMBERS
    *****************************************************************************
    */

    members :
    {

		/*
        ---------------------------------------------------------------------------
        CORE METHODS
        ---------------------------------------------------------------------------
        */

        /**
         * Tell about the BaseUrl we found.
         *
         * @type member
		 *
         * @param {void}
         *
		 * @return BaseUrl {Strings}
		 */

        getBaseUrl: function(){
            return  this.__base_url;
        }
    }
});