blob: 91eaa84e7dca785b266d536687471fd136734fe7 [file] [log] [blame]
/*
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());