/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.require("dojo.storage"); dojo.require("dojo.json"); dojo.provide("dojo.storage.dashboard"); dojo.storage.dashboard.StorageProvider = function(){ this.initialized = false; } dojo.inherits(dojo.storage.dashboard.StorageProvider, dojo.storage.StorageProvider); dojo.lang.extend(dojo.storage.dashboard.StorageProvider, { storageOnLoad: function(){ this.initialized = true; }, set: function(key, value, ns){ if (ns && widget.system){ widget.system("/bin/mkdir " + ns); var system = widget.system("/bin/echo " + value + " >" + ns + "/" + key); if(system.errorString){ return false; } return true; } return widget.setPreferenceForKey(dojo.json.serialize(value), key); }, get: function(key, ns){ if (ns && widget.system) { var system = widget.system("/bin/cat " + ns + "/" + key); if(system.errorString){ return ""; } return system.outputString; } return dojo.json.evalJson(widget.preferenceForKey(key)); } }); dojo.storage.setProvider(new dojo.storage.dashboard.StorageProvider());