<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Reference</title> <link rel="stylesheet" href="../luadoc.css" type="text/css" /> <!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/--> </head> <body> <div id="container"> <div id="product"> <div id="product_logo"></div> <div id="product_name"><big><b></b></big></div> <div id="product_description"></div> </div> <!-- id="product" --> <div id="main"> <div id="navigation"> <h1>LuaDoc</h1> <ul> <li><a href="../index.html">Index</a></li> </ul> <!-- Module list --> <h1>Modules</h1> <ul> <li> <a href="../modules/luci.dispatcher.html">luci.dispatcher</a> </li> <li> <a href="../modules/luci.http.html">luci.http</a> </li> <li> <a href="../modules/luci.http.protocol.html">luci.http.protocol</a> </li> <li> <a href="../modules/luci.http.protocol.conditionals.html">luci.http.protocol.conditionals</a> </li> <li> <a href="../modules/luci.http.protocol.date.html">luci.http.protocol.date</a> </li> <li> <a href="../modules/luci.http.protocol.mime.html">luci.http.protocol.mime</a> </li> <li> <a href="../modules/luci.i18n.html">luci.i18n</a> </li> <li> <a href="../modules/luci.ip.html">luci.ip</a> </li> <li> <a href="../modules/luci.ip.cidr.html">luci.ip.cidr</a> </li> <li> <a href="../modules/luci.json.html">luci.json</a> </li> <li> <a href="../modules/luci.jsonc.html">luci.jsonc</a> </li> <li> <a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</a> </li> <li> <a href="../modules/luci.model.ipkg.html">luci.model.ipkg</a> </li> <li><strong>luci.model.uci</strong></li> <li> <a href="../modules/luci.rpcc.html">luci.rpcc</a> </li> <li> <a href="../modules/luci.rpcc.ruci.html">luci.rpcc.ruci</a> </li> <li> <a href="../modules/luci.sys.html">luci.sys</a> </li> <li> <a href="../modules/luci.sys.init.html">luci.sys.init</a> </li> <li> <a href="../modules/luci.sys.iptparser.html">luci.sys.iptparser</a> </li> <li> <a href="../modules/luci.sys.net.html">luci.sys.net</a> </li> <li> <a href="../modules/luci.sys.process.html">luci.sys.process</a> </li> <li> <a href="../modules/luci.sys.user.html">luci.sys.user</a> </li> <li> <a href="../modules/luci.sys.wifi.html">luci.sys.wifi</a> </li> <li> <a href="../modules/luci.util.html">luci.util</a> </li> <li> <a href="../modules/nixio.html">nixio</a> </li> <li> <a href="../modules/nixio.CHANGELOG.html">nixio.CHANGELOG</a> </li> <li> <a href="../modules/nixio.CryptoHash.html">nixio.CryptoHash</a> </li> <li> <a href="../modules/nixio.File.html">nixio.File</a> </li> <li> <a href="../modules/nixio.README.html">nixio.README</a> </li> <li> <a href="../modules/nixio.Socket.html">nixio.Socket</a> </li> <li> <a href="../modules/nixio.TLSContext.html">nixio.TLSContext</a> </li> <li> <a href="../modules/nixio.TLSSocket.html">nixio.TLSSocket</a> </li> <li> <a href="../modules/nixio.UnifiedIO.html">nixio.UnifiedIO</a> </li> <li> <a href="../modules/nixio.bin.html">nixio.bin</a> </li> <li> <a href="../modules/nixio.bit.html">nixio.bit</a> </li> <li> <a href="../modules/nixio.crypto.html">nixio.crypto</a> </li> <li> <a href="../modules/nixio.fs.html">nixio.fs</a> </li> </ul> <!-- File list --> </div><!-- id="navigation" --> <div id="content"> <h1>Object Instance <code>luci.model.uci</code></h1> <p></p> <h2>Functions</h2> <table class="function_list"> <tr> <td class="name" nowrap><a href="#Cursor.add">Cursor:add</a> (config, type)</td> <td class="summary"> Add an anonymous section.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.apply">Cursor:apply</a> (configlist, command)</td> <td class="summary"> Applies UCI configuration changes </td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.changes">Cursor:changes</a> (config)</td> <td class="summary"> Get a table of saved but uncommitted changes.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.commit">Cursor:commit</a> (config)</td> <td class="summary"> Commit saved changes.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.delete">Cursor:delete</a> (config, section, option)</td> <td class="summary"> Deletes a section or an option.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.delete_all">Cursor:delete_all</a> (config, type, comparator)</td> <td class="summary"> Delete all sections of a given type that match certain criteria.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.foreach">Cursor:foreach</a> (config, type, callback)</td> <td class="summary"> Call a function for every section of a certain type.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get">Cursor:get</a> (config, section, option)</td> <td class="summary"> Get a section type or an option </td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_all">Cursor:get_all</a> (config, section)</td> <td class="summary"> Get all sections of a config or all values of a section.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_bool">Cursor:get_bool</a> (config, section, option)</td> <td class="summary"> Get a boolean option and return it's value as true or false.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_confdir">Cursor:get_confdir</a> ()</td> <td class="summary"> Get the configuration directory.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_first">Cursor:get_first</a> (config, type, option, default)</td> <td class="summary"> Get the given option from the first section with the given type.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_list">Cursor:get_list</a> (config, section, option)</td> <td class="summary"> Get an option or list and return values as table.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.get_savedir">Cursor:get_savedir</a> ()</td> <td class="summary"> Get the directory for uncomitted changes.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.load">Cursor:load</a> (config)</td> <td class="summary"> Manually load a config.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.revert">Cursor:revert</a> (config)</td> <td class="summary"> Revert saved but uncommitted changes.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.save">Cursor:save</a> (config)</td> <td class="summary"> Saves changes made to a config to make them committable.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.section">Cursor:section</a> (config, type, name, values)</td> <td class="summary"> Create a new section and initialize it with data.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.set">Cursor:set</a> (config, section, option, value)</td> <td class="summary"> Set a value or create a named section.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.set_confdir">Cursor:set_confdir</a> (directory)</td> <td class="summary"> Set the configuration directory.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.set_list">Cursor:set_list</a> (config, section, option, value)</td> <td class="summary"> Set given values as list.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.set_savedir">Cursor:set_savedir</a> (directory)</td> <td class="summary"> Set the directory for uncommited changes.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.substate">Cursor:substate</a> ()</td> <td class="summary"> Create a sub-state of this cursor.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.tset">Cursor:tset</a> (config, section, values)</td> <td class="summary"> Updated the data of a section using data from a table.</td> </tr> <tr> <td class="name" nowrap><a href="#Cursor.unload">Cursor:unload</a> (config)</td> <td class="summary"> Discard changes made to a config.</td> </tr> <tr> <td class="name" nowrap><a href="#cursor">cursor</a> ()</td> <td class="summary"> Create a new UCI-Cursor.</td> </tr> <tr> <td class="name" nowrap><a href="#cursor_state">cursor_state</a> ()</td> <td class="summary"> Create a new Cursor initialized to the state directory.</td> </tr> </table> <br/> <br/> <h2><a name="functions"></a>Functions</h2> <dl class="function"> <dt><a name="Cursor.add"></a><strong>Cursor:add</strong> (config, type)</dt> <dd> Add an anonymous section. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> type: UCI section type </li> </ul> <h3>Return value:</h3> Name of created section </dd> <dt><a name="Cursor.apply"></a><strong>Cursor:apply</strong> (configlist, command)</dt> <dd> Applies UCI configuration changes <h3>Parameters</h3> <ul> <li> configlist: List of UCI configurations </li> <li> command: Don't apply only return the command </li> </ul> </dd> <dt><a name="Cursor.changes"></a><strong>Cursor:changes</strong> (config)</dt> <dd> Get a table of saved but uncommitted changes. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Table of changes <h3>See also:</h3> <ul> <li><a href="#Cursor.save"> Cursor:save </a> </ul> </dd> <dt><a name="Cursor.commit"></a><strong>Cursor:commit</strong> (config)</dt> <dd> Commit saved changes. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded <h3>See also:</h3> <ul> <li><a href="#Cursor.revert"> Cursor:revert </a> <li><a href="#Cursor.save"> Cursor:save </a> </ul> </dd> <dt><a name="Cursor.delete"></a><strong>Cursor:delete</strong> (config, section, option)</dt> <dd> Deletes a section or an option. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option (optional) </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.delete_all"></a><strong>Cursor:delete_all</strong> (config, type, comparator)</dt> <dd> Delete all sections of a given type that match certain criteria. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> type: UCI section type </li> <li> comparator: Function that will be called for each section and returns a boolean whether to delete the current section (optional) </li> </ul> </dd> <dt><a name="Cursor.foreach"></a><strong>Cursor:foreach</strong> (config, type, callback)</dt> <dd> Call a function for every section of a certain type. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> type: UCI section type </li> <li> callback: Function to be called </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.get"></a><strong>Cursor:get</strong> (config, section, option)</dt> <dd> Get a section type or an option <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option (optional) </li> </ul> <h3>Return value:</h3> UCI value </dd> <dt><a name="Cursor.get_all"></a><strong>Cursor:get_all</strong> (config, section)</dt> <dd> Get all sections of a config or all values of a section. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name (optional) </li> </ul> <h3>Return value:</h3> Table of UCI sections or table of UCI values </dd> <dt><a name="Cursor.get_bool"></a><strong>Cursor:get_bool</strong> (config, section, option)</dt> <dd> Get a boolean option and return it's value as true or false. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option </li> </ul> <h3>Return value:</h3> Boolean </dd> <dt><a name="Cursor.get_confdir"></a><strong>Cursor:get_confdir</strong> ()</dt> <dd> Get the configuration directory. <h3>Return value:</h3> Configuration directory </dd> <dt><a name="Cursor.get_first"></a><strong>Cursor:get_first</strong> (config, type, option, default)</dt> <dd> Get the given option from the first section with the given type. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> type: UCI section type </li> <li> option: UCI option (optional) </li> <li> default: Default value (optional) </li> </ul> <h3>Return value:</h3> UCI value </dd> <dt><a name="Cursor.get_list"></a><strong>Cursor:get_list</strong> (config, section, option)</dt> <dd> Get an option or list and return values as table. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option </li> </ul> <h3>Return value:</h3> table. If the option was not found, you will simply get an empty table. </dd> <dt><a name="Cursor.get_savedir"></a><strong>Cursor:get_savedir</strong> ()</dt> <dd> Get the directory for uncomitted changes. <h3>Return value:</h3> Save directory </dd> <dt><a name="Cursor.load"></a><strong>Cursor:load</strong> (config)</dt> <dd> Manually load a config. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded <h3>See also:</h3> <ul> <li><a href="#Cursor.save"> Cursor:save </a> <li><a href="#Cursor.unload"> Cursor:unload </a> </ul> </dd> <dt><a name="Cursor.revert"></a><strong>Cursor:revert</strong> (config)</dt> <dd> Revert saved but uncommitted changes. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded <h3>See also:</h3> <ul> <li><a href="#Cursor.commit"> Cursor:commit </a> <li><a href="#Cursor.save"> Cursor:save </a> </ul> </dd> <dt><a name="Cursor.save"></a><strong>Cursor:save</strong> (config)</dt> <dd> Saves changes made to a config to make them committable. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded <h3>See also:</h3> <ul> <li><a href="#Cursor.load"> Cursor:load </a> <li><a href="#Cursor.unload"> Cursor:unload </a> </ul> </dd> <dt><a name="Cursor.section"></a><strong>Cursor:section</strong> (config, type, name, values)</dt> <dd> Create a new section and initialize it with data. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> type: UCI section type </li> <li> name: UCI section name (optional) </li> <li> values: Table of key - value pairs to initialize the section with </li> </ul> <h3>Return value:</h3> Name of created section </dd> <dt><a name="Cursor.set"></a><strong>Cursor:set</strong> (config, section, option, value)</dt> <dd> Set a value or create a named section. When invoked with three arguments <code>config</code>, <code>sectionname</code>, <code>sectiontype</code>, then a named section of the given type is created. When invoked with four arguments <code>config</code>, <code>sectionname</code>, <code>optionname</code> and <code>optionvalue</code> then the value of the specified option is set to the given value. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option or UCI section type </li> <li> value: UCI value or nothing if you want to create a section </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.set_confdir"></a><strong>Cursor:set_confdir</strong> (directory)</dt> <dd> Set the configuration directory. <h3>Parameters</h3> <ul> <li> directory: UCI configuration directory </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.set_list"></a><strong>Cursor:set_list</strong> (config, section, option, value)</dt> <dd> Set given values as list. Setting a list option to an empty list has the same effect as deleting the option. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name </li> <li> option: UCI option </li> <li> value: value or table. Raw values will become a single item table. </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.set_savedir"></a><strong>Cursor:set_savedir</strong> (directory)</dt> <dd> Set the directory for uncommited changes. <h3>Parameters</h3> <ul> <li> directory: UCI changes directory </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded </dd> <dt><a name="Cursor.substate"></a><strong>Cursor:substate</strong> ()</dt> <dd> 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. <h3>Return value:</h3> UCI state cursor tied to the parent cursor </dd> <dt><a name="Cursor.tset"></a><strong>Cursor:tset</strong> (config, section, values)</dt> <dd> Updated the data of a section using data from a table. <h3>Parameters</h3> <ul> <li> config: UCI config </li> <li> section: UCI section name (optional) </li> <li> values: Table of key - value pairs to update the section with </li> </ul> </dd> <dt><a name="Cursor.unload"></a><strong>Cursor:unload</strong> (config)</dt> <dd> Discard changes made to a config. <h3>Parameters</h3> <ul> <li> config: UCI config </li> </ul> <h3>Return value:</h3> Boolean whether operation succeeded <h3>See also:</h3> <ul> <li><a href="#Cursor.load"> Cursor:load </a> <li><a href="#Cursor.save"> Cursor:save </a> </ul> </dd> <dt><a name="cursor"></a><strong>cursor</strong> ()</dt> <dd> Create a new UCI-Cursor. <h3>Return value:</h3> UCI-Cursor </dd> <dt><a name="cursor_state"></a><strong>cursor_state</strong> ()</dt> <dd> Create a new Cursor initialized to the state directory. <h3>Return value:</h3> UCI cursor </dd> </dl> </div> <!-- id="content" --> </div> <!-- id="main" --> <div id="about"> <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p> </div> <!-- id="about" --> </div> <!-- id="container" --> </body> </html>