diff options
Diffstat (limited to 'js/src/Ice/Timer.js')
-rw-r--r-- | js/src/Ice/Timer.js | 187 |
1 files changed, 91 insertions, 96 deletions
diff --git a/js/src/Ice/Timer.js b/js/src/Ice/Timer.js index 0c489726d98..defe37942a2 100644 --- a/js/src/Ice/Timer.js +++ b/js/src/Ice/Timer.js @@ -7,117 +7,112 @@ // // ********************************************************************** -(function(global){ - require("Ice/HashMap"); - require("Ice/LocalException"); - require("Ice/Class"); - - var Ice = global.Ice || {}; - - var HashMap = Ice.HashMap; - var CommunicatorDestroyedException = Ice.CommunicatorDestroyedException; - - var Timer = Ice.Class({ - __init__: function(instance) - { - this._instance = instance; - this._destroyed = false; - this._tokenId = 0; - this._tokens = new HashMap(); - }, - destroy: function() - { - var self = this; - this._tokens.forEach(function(key, value){ - self.cancel(key); - }); - this._destroyed = true; - this._tokens.clear(); - }, - schedule: function(callback, delay) +var Ice = require("../Ice/ModuleRegistry").Ice; +Ice.__M.require(module, "Ice", ["../Ice/HashMap", "../Ice/LocalException", "../Ice/Class"]); + +var HashMap = Ice.HashMap; +var CommunicatorDestroyedException = Ice.CommunicatorDestroyedException; + +var Timer = Ice.Class({ + __init__: function(instance) + { + this._instance = instance; + this._destroyed = false; + this._tokenId = 0; + this._tokens = new HashMap(); + }, + destroy: function() + { + var self = this; + this._tokens.forEach(function(key, value){ + self.cancel(key); + }); + this._destroyed = true; + this._tokens.clear(); + }, + schedule: function(callback, delay) + { + if(this._destroyed) { - if(this._destroyed) - { - throw new CommunicatorDestroyedException(); - } + throw new CommunicatorDestroyedException(); + } - var token = this._tokenId++; - var self = this; + var token = this._tokenId++; + var self = this; - var id = setTimeout(function() { self.handleTimeout(token); }, delay); - this._tokens.set(token, { callback: callback, id: id, isInterval: false }); + var id = setTimeout(function() { self.handleTimeout(token); }, delay); + this._tokens.set(token, { callback: callback, id: id, isInterval: false }); - return token; - }, - scheduleRepeated: function(callback, period) + return token; + }, + scheduleRepeated: function(callback, period) + { + if(this._destroyed) { - if(this._destroyed) - { - throw new CommunicatorDestroyedException(); - } + throw new CommunicatorDestroyedException(); + } - var token = this._tokenId++; - var self = this; + var token = this._tokenId++; + var self = this; - var id = setInterval(function() { self.handleInterval(token); }, period); - this._tokens.set(token, { callback: callback, id: id, isInterval: true }); + var id = setInterval(function() { self.handleInterval(token); }, period); + this._tokens.set(token, { callback: callback, id: id, isInterval: true }); - return token; - }, - cancel: function(id) + return token; + }, + cancel: function(id) + { + if(this._destroyed) { - if(this._destroyed) - { - return false; - } + return false; + } - var token = this._tokens.get(id); - if(token === undefined) - { - return false; - } + var token = this._tokens.get(id); + if(token === undefined) + { + return false; + } - this._tokens.delete(id); - if(token.isInterval) - { - clearInterval(token.id); - } - else - { - clearTimeout(token.id); - } + this._tokens.delete(id); + if(token.isInterval) + { + clearInterval(token.id); + } + else + { + clearTimeout(token.id); + } - return true; - }, - handleTimeout: function(id) + return true; + }, + handleTimeout: function(id) + { + if(this._destroyed) { - if(this._destroyed) - { - return; - } + return; + } - var token = this._tokens.get(id); - if(token !== undefined) - { - this._tokens.delete(id); - token.callback(); - } - }, - handleInterval: function(id) + var token = this._tokens.get(id); + if(token !== undefined) { - if(this._destroyed) - { - return; - } + this._tokens.delete(id); + token.callback(); + } + }, + handleInterval: function(id) + { + if(this._destroyed) + { + return; + } - var token = this._tokens.get(id); - if(token !== undefined) - { - token.callback(); - } + var token = this._tokens.get(id); + if(token !== undefined) + { + token.callback(); } - }); + } +}); - Ice.Timer = Timer; - global.Ice = Ice; -}(typeof (global) === "undefined" ? window : global)); +Ice.Timer = Timer; +module.exports.Ice = Ice; |