a:33:{s:9:"#provides";s:34:"dojox.storage.AirDBStorageProvider";s:9:"#resource";s:31:"storage/AirDBStorageProvider.js";s:9:"#requires";a:2:{i:0;a:2:{i:0;s:6:"common";i:1;s:21:"dojox.storage.manager";}i:1;a:2:{i:0;s:6:"common";i:1;s:22:"dojox.storage.Provider";}}s:34:"dojox.storage.AirDBStorageProvider";a:4:{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:9:"classlike";b:1;s:7:"summary";s:0:"";}s:48:"dojox.storage.AirDBStorageProvider.DATABASE_FILE";a:2:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:7:"summary";s:0:"";}s:45:"dojox.storage.AirDBStorageProvider.TABLE_NAME";a:2:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:7:"summary";s:0:"";}s:46:"dojox.storage.AirDBStorageProvider.initialized";a:3:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:8:"instance";s:34:"dojox.storage.AirDBStorageProvider";s:7:"summary";s:0:"";}s:38:"dojox.storage.AirDBStorageProvider._db";a:4:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:8:"instance";s:34:"dojox.storage.AirDBStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.storage.AirDBStorageProvider.initialize";a:4:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:680:" this.initialized = false; // need to initialize our storage database try{ this._db = new air.SQLConnection(); this._db.open(air.File.applicationStorageDirectory.resolvePath(this.DATABASE_FILE)); this._sql("CREATE TABLE IF NOT EXISTS " + this.TABLE_NAME + "(namespace TEXT, key TEXT, value TEXT)"); this._sql("CREATE UNIQUE INDEX IF NOT EXISTS namespace_key_index ON " + this.TABLE_NAME + " (namespace, key)"); this.initialized = true; }catch(e){ console.debug("dojox.storage.AirDBStorageProvider.initialize:", e); } // indicate that this storage provider is now loaded dojox.storage.manager.loaded();";s:7:"summary";s:0:"";}s:39:"dojox.storage.AirDBStorageProvider._sql";a:6:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:5:"query";a:1:{s:4:"type";s:0:"";}s:6:"params";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:253:" var stmt = new air.SQLStatement(); stmt.sqlConnection = this._db; stmt.text = query; if (params){ for (var param in params){ stmt.parameters[param] = params[param]; } } stmt.execute(); return stmt.getResult();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:52:"dojox.storage.AirDBStorageProvider._beginTransaction";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:21:" this._db.begin();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:53:"dojox.storage.AirDBStorageProvider._commitTransaction";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:22:" this._db.commit();";s:7:"private";b:1;s:7:"summary";s:0:"";}s:46:"dojox.storage.AirDBStorageProvider.isAvailable";a:4:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:16:" return true;";s:7:"summary";s:0:"";}s:38:"dojox.storage.AirDBStorageProvider.put";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:874:" if(this.isValidKey(key) == false){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE; if(this.isValidKey(namespace) == false){ throw new Error("Invalid namespace given: " + namespace); } // try to store the value try{ this._sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = :namespace AND key = :key", { ":namespace":namespace, ":key":key }); this._sql("INSERT INTO " + this.TABLE_NAME + " VALUES (:namespace, :key, :value)", { ":namespace":namespace, ":key":key, ":value":value }); }catch(e){ // indicate we failed console.debug("dojox.storage.AirDBStorageProvider.put:", e); resultsHandler(this.FAILED, key, e.toString()); return; } if(resultsHandler){ resultsHandler(this.SUCCESS, key, null, namespace); }";s:7:"summary";s:0:"";}s:38:"dojox.storage.AirDBStorageProvider.get";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:426:" if(this.isValidKey(key) == false){ throw new Error("Invalid key given: " + key); } namespace = namespace||this.DEFAULT_NAMESPACE; var results = this._sql("SELECT * FROM " + this.TABLE_NAME + " WHERE namespace = :namespace AND key = :key", { ":namespace":namespace, ":key":key }); if(results.data && results.data.length){ return results.data[0].value; } return null;";s:7:"summary";s:0:"";}s:48:"dojox.storage.AirDBStorageProvider.getNamespaces";a:4:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:352:" var results = [ this.DEFAULT_NAMESPACE ]; var rs = this._sql("SELECT namespace FROM " + this.TABLE_NAME + " DESC GROUP BY namespace"); if (rs.data){ for(var i = 0; i < rs.data.length; i++){ if(rs.data[i].namespace != this.DEFAULT_NAMESPACE){ results.push(rs.data[i].namespace); } } } return results;";s:7:"summary";s:0:"";}s:42:"dojox.storage.AirDBStorageProvider.getKeys";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:449:" namespace = namespace||this.DEFAULT_NAMESPACE; if(this.isValidKey(namespace) == false){ throw new Error("Invalid namespace given: " + namespace); } var results = []; var rs = this._sql("SELECT key FROM " + this.TABLE_NAME + " WHERE namespace = :namespace", { ":namespace":namespace }); if (rs.data){ for(var i = 0; i < rs.data.length; i++){ results.push(rs.data[i].key); } } return results;";s:7:"summary";s:0:"";}s:40:"dojox.storage.AirDBStorageProvider.clear";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:224:" if(this.isValidKey(namespace) == false){ throw new Error("Invalid namespace given: " + namespace); } this._sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = :namespace", { ":namespace":namespace });";s:7:"summary";s:0:"";}s:41:"dojox.storage.AirDBStorageProvider.remove";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:193:" namespace = namespace||this.DEFAULT_NAMESPACE; this._sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = :namespace AND key = :key", { ":namespace":namespace, ":key":key });";s:7:"summary";s:0:"";}s:46:"dojox.storage.AirDBStorageProvider.putMultiple";a:5:{s:9:"prototype";s:34:"dojox.storage.AirDBStorageProvider";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:1278:" if(this.isValidKeyArray(keys) === false || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(namespace == null || typeof namespace == "undefined"){ namespace = this.DEFAULT_NAMESPACE; } if(this.isValidKey(namespace) == false){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // try to store the value try{ this._beginTransaction(); for(var i=0;i