# HG changeset patch # User Matthew Wild # Date 1266075262 0 # Node ID 39a2e8ff0b0f254b7672da58ee26f22cca21fc69 # Parent cb1f9266130bf4196a888828b105bd713c25263a Backed out changeset cb1f9266130b: better way to achieve this to be committed Real Soon Now. diff -r cb1f9266130b -r 39a2e8ff0b0f util/datamanager.lua --- a/util/datamanager.lua Thu Feb 11 05:21:03 2010 +0500 +++ b/util/datamanager.lua Sat Feb 13 15:34:22 2010 +0000 @@ -60,9 +60,7 @@ ------- API ------------- -local _set_data_path; function set_data_path(path) - if _set_data_path then return _set_data_path(path); end log("debug", "Setting data path to: %s", path); data_path = path; end @@ -75,18 +73,14 @@ return username, host, datastore, data; end -local _add_callback; function add_callback(func) - if _add_callback then return _add_callback(func); end if not callbacks[func] then -- Would you really want to set the same callback more than once? callbacks[func] = true; callbacks[#callbacks+1] = func; return true; end end -local _remove_callback; function remove_callback(func) - if _remove_callback then return _remove_callback(func); end if callbacks[func] then for i, f in ipairs(callbacks) do if f == func then @@ -98,9 +92,7 @@ end end -local _getpath; function getpath(username, host, datastore, ext, create) - if _getpath then return _getpath(username, host, datastore, ext, create); end ext = ext or "dat"; host = (host and encode(host)) or "_global"; username = username and encode(username); @@ -116,9 +108,7 @@ end end -local _load; function load(username, host, datastore) - if _load then return _load(username, host, datastore); end local data, ret = loadfile(getpath(username, host, datastore)); if not data then log("debug", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); @@ -133,9 +123,7 @@ return ret; end -local _store; function store(username, host, datastore, data) - if _store then return _store(username, host, datastore, data); end if not data then data = {}; end @@ -163,9 +151,7 @@ return true; end -local _list_append; function list_append(username, host, datastore, data) - if _list_append then return _list_append(username, host, datastore, data); end if not data then return; end if callback(username, host, datastore) == false then return true; end -- save the datastore @@ -181,9 +167,7 @@ return true; end -local _list_store; function list_store(username, host, datastore, data) - if _list_store then return _list_store(username, host, datastore, data); end if not data then data = {}; end @@ -209,9 +193,7 @@ return true; end -local _list_load; function list_load(username, host, datastore) - if _list_load then return _list_load(username, host, datastore); end local data, ret = loadfile(getpath(username, host, datastore, "list")); if not data then log("debug", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..(username or "nil").."@"..(host or "nil")); @@ -227,29 +209,4 @@ return items; end -function set(t) - _set_data_path = t.set_data_path; - _add_callback = t.add_callback; - _remove_callback = t.remove_callback; - _getpath = t.getpath; - _load = t.load; - _store = t.store; - _list_append = t.list_append; - _list_store = t.list_store; - _list_load = t.list_load; -end -function get() - return { - set_data_path = _set_data_path; - add_callback = _add_callback; - remove_callback = _remove_callback; - getpath = _getpath; - load = _load; - store = _store; - list_append = _list_append; - list_store = _list_store; - list_load = _list_load; - }; -end - return _M;