libs/core, libs/uci, libs/web: Fixed several inline documentation typos
[project/luci.git] / libs / uci / luasrc / model / uci.lua
index 20bc0495c2c26310fa97194133efecc7ca601dc5..02bcbe99c90aaddc65cfcf88ec7dbc9ee896da04 100644 (file)
@@ -27,7 +27,9 @@ local uci  = require("uci")
 local util = require("luci.util")
 local setmetatable, rawget, rawset = setmetatable, rawget, rawset
 local error, pairs, ipairs, tostring = error, pairs, ipairs, tostring
 local util = require("luci.util")
 local setmetatable, rawget, rawset = setmetatable, rawget, rawset
 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"
 module("luci.model.uci", function(m) setmetatable(m, {__index = uci}) end)
 
 savedir_default = "/tmp/.uci"
@@ -35,21 +37,32 @@ confdir_default = "/etc/config"
 
 savedir_state = "/var/state"
 
 
 savedir_state = "/var/state"
 
+--- Delete all sections of a given type that match certain criteria.
+-- @param config               UCI config
+-- @param type                 UCI section type
+-- @param comparator   Function that will be called for each section and
+-- returns a boolean whether to delete the current section (optional)
 function delete_all(config, type, comparator)
        local del = {}
 function delete_all(config, type, comparator)
        local del = {}
-       
-       foreach(config, type,
-               function (section)
+       local function helper (section)
                        if not comparator or comparator(section) then
                                table.insert(del, section[".name"])
                        end
                        if not comparator or comparator(section) then
                                table.insert(del, section[".name"])
                        end
-               end)
-               
+       end
+       
+       foreach(config, type, helper)
+       
        for i, j in ipairs(del) do
        for i, j in ipairs(del) do
-               uci.delete(config, j)
+               delete(config, j)
        end
 end
 
        end
 end
 
+--- Create a new section and initialize it with data.
+-- @param config       UCI config
+-- @param type         UCI section type
+-- @param name         UCI section name (optional)
+-- @param values       Table of key - value pairs to initialize the section with
+-- @return                     Name of created section
 function section(config, type, name, values)
        local stat = true
        if name then
 function section(config, type, name, values)
        local stat = true
        if name then
@@ -66,6 +79,21 @@ function section(config, type, name, values)
        return stat and name
 end
 
        return stat and name
 end
 
+--- Get a certain state value.
+-- @param ...  Parameters passed to function get
+-- @return             UCI value
+-- @see                        get
+function get_statevalue(...)
+       set_savedir(savedir_state)
+       local result = get(...)
+       set_savedir(savedir_default)
+       return result
+end
+
+--- Updated the data of a section using data from a table.
+-- @param config       UCI config
+-- @param section      UCI section name (optional)
+-- @param values       Table of key - value pairs to update the section with
 function tset(config, section, values)
        local stat = true
        for k, v in pairs(values) do
 function tset(config, section, values)
        local stat = true
        for k, v in pairs(values) do
@@ -74,3 +102,107 @@ function tset(config, section, values)
                end
        end
 end
                end
        end
 end
+
+
+--- Add an anonymous section.
+-- @class function
+-- @name add
+-- @param config       UCI config
+-- @param type         UCI section type
+-- @return                     Name of created section
+
+--- Get a table of unsaved changes.
+-- @class function
+-- @name changes
+-- @param config       UCI config
+-- @return                     Table of changes
+
+--- Commit unsaved changes.
+-- @class function
+-- @name commit
+-- @param config       UCI config
+-- @return                     Boolean whether operation succeeded
+-- @see revert
+
+--- Deletes a section or an option.
+-- @class function
+-- @name delete
+-- @param config       UCI config
+-- @param section      UCI section name
+-- @param option       UCI option (optional)
+-- @return                     Boolean whether operation succeeded
+
+--- Call a function for every section of a certain type.
+-- @class function
+-- @name foreach
+-- @param config       UCI config
+-- @param type         UCI section type
+-- @param callback     Function to be called
+-- @return                     Boolean whether operation succeeded
+
+--- Get a section type or an option
+-- @class function
+-- @name get
+-- @param config       UCI config
+-- @param section      UCI section name
+-- @param option       UCI option (optional)
+-- @return                     UCI value
+
+--- Get all sections of a config or all values of a section.
+-- @class function
+-- @name get_all
+-- @param config       UCI config
+-- @param section      UCI section name (optional)
+-- @return                     Table of UCI sections or table of UCI values
+
+--- Manually load a config.
+-- @class function
+-- @name load
+-- @param config       UCI config
+-- @return                     Boolean whether operation succeeded
+-- @see save
+-- @see unload
+
+--- Revert unsaved changes.
+-- @class function
+-- @name revert
+-- @param config       UCI config
+-- @return                     Boolean whether operation succeeded
+-- @see commit
+
+--- Saves changes made to a config to make them committable.
+-- @class function
+-- @name save
+-- @param config       UCI config
+-- @return                     Boolean whether operation succeeded
+-- @see load
+-- @see unload
+
+--- Set a value or create a named section.
+-- @class function
+-- @name set
+-- @param config       UCI config
+-- @param section      UCI section name
+-- @param option       UCI option or UCI section type
+-- @param value                UCI value or nil if you want to create a section
+-- @return                     Boolean whether operation succeeded
+
+--- Set the configuration directory.
+-- @class function
+-- @name set_confdir
+-- @param directory    UCI configuration directory
+-- @return                     Boolean whether operation succeeded
+
+--- Set the directory for uncommited changes.
+-- @class function
+-- @name set_savedir
+-- @param directory    UCI changes directory
+-- @return                     Boolean whether operation succeeded
+
+--- Discard changes made to a config.
+-- @class function
+-- @name unload
+-- @param config       UCI config
+-- @return                     Boolean whether operation succeeded
+-- @see load
+-- @see save