summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/luasrc/model/uci.lua
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2015-01-29 16:26:15 +0100
committerJo-Philipp Wich <jow@openwrt.org>2015-01-29 16:26:46 +0100
commit84346cd178ca0740817edc6f81d8f90e7bc6e00c (patch)
treedd8f6dbb041a2813ac5d91571cdac0b3dc004f1a /modules/luci-base/luasrc/model/uci.lua
parentcf7e2695cc676dff02561a1a45d6de8140170b17 (diff)
Move inline documentation into separate files.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'modules/luci-base/luasrc/model/uci.lua')
-rw-r--r--modules/luci-base/luasrc/model/uci.lua179
1 files changed, 15 insertions, 164 deletions
diff --git a/modules/luci-base/luasrc/model/uci.lua b/modules/luci-base/luasrc/model/uci.lua
index 8ac82773f3..1659137742 100644
--- a/modules/luci-base/luasrc/model/uci.lua
+++ b/modules/luci-base/luasrc/model/uci.lua
@@ -12,26 +12,18 @@ local require, getmetatable = require, getmetatable
local error, pairs, ipairs = error, pairs, ipairs
local type, tostring, tonumber, unpack = type, tostring, tonumber, unpack
---- LuCI UCI model library.
-- The typical workflow for UCI is: Get a cursor instance from the
-- cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
-- save the changes to the staging area via Cursor.save and finally
-- Cursor.commit the data to the actual config files.
-- LuCI then needs to Cursor.apply the changes so deamons etc. are
-- reloaded.
--- @cstyle instance
module "luci.model.uci"
---- Create a new UCI-Cursor.
--- @class function
--- @name cursor
--- @return UCI-Cursor
cursor = uci.cursor
APIVERSION = uci.APIVERSION
---- Create a new Cursor initialized to the state directory.
--- @return UCI cursor
function cursor_state()
return cursor(nil, "/var/state")
end
@@ -42,9 +34,6 @@ inst_state = cursor_state()
local Cursor = getmetatable(inst)
---- Applies UCI configuration changes
--- @param configlist List of UCI configurations
--- @param command Don't apply only return the command
function Cursor.apply(self, configlist, command)
configlist = self:_affected(configlist)
if command then
@@ -56,10 +45,6 @@ function Cursor.apply(self, configlist, command)
end
---- 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 Cursor.delete_all(self, config, stype, comparator)
local del = {}
@@ -90,12 +75,6 @@ function Cursor.delete_all(self, config, stype, comparator)
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 Cursor.section(self, config, type, name, values)
local stat = true
if name then
@@ -112,10 +91,6 @@ function Cursor.section(self, config, type, name, values)
return stat and name
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 Cursor.tset(self, config, section, values)
local stat = true
for k, v in pairs(values) do
@@ -126,21 +101,11 @@ function Cursor.tset(self, config, section, values)
return stat
end
---- Get a boolean option and return it's value as true or false.
--- @param config UCI config
--- @param section UCI section name
--- @param option UCI option
--- @return Boolean
function Cursor.get_bool(self, ...)
local val = self:get(...)
return ( val == "1" or val == "true" or val == "yes" or val == "on" )
end
---- Get an option or list and return values as table.
--- @param config UCI config
--- @param section UCI section name
--- @param option UCI option
--- @return UCI value
function Cursor.get_list(self, config, section, option)
if config and section and option then
local val = self:get(config, section, option)
@@ -149,12 +114,6 @@ function Cursor.get_list(self, config, section, option)
return nil
end
---- Get the given option from the first section with the given type.
--- @param config UCI config
--- @param type UCI section type
--- @param option UCI option (optional)
--- @param default Default value (optional)
--- @return UCI value
function Cursor.get_first(self, conf, stype, opt, def)
local rv = def
@@ -178,12 +137,6 @@ function Cursor.get_first(self, conf, stype, opt, def)
return rv
end
---- Set given values as list.
--- @param config UCI config
--- @param section UCI section name
--- @param option UCI option
--- @param value UCI value
--- @return Boolean whether operation succeeded
function Cursor.set_list(self, config, section, option, value)
if config and section and option then
return self:set(
@@ -238,10 +191,8 @@ function Cursor._affected(self, configlist)
return reloadlist
end
---- Create a sub-state of this cursor. The sub-state is tied to the parent
-- curser, means it the parent unloads or loads configs, the sub state will
-- do so as well.
--- @return UCI state cursor tied to the parent cursor
function Cursor.substate(self)
Cursor._substates = Cursor._substates or { }
Cursor._substates[self] = Cursor._substates[self] or cursor_state()
@@ -265,118 +216,18 @@ function Cursor.unload(self, ...)
end
---- Add an anonymous section.
--- @class function
--- @name Cursor.add
--- @param config UCI config
--- @param type UCI section type
--- @return Name of created section
-
---- Get a table of saved but uncommitted changes.
--- @class function
--- @name Cursor.changes
--- @param config UCI config
--- @return Table of changes
--- @see Cursor.save
-
---- Commit saved changes.
--- @class function
--- @name Cursor.commit
--- @param config UCI config
--- @return Boolean whether operation succeeded
--- @see Cursor.revert
--- @see Cursor.save
-
---- Deletes a section or an option.
--- @class function
--- @name Cursor.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 Cursor.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 Cursor.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 Cursor.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 Cursor.load
--- @param config UCI config
--- @return Boolean whether operation succeeded
--- @see Cursor.save
--- @see Cursor.unload
-
---- Revert saved but uncommitted changes.
--- @class function
--- @name Cursor.revert
--- @param config UCI config
--- @return Boolean whether operation succeeded
--- @see Cursor.commit
--- @see Cursor.save
-
---- Saves changes made to a config to make them committable.
--- @class function
--- @name Cursor.save
--- @param config UCI config
--- @return Boolean whether operation succeeded
--- @see Cursor.load
--- @see Cursor.unload
-
---- Set a value or create a named section.
--- @class function
--- @name Cursor.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
-
---- Get the configuration directory.
--- @class function
--- @name Cursor.get_confdir
--- @return Configuration directory
-
---- Get the directory for uncomitted changes.
--- @class function
--- @name Cursor.get_savedir
--- @return Save directory
-
---- Set the configuration directory.
--- @class function
--- @name Cursor.set_confdir
--- @param directory UCI configuration directory
--- @return Boolean whether operation succeeded
-
---- Set the directory for uncommited changes.
--- @class function
--- @name Cursor.set_savedir
--- @param directory UCI changes directory
--- @return Boolean whether operation succeeded
-
---- Discard changes made to a config.
--- @class function
--- @name Cursor.unload
--- @param config UCI config
--- @return Boolean whether operation succeeded
--- @see Cursor.load
--- @see Cursor.save
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+