Rev 1422 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*Copyright (c) 2004-2006, The Dojo FoundationAll Rights Reserved.Licensed under the Academic Free License version 2.1 or above OR themodified BSD license. For more information on Dojo licensing, see:http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.AdapterRegistry");dojo.require("dojo.lang.func");dojo.AdapterRegistry = function (returnWrappers) {this.pairs = [];this.returnWrappers = returnWrappers || false;};dojo.lang.extend(dojo.AdapterRegistry, {register:function (name, check, wrap, directReturn, override) {var type = (override) ? "unshift" : "push";this.pairs[type]([name, check, wrap, directReturn]);}, match:function () {for (var i = 0; i < this.pairs.length; i++) {var pair = this.pairs[i];if (pair[1].apply(this, arguments)) {if ((pair[3]) || (this.returnWrappers)) {return pair[2];} else {return pair[2].apply(this, arguments);}}}throw new Error("No match found");}, unregister:function (name) {for (var i = 0; i < this.pairs.length; i++) {var pair = this.pairs[i];if (pair[0] == name) {this.pairs.splice(i, 1);return true;}}return false;}});