a:28:{s:9:"#provides";s:34:"dojox.storage.GearsStorageProvider";s:9:"#resource";s:31:"storage/GearsStorageProvider.js";s:9:"#requires";a:4:{i:0;a:3:{i:0;s:6:"common";i:1;s:10:"dojo.gears";i:2;s:4:"dojo";}i:1;a:2:{i:0;s:6:"common";i:1;s:22:"dojox.storage.Provider";}i:2;a:2:{i:0;s:6:"common";i:1;s:21:"dojox.storage.manager";}i:3;a:2:{i:0;s:6:"common";i:1;s:9:"dojox.sql";}}s:34:"dojox.storage.GearsStorageProvider";a:6:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:22:"dojox.storage.Provider";}s:4:"call";a:1:{i:0;s:22:"dojox.storage.Provider";}}s:7:"summary";s:146:"Storage provider that uses the features of Google Gears to store data (it is saved into the local SQL database provided by Gears, using dojox.sql)";s:11:"description";s:188:"You can disable this storage provider with the following djConfig variable: var djConfig = { disableGearsStorage: true }; Authors of this storage provider- Brad Neuberg, bkn3@columbia.edu";s:6:"source";s:0:"";s:9:"classlike";b:1;}s:45:"dojox.storage.GearsStorageProvider.TABLE_NAME";a:3:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:8:"instance";s:34:"dojox.storage.GearsStorageProvider";s:7:"summary";s:0:"";}s:46:"dojox.storage.GearsStorageProvider.initialized";a:3:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:8:"instance";s:34:"dojox.storage.GearsStorageProvider";s:7:"summary";s:0:"";}s:45:"dojox.storage.GearsStorageProvider._available";a:4:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:8:"instance";s:34:"dojox.storage.GearsStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:48:"dojox.storage.GearsStorageProvider._storageReady";a:4:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:8:"instance";s:34:"dojox.storage.GearsStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.storage.GearsStorageProvider.initialize";a:4:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:1624:"dojo.provide("dojox.storage.GearsStorageProvider"); dojo.require("dojo.gears"); dojo.require("dojox.storage.Provider"); dojo.require("dojox.storage.manager"); dojo.require("dojox.sql"); if(dojo.gears.available){ (function(){ // make sure we don't define the gears provider if we're not gears // enabled dojo.declare("dojox.storage.GearsStorageProvider", dojox.storage.Provider, { // summary: // Storage provider that uses the features of Google Gears // to store data (it is saved into the local SQL database // provided by Gears, using dojox.sql) // description: // You can disable this storage provider with the following djConfig // variable: // var djConfig = { disableGearsStorage: true }; // // Authors of this storage provider- // Brad Neuberg, bkn3@columbia.edu constructor: function(){ }, // instance methods and properties TABLE_NAME: "__DOJO_STORAGE", initialized: false, _available: null, _storageReady: false, initialize: function(){ //console.debug("dojox.storage.GearsStorageProvider.initialize"); if(dojo.config["disableGearsStorage"] == true){ return; } // partition our storage data so that multiple apps // on the same host won't collide this.TABLE_NAME = "__DOJO_STORAGE"; // we delay creating our internal tables until an operation is // actually called, to avoid having a Gears permission dialog // on page load (bug #7538) // indicate that this storage provider is now loaded this.initialized = true; dojox.storage.manager.loaded(); ";s:7:"summary";s:0:"";}s:46:"dojox.storage.GearsStorageProvider.isAvailable";a:4:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:1760:"dojo.provide("dojox.storage.GearsStorageProvider"); dojo.require("dojo.gears"); dojo.require("dojox.storage.Provider"); dojo.require("dojox.storage.manager"); dojo.require("dojox.sql"); if(dojo.gears.available){ (function(){ // make sure we don't define the gears provider if we're not gears // enabled dojo.declare("dojox.storage.GearsStorageProvider", dojox.storage.Provider, { // summary: // Storage provider that uses the features of Google Gears // to store data (it is saved into the local SQL database // provided by Gears, using dojox.sql) // description: // You can disable this storage provider with the following djConfig // variable: // var djConfig = { disableGearsStorage: true }; // // Authors of this storage provider- // Brad Neuberg, bkn3@columbia.edu constructor: function(){ }, // instance methods and properties TABLE_NAME: "__DOJO_STORAGE", initialized: false, _available: null, _storageReady: false, initialize: function(){ //console.debug("dojox.storage.GearsStorageProvider.initialize"); if(dojo.config["disableGearsStorage"] == true){ return; } // partition our storage data so that multiple apps // on the same host won't collide this.TABLE_NAME = "__DOJO_STORAGE"; // we delay creating our internal tables until an operation is // actually called, to avoid having a Gears permission dialog // on page load (bug #7538) // indicate that this storage provider is now loaded this.initialized = true; dojox.storage.manager.loaded(); }, isAvailable: function(){ // is Google Gears available and defined? return this._available = dojo.gears.available;";s:7:"summary";s:0:"";}s:38:"dojox.storage.GearsStorageProvider.put";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:4:{s:3:"key";a:1:{s:4:"type";s:0:"";}s:5:"value";a:1:{s:4:"type";s:0:"";}s:14:"resultsHandler";a:1:{s:4:"type";s:0:"";}s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:1056:" this._initStorage(); if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE; if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + key); } // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } // try to store the value try{ dojox.sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = ? AND key = ?", namespace, key); dojox.sql("INSERT INTO " + this.TABLE_NAME + " VALUES (?, ?, ?)", namespace, key, value); }catch(e){ // indicate we failed console.debug("dojox.storage.GearsStorageProvider.put:", e); resultsHandler(this.FAILED, key, e.toString(), namespace); return; } if(resultsHandler){ resultsHandler(dojox.storage.SUCCESS, key, null, namespace); }";s:7:"summary";s:0:"";}s:38:"dojox.storage.GearsStorageProvider.get";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"key";a:1:{s:4:"type";s:0:"";}s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:918:" this._initStorage(); if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE; if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + key); } // try to find this key in the database var results = dojox.sql("SELECT * FROM " + this.TABLE_NAME + " WHERE namespace = ? AND " + " key = ?", namespace, key); if(!results.length){ return null; }else{ results = results[0].value; } // destringify the content back into a // real JavaScript object; // handle strings differently so they have better performance if(dojo.isString(results) && (/^string:/.test(results))){ results = results.substring("string:".length); }else{ results = dojo.fromJson(results); } return results;";s:7:"summary";s:0:"";}s:48:"dojox.storage.GearsStorageProvider.getNamespaces";a:4:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:374:" this._initStorage(); var results = [ dojox.storage.DEFAULT_NAMESPACE ]; var rs = dojox.sql("SELECT namespace FROM " + this.TABLE_NAME + " DESC GROUP BY namespace"); for(var i = 0; i < rs.length; i++){ if(rs[i].namespace != dojox.storage.DEFAULT_NAMESPACE){ results.push(rs[i].namespace); } } return results;";s:7:"summary";s:0:"";}s:42:"dojox.storage.GearsStorageProvider.getKeys";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:439:" this._initStorage(); namespace = namespace||this.DEFAULT_NAMESPACE; if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } var rs = dojox.sql("SELECT key FROM " + this.TABLE_NAME + " WHERE namespace = ?", namespace); var results = []; for(var i = 0; i < rs.length; i++){ results.push(rs[i].key); } return results;";s:7:"summary";s:0:"";}s:40:"dojox.storage.GearsStorageProvider.clear";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:293:" this._initStorage(); namespace = namespace||this.DEFAULT_NAMESPACE; if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } dojox.sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = ?", namespace);";s:7:"summary";s:0:"";}s:41:"dojox.storage.GearsStorageProvider.remove";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"key";a:1:{s:4:"type";s:0:"";}s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:417:" this._initStorage(); if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE; if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + key); } dojox.sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = ? AND" + " key = ?", namespace, key);";s:7:"summary";s:0:"";}s:46:"dojox.storage.GearsStorageProvider.putMultiple";a:5:{s:9:"prototype";s:34:"dojox.storage.GearsStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:4:{s:4:"keys";a:1:{s:4:"type";s:0:"";}s:6:"values";a:1:{s:4:"type";s:0:"";}s:14:"resultsHandler";a:1:{s:4:"type";s:0:"";}s:9:"namespace";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:1497:" this._initStorage(); if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // try to store the value try{ dojox.sql.open(); dojox.sql.db.execute("BEGIN TRANSACTION"); var _stmt = "REPLACE INTO " + this.TABLE_NAME + " VALUES (?, ?, ?)"; for(var i=0;i