summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/Async.js
Unidiff
Diffstat (limited to 'frontend/gamma/js/Clipperz/Async.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/Async.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/frontend/gamma/js/Clipperz/Async.js b/frontend/gamma/js/Clipperz/Async.js
index e80c3a2..7c9d783 100644
--- a/frontend/gamma/js/Clipperz/Async.js
+++ b/frontend/gamma/js/Clipperz/Async.js
@@ -1,216 +1,213 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2011 Clipperz Srl
4 4
5This file is part of Clipperz's Javascript Crypto Library. 5This file is part of Clipperz Community Edition.
6Javascript Crypto Library provides web developers with an extensive 6Clipperz Community Edition is an online password manager.
7and efficient set of cryptographic functions. The library aims to
8obtain maximum execution speed while preserving modularity and
9reusability.
10For further information about its features and functionalities please 7For further information about its features and functionalities please
11refer to http://www.clipperz.com 8refer to http://www.clipperz.com.
12 9
13* Javascript Crypto Library is free software: you can redistribute 10* Clipperz Community Edition is free software: you can redistribute
14 it and/or modify it under the terms of the GNU Affero General Public 11 it and/or modify it under the terms of the GNU Affero General Public
15 License as published by the Free Software Foundation, either version 12 License as published by the Free Software Foundation, either version
16 3 of the License, or (at your option) any later version. 13 3 of the License, or (at your option) any later version.
17 14
18* Javascript Crypto Library is distributed in the hope that it will 15* Clipperz Community Edition is distributed in the hope that it will
19 be useful, but WITHOUT ANY WARRANTY; without even the implied 16 be useful, but WITHOUT ANY WARRANTY; without even the implied
20 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 See the GNU Affero General Public License for more details. 18 See the GNU Affero General Public License for more details.
22 19
23* You should have received a copy of the GNU Affero General Public 20* You should have received a copy of the GNU Affero General Public
24 License along with Javascript Crypto Library. If not, see 21 License along with Clipperz Community Edition. If not, see
25 <http://www.gnu.org/licenses/>. 22 <http://www.gnu.org/licenses/>.
26 23
27*/ 24*/
28 25
29//Clipperz.Async = MochiKit.Async; 26//Clipperz.Async = MochiKit.Async;
30 27
31 28
32if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } 29if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
33if (typeof(Clipperz.Async) == 'undefined') { Clipperz.Async = {}; } 30if (typeof(Clipperz.Async) == 'undefined') { Clipperz.Async = {}; }
34 31
35Clipperz.Async.VERSION = "0.1"; 32Clipperz.Async.VERSION = "0.1";
36Clipperz.Async.NAME = "Clipperz.Async"; 33Clipperz.Async.NAME = "Clipperz.Async";
37 34
38Clipperz.Async.Deferred = function(aName, args) { 35Clipperz.Async.Deferred = function(aName, args) {
39 args = args || {}; 36 args = args || {};
40 37
41 Clipperz.Async.Deferred.superclass.constructor.call(this, args.canceller); 38 Clipperz.Async.Deferred.superclass.constructor.call(this, args.canceller);
42 39
43 this._args = args; 40 this._args = args;
44 this._name = aName || "Anonymous deferred"; 41 this._name = aName || "Anonymous deferred";
45 this._count = 0; 42 this._count = 0;
46 this._shouldTrace = ((CLIPPERZ_DEFERRED_TRACING_ENABLED === true) || (args.trace === true)); 43 this._shouldTrace = ((CLIPPERZ_DEFERRED_TRACING_ENABLED === true) || (args.trace === true));
47 this._vars = null; 44 this._vars = null;
48 45
49 return this; 46 return this;
50} 47}
51 48
52//============================================================================= 49//=============================================================================
53 50
54Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, { 51Clipperz.Base.extend(Clipperz.Async.Deferred, MochiKit.Async.Deferred, {
55 52
56 'name': function () { 53 'name': function () {
57 return this._name; 54 return this._name;
58 }, 55 },
59 56
60 'args': function () { 57 'args': function () {
61 return this._args; 58 return this._args;
62 }, 59 },
63 60
64 //----------------------------------------------------------------------------- 61 //-----------------------------------------------------------------------------
65 62
66 'callback': function (aValue) { 63 'callback': function (aValue) {
67 if (this._shouldTrace) { 64 if (this._shouldTrace) {
68 Clipperz.log("CALLBACK " + this._name, aValue); 65 Clipperz.log("CALLBACK " + this._name, aValue);
69 } 66 }
70 67
71 if (this.chained == false) { 68 if (this.chained == false) {
72 var message; 69 var message;
73 70
74 message = "ERROR [" + this._name + "]"; 71 message = "ERROR [" + this._name + "]";
75 this.addErrback(function(aResult) { 72 this.addErrback(function(aResult) {
76 if (! (aResult instanceof MochiKit.Async.CancelledError)) { 73 if (! (aResult instanceof MochiKit.Async.CancelledError)) {
77 Clipperz.log(message, aResult); 74 Clipperz.log(message, aResult);
78 } 75 }
79 return aResult; 76 return aResult;
80 }); 77 });
81 78
82 if (this._shouldTrace) { 79 if (this._shouldTrace) {
83 var resultMessage; 80 var resultMessage;
84 81
85 resultMessage = "RESULT " + this._name + " <=="; 82 resultMessage = "RESULT " + this._name + " <==";
86 // this.addCallback(function(aResult) { 83 // this.addCallback(function(aResult) {
87 Clipperz.Async.Deferred.superclass.addCallback.call(this, function(aResult) { 84 Clipperz.Async.Deferred.superclass.addCallback.call(this, function(aResult) {
88 Clipperz.log(resultMessage, aResult); 85 Clipperz.log(resultMessage, aResult);
89 86
90 return aResult; 87 return aResult;
91 }); 88 });
92 } 89 }
93 } 90 }
94 91
95 if (CLIPPERZ_DEFERRED_CALL_LOGGING_ENABLED === true) { 92 if (CLIPPERZ_DEFERRED_CALL_LOGGING_ENABLED === true) {
96 Clipperz.log("callback " + this._name, this); 93 Clipperz.log("callback " + this._name, this);
97 } 94 }
98 95
99 return Clipperz.Async.Deferred.superclass.callback.apply(this, arguments); 96 return Clipperz.Async.Deferred.superclass.callback.apply(this, arguments);
100 }, 97 },
101 98
102 //----------------------------------------------------------------------------- 99 //-----------------------------------------------------------------------------
103 100
104 'addCallback': function () { 101 'addCallback': function () {
105 var message; 102 var message;
106 103
107 if (this._shouldTrace) { 104 if (this._shouldTrace) {
108 this._count ++; 105 this._count ++;
109 message = "[" + this._count + "] " + this._name + " "; 106 message = "[" + this._count + "] " + this._name + " ";
110 // this.addBoth(function(aResult) {Clipperz.log(message + "-->", aResult); return aResult;}); 107 // this.addBoth(function(aResult) {Clipperz.log(message + "-->", aResult); return aResult;});
111 this.addCallbacks( 108 this.addCallbacks(
112 function(aResult) {Clipperz.log("-OK- " + message + "-->"/*, aResult*/); return aResult;}, 109 function(aResult) {Clipperz.log("-OK- " + message + "-->"/*, aResult*/); return aResult;},
113 function(aResult) {Clipperz.log("FAIL " + message + "-->"/*, aResult*/); return aResult;} 110 function(aResult) {Clipperz.log("FAIL " + message + "-->"/*, aResult*/); return aResult;}
114 ); 111 );
115 } 112 }
116 113
117 Clipperz.Async.Deferred.superclass.addCallback.apply(this, arguments); 114 Clipperz.Async.Deferred.superclass.addCallback.apply(this, arguments);
118 115
119 if (this._shouldTrace) { 116 if (this._shouldTrace) {
120 // this.addBoth(function(aResult) {Clipperz.log(message + "<--", aResult); return aResult;}); 117 // this.addBoth(function(aResult) {Clipperz.log(message + "<--", aResult); return aResult;});
121 this.addCallbacks( 118 this.addCallbacks(
122 function(aResult) {Clipperz.log("-OK- " + message + "<--", aResult); return aResult;}, 119 function(aResult) {Clipperz.log("-OK- " + message + "<--", aResult); return aResult;},
123 function(aResult) {Clipperz.log("FAIL " + message + "<--", aResult); return aResult;} 120 function(aResult) {Clipperz.log("FAIL " + message + "<--", aResult); return aResult;}
124 ); 121 );
125 } 122 }
126 }, 123 },
127 124
128 //============================================================================= 125 //=============================================================================
129 126
130 'addCallbackPass': function() { 127 'addCallbackPass': function() {
131 var passFunction; 128 var passFunction;
132 129
133 passFunction = MochiKit.Base.partial.apply(null, arguments); 130 passFunction = MochiKit.Base.partial.apply(null, arguments);
134 131
135 this.addCallback(function() { 132 this.addCallback(function() {
136 var result; 133 var result;
137 134
138 result = arguments[arguments.length -1]; 135 result = arguments[arguments.length -1];
139 passFunction(); 136 passFunction();
140 137
141 return result; 138 return result;
142 }); 139 });
143 }, 140 },
144 141
145 //----------------------------------------------------------------------------- 142 //-----------------------------------------------------------------------------
146 143
147 'addErrbackPass': function() { 144 'addErrbackPass': function() {
148 var passFunction; 145 var passFunction;
149 146
150 passFunction = MochiKit.Base.partial.apply(null, arguments); 147 passFunction = MochiKit.Base.partial.apply(null, arguments);
151 148
152 this.addErrback(function() { 149 this.addErrback(function() {
153 var result; 150 var result;
154 151
155 result = arguments[arguments.length -1]; 152 result = arguments[arguments.length -1];
156 passFunction(); 153 passFunction();
157 154
158 return result; 155 return result;
159 }); 156 });
160 }, 157 },
161 158
162 //----------------------------------------------------------------------------- 159 //-----------------------------------------------------------------------------
163 160
164 'addBothPass': function() { 161 'addBothPass': function() {
165 var passFunction; 162 var passFunction;
166 163
167 passFunction = MochiKit.Base.partial.apply(null, arguments); 164 passFunction = MochiKit.Base.partial.apply(null, arguments);
168 165
169 this.addBoth(function() { 166 this.addBoth(function() {
170 var result; 167 var result;
171 168
172 result = arguments[arguments.length -1]; 169 result = arguments[arguments.length -1];
173 passFunction(); 170 passFunction();
174 171
175 return result; 172 return result;
176 }); 173 });
177 }, 174 },
178 175
179 //----------------------------------------------------------------------------- 176 //-----------------------------------------------------------------------------
180 177
181 'addIf': function (aThenBlock, anElseBlock) { 178 'addIf': function (aThenBlock, anElseBlock) {
182 this.addCallback(MochiKit.Base.bind(function (aValue) { 179 this.addCallback(MochiKit.Base.bind(function (aValue) {
183 var deferredResult; 180 var deferredResult;
184 181
185 if (!MochiKit.Base.isUndefinedOrNull(aValue) && aValue) { 182 if (!MochiKit.Base.isUndefinedOrNull(aValue) && aValue) {
186 deferredResult = Clipperz.Async.callbacks(this._name + " <then>", aThenBlock, null, aValue); 183 deferredResult = Clipperz.Async.callbacks(this._name + " <then>", aThenBlock, null, aValue);
187 } else { 184 } else {
188 deferredResult = Clipperz.Async.callbacks(this._name + " <else>", anElseBlock, null, aValue); 185 deferredResult = Clipperz.Async.callbacks(this._name + " <else>", anElseBlock, null, aValue);
189 } 186 }
190 187
191 return deferredResult; 188 return deferredResult;
192 })) 189 }))
193 }, 190 },
194 191
195 //----------------------------------------------------------------------------- 192 //-----------------------------------------------------------------------------
196 193
197 'addMethod': function () { 194 'addMethod': function () {
198 this.addCallback(MochiKit.Base.method.apply(this, arguments)); 195 this.addCallback(MochiKit.Base.method.apply(this, arguments));
199 }, 196 },
200 197
201 //----------------------------------------------------------------------------- 198 //-----------------------------------------------------------------------------
202 199
203 'addMethodcaller': function () { 200 'addMethodcaller': function () {
204 this.addCallback(MochiKit.Base.methodcaller.apply(this, arguments)); 201 this.addCallback(MochiKit.Base.methodcaller.apply(this, arguments));
205 }, 202 },
206 203
207 //============================================================================= 204 //=============================================================================
208 205
209 'addLog': function (aLog) { 206 'addLog': function (aLog) {
210 if (CLIPPERZ_DEFERRED_LOGGING_ENABLED) { 207 if (CLIPPERZ_DEFERRED_LOGGING_ENABLED) {
211 this.addBothPass(function(res) {Clipperz.log(aLog + " ", res);}); 208 this.addBothPass(function(res) {Clipperz.log(aLog + " ", res);});
212 // this.addBothPass(function(res) {console.log(aLog + " ", res);}); 209 // this.addBothPass(function(res) {console.log(aLog + " ", res);});
213 } 210 }
214 }, 211 },
215 212
216 //============================================================================= 213 //=============================================================================