]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/util/network.js
02089456ed077610bc6ad725478a2a183ac9ffdd
[Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / util / network.js
1 dump('entering util/network.js\n');
2
3 if (typeof util == 'undefined') util = {};
4 util.network = function () {
5
6         JSAN.use('util.error'); this.error = new util.error();
7         // Place a test here for network connectivity
8         // this.offline = true;
9
10         return this;
11 };
12
13 util.network.prototype = {
14
15         // Flag for whether the staff client should act as if it were offline or not
16         'offline' : false,
17
18         'link_id' : 0,
19
20         'request' : function (app,name,params,f) {
21                 try {
22                         var obj = this;
23                         var sparams = js2JSON(params);
24                         obj.error.sdump('D_SES','request '+app+' '+name+' '+sparams.slice(1,sparams.length-1)+
25                                 '\nResult #' + (++obj.link_id) + ( f ? ' asynced' : ' synced' ) );
26                         var request = new RemoteRequest( app, name );
27                         for(var index in params) {
28                                 request.addParam(params[index]);
29                         }
30         
31                         if (f)  {
32                                 request.setCompleteCallback(
33                                         function(req) {
34                                                 obj.error.sdump('D_SES_RESULT','asynced result #' + obj.link_id + '\n\n' + 
35                                                         js2JSON(req.getResultObject()));
36                                                 f(req);
37                                         }
38                                 );
39                                 request.send(false);
40                                 return null;
41                         } else {
42                                 request.send(true);
43                                 var result = request.getResultObject();
44                                 this.error.sdump('D_SES_RESULT','synced result #' + obj.link_id + '\n\n' + js2JSON(result));
45                                 return result;
46                         }
47
48                 } catch(E) {
49                         if (instanceOf(E,perm_ex)) {
50                                 alert('permission exception: ' + js2JSON(E));
51                         }
52                         throw(E);
53                 }
54         }
55 }
56
57 /*
58 function sample_callback(request) {
59         var result = request.getResultObject();
60 }
61 */
62
63 dump('exiting util/network.js\n');