From 2670dd68f3ca8df7fdf4f2343c5dc734be376fe7 Mon Sep 17 00:00:00 2001 From: DennisSchiefer Date: Sat, 17 Mar 2012 15:28:27 +0100 Subject: [PATCH] added event handler base class --- WebContent/OSRM.EventHandler.js | 61 +++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 WebContent/OSRM.EventHandler.js diff --git a/WebContent/OSRM.EventHandler.js b/WebContent/OSRM.EventHandler.js new file mode 100644 index 000000000..6e0264ac2 --- /dev/null +++ b/WebContent/OSRM.EventHandler.js @@ -0,0 +1,61 @@ +/* +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU AFFERO General Public License as published by +the Free Software Foundation; either version 3 of the License, or +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +or see http://www.gnu.org/licenses/agpl.txt. +*/ + +// OSRM EventHandler +// [adds simple event handling: other classes can derive from this class to acquire custom event handling] + + +OSRM.EventHandler = function() { + this._listeners = {}; +}; + +OSRM.extend( OSRM.EventHandler, { + + // add listener + addListener: function(type, listener) { + if( typeof this._listeners[type] == "undefined" ) + this._listeners[type] = []; + this._listeners[type].push(listener); + }, + + //remove event listener + removeListener: function(type, listener) { + if( this._listeners[type] instanceof Array) { + for(var i=0; i