local error, pairs, ipairs, tostring = error, pairs, ipairs, tostring
local table = table
+--- LuCI UCI model library.
module("luci.model.uci", function(m) setmetatable(m, {__index = uci}) end)
savedir_default = "/tmp/.uci"
return stat and name
end
---- Get a certain state value.
--- @param ... Parameters passed to function get
--- @return UCI value
--- @see get
-function get_statevalue(...)
+--- Savely load the configuration.
+-- @param config Configuration to load
+-- @return Sucess status
+-- @see load_state
+-- @see load
+function load_config(...)
+ set_confdir(confdir_default)
+ set_savedir(savedir_default)
+ return load(...)
+end
+
+--- Savely load state values.
+-- @param config Configuration to load
+-- @return Sucess status
+-- @see load_config
+-- @see load
+function load_state(config)
+ set_confdir(confdir_default)
set_savedir(savedir_state)
- local result = get(...)
+ return load(config)
+end
+
+--- Save changes to config values.
+-- @param config Configuration to save
+-- @return Sucess status
+-- @see save_state
+-- @see save
+function save_config(config)
set_savedir(savedir_default)
- return result
+ return save(config)
+end
+
+--- Save changes to state values.
+-- @param config Configuration to save
+-- @return Sucess status
+-- @see save_config
+-- @see save
+function save_state(config)
+ set_savedir(savedir_state)
+ return save(config)
end
--- Updated the data of a section using data from a table.
stat = stat and set(config, section, k, v)
end
end
+ return stat
end
-- @return Table of UCI sections or table of UCI values
--- Manually load a config.
+-- Warning: This function is unsave! You should use load_config or load_state if possible.
-- @class function
-- @name load
-- @param config UCI config
-- @return Boolean whether operation succeeded
+-- @see load_config
+-- @see load_state
-- @see save
-- @see unload
-- @see unload
--- Set a value or create a named section.
+-- Warning: This function is unsave! You should use save_config or save_state if possible.
-- @class function
-- @name set
-- @param config UCI config
-- @param config UCI config
-- @return Boolean whether operation succeeded
-- @see load
--- @see save
\ No newline at end of file
+-- @see save