a:35:{s:9:"#provides";s:34:"dojox.storage.FlashStorageProvider";s:9:"#resource";s:31:"storage/FlashStorageProvider.js";s:9:"#requires";a:3:{i:0;a:2:{i:0;s:6:"common";i:1;s:11:"dojox.flash";}i:1;a:2:{i:0;s:6:"common";i:1;s:21:"dojox.storage.manager";}i:2;a:2:{i:0;s:6:"common";i:1;s:22:"dojox.storage.Provider";}}s:34:"dojox.storage.FlashStorageProvider";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:46:"dojox.storage.FlashStorageProvider.initialized";a:3:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:8:"instance";s:34:"dojox.storage.FlashStorageProvider";s:7:"summary";s:0:"";}s:45:"dojox.storage.FlashStorageProvider._available";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:8:"instance";s:34:"dojox.storage.FlashStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:49:"dojox.storage.FlashStorageProvider._statusHandler";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:8:"instance";s:34:"dojox.storage.FlashStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:46:"dojox.storage.FlashStorageProvider._flashReady";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:8:"instance";s:34:"dojox.storage.FlashStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.storage.FlashStorageProvider._pageReady";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:8:"instance";s:34:"dojox.storage.FlashStorageProvider";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.storage.FlashStorageProvider.initialize";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:1343:"dojo.provide("dojox.storage.FlashStorageProvider"); dojo.require("dojox.flash"); dojo.require("dojox.storage.manager"); dojo.require("dojox.storage.Provider"); // summary: // Storage provider that uses features in Flash to achieve permanent // storage // description: // Authors of this storage provider- // Brad Neuberg, bkn3@columbia.edu dojo.declare("dojox.storage.FlashStorageProvider", dojox.storage.Provider, { initialized: false, _available: null, _statusHandler: null, _flashReady: false, _pageReady: false, initialize: function(){ //console.debug("FlashStorageProvider.initialize"); if(dojo.config["disableFlashStorage"] == true){ return; } // initialize our Flash dojox.flash.addLoadedListener(dojo.hitch(this, function(){ //console.debug("flashReady"); // indicate our Flash subsystem is now loaded this._flashReady = true; if(this._flashReady && this._pageReady){ this._loaded(); } })); var swfLoc = dojo.moduleUrl("dojox", "storage/Storage.swf").toString(); dojox.flash.setSwf(swfLoc, false); // wait till page is finished loading dojo.connect(dojo, "loaded", this, function(){ //console.debug("pageReady"); this._pageReady = true; if(this._flashReady && this._pageReady){ this._loaded(); } });";s:7:"summary";s:0:"";}s:48:"dojox.storage.FlashStorageProvider.setFlushDelay";a:5:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:8:"newDelay";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:197:" if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay));";s:7:"summary";s:0:"";}s:48:"dojox.storage.FlashStorageProvider.getFlushDelay";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:51:" return Number(dojox.flash.comm.getFlushDelay());";s:7:"summary";s:0:"";}s:40:"dojox.storage.FlashStorageProvider.flush";a:5:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";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:2188:"dojo.provide("dojox.storage.FlashStorageProvider"); dojo.require("dojox.flash"); dojo.require("dojox.storage.manager"); dojo.require("dojox.storage.Provider"); // summary: // Storage provider that uses features in Flash to achieve permanent // storage // description: // Authors of this storage provider- // Brad Neuberg, bkn3@columbia.edu dojo.declare("dojox.storage.FlashStorageProvider", dojox.storage.Provider, { initialized: false, _available: null, _statusHandler: null, _flashReady: false, _pageReady: false, initialize: function(){ //console.debug("FlashStorageProvider.initialize"); if(dojo.config["disableFlashStorage"] == true){ return; } // initialize our Flash dojox.flash.addLoadedListener(dojo.hitch(this, function(){ //console.debug("flashReady"); // indicate our Flash subsystem is now loaded this._flashReady = true; if(this._flashReady && this._pageReady){ this._loaded(); } })); var swfLoc = dojo.moduleUrl("dojox", "storage/Storage.swf").toString(); dojox.flash.setSwf(swfLoc, false); // wait till page is finished loading dojo.connect(dojo, "loaded", this, function(){ //console.debug("pageReady"); this._pageReady = true; if(this._flashReady && this._pageReady){ this._loaded(); } }); }, // Set a new value for the flush delay timer. // Possible values: // 0 : Perform the flush synchronously after each "put" request // > 0 : Wait until 'newDelay' ms have passed without any "put" request to flush // -1 : Do not automatically flush setFlushDelay: function(newDelay){ if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay)); }, getFlushDelay: function(){ return Number(dojox.flash.comm.getFlushDelay()); }, flush: function(namespace){ //FIXME: is this test necessary? Just use !namespace if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } dojox.flash.comm.flush(namespace);";s:7:"summary";s:0:"";}s:46:"dojox.storage.FlashStorageProvider.isAvailable";a:4:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";s:4:"type";s:8:"Function";s:6:"source";s:66:" return (this._available = !dojo.config["disableFlashStorage"]);";s:7:"summary";s:0:"";}s:38:"dojox.storage.FlashStorageProvider.put";a:5:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";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:576:" if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } dojox.flash.comm.put(key, value, namespace);";s:7:"summary";s:0:"";}s:46:"dojox.storage.FlashStorageProvider.putMultiple";a:5:{s:9:"prototype";s:34:"dojox.storage.FlashStorageProvider";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:922:" if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // Convert the arguments on strings we can pass along to Flash var metaKey = keys.join(","); var lengths = []; for(var i=0;i 0 : Wait until 'newDelay' ms have passed without any "put" request to flush // -1 : Do not automatically flush setFlushDelay: function(newDelay){ if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay)); }, getFlushDelay: function(){ return Number(dojox.flash.comm.getFlushDelay()); }, flush: function(namespace){ //FIXME: is this test necessary? Just use !namespace if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } dojox.flash.comm.flush(namespace); }, isAvailable: function(){ return (this._available = !dojo.config["disableFlashStorage"]); }, put: function(key, value, resultsHandler, namespace){ if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } dojox.flash.comm.put(key, value, namespace); }, putMultiple: function(keys, values, resultsHandler, namespace){ if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // Convert the arguments on strings we can pass along to Flash var metaKey = keys.join(","); var lengths = []; for(var i=0;i 0 : Wait until 'newDelay' ms have passed without any "put" request to flush // -1 : Do not automatically flush setFlushDelay: function(newDelay){ if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay)); }, getFlushDelay: function(){ return Number(dojox.flash.comm.getFlushDelay()); }, flush: function(namespace){ //FIXME: is this test necessary? Just use !namespace if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } dojox.flash.comm.flush(namespace); }, isAvailable: function(){ return (this._available = !dojo.config["disableFlashStorage"]); }, put: function(key, value, resultsHandler, namespace){ if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } dojox.flash.comm.put(key, value, namespace); }, putMultiple: function(keys, values, resultsHandler, namespace){ if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // Convert the arguments on strings we can pass along to Flash var metaKey = keys.join(","); var lengths = []; for(var i=0;i 0 : Wait until 'newDelay' ms have passed without any "put" request to flush // -1 : Do not automatically flush setFlushDelay: function(newDelay){ if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay)); }, getFlushDelay: function(){ return Number(dojox.flash.comm.getFlushDelay()); }, flush: function(namespace){ //FIXME: is this test necessary? Just use !namespace if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } dojox.flash.comm.flush(namespace); }, isAvailable: function(){ return (this._available = !dojo.config["disableFlashStorage"]); }, put: function(key, value, resultsHandler, namespace){ if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } dojox.flash.comm.put(key, value, namespace); }, putMultiple: function(keys, values, resultsHandler, namespace){ if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // Convert the arguments on strings we can pass along to Flash var metaKey = keys.join(","); var lengths = []; for(var i=0;i 0 : Wait until 'newDelay' ms have passed without any "put" request to flush // -1 : Do not automatically flush setFlushDelay: function(newDelay){ if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){ throw new Error("Invalid argunment: " + newDelay); } dojox.flash.comm.setFlushDelay(String(newDelay)); }, getFlushDelay: function(){ return Number(dojox.flash.comm.getFlushDelay()); }, flush: function(namespace){ //FIXME: is this test necessary? Just use !namespace if(namespace == null || typeof namespace == "undefined"){ namespace = dojox.storage.DEFAULT_NAMESPACE; } dojox.flash.comm.flush(namespace); }, isAvailable: function(){ return (this._available = !dojo.config["disableFlashStorage"]); }, put: function(key, value, resultsHandler, namespace){ if(!this.isValidKey(key)){ throw new Error("Invalid key given: " + key); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // serialize the value; // handle strings differently so they have better performance if(dojo.isString(value)){ value = "string:" + value; }else{ value = dojo.toJson(value); } dojox.flash.comm.put(key, value, namespace); }, putMultiple: function(keys, values, resultsHandler, namespace){ if(!this.isValidKeyArray(keys) || ! values instanceof Array || keys.length != values.length){ throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]"); } if(!namespace){ namespace = dojox.storage.DEFAULT_NAMESPACE; } if(!this.isValidKey(namespace)){ throw new Error("Invalid namespace given: " + namespace); } this._statusHandler = resultsHandler; // Convert the arguments on strings we can pass along to Flash var metaKey = keys.join(","); var lengths = []; for(var i=0;i