luci-base: implement session handling in luci.model.uci
[project/luci.git] / modules / luci-base / luasrc / model / uci.luadoc
index 49093c7..ef89d09 100644 (file)
@@ -14,224 +14,226 @@ module "luci.model.uci"
 ---[[
 Create a new UCI-Cursor.
 
-@class function
-@name cursor
-@return        UCI-Cursor
+@class                         function
+@name                          cursor
+@return                                UCI-Cursor
 ]]
 
 ---[[
 Create a new Cursor initialized to the state directory.
 
-@class function
-@name cursor_state
-@return UCI cursor
+@class                         function
+@name                          cursor_state
+@return                                UCI cursor
 ]]
 
 ---[[
 Applies UCI configuration changes
 
-@class function
-@name Cursor.apply
-@param configlist              List of UCI configurations
-@param command                 Don't apply only return the command
+@class                         function
+@name                          Cursor.apply
+@param configlist      List of UCI configurations
+@param command         Don't apply only return the command
 ]]
 
 ---[[
 Delete all sections of a given type that match certain criteria.
 
-@class function
-@name Cursor.delete_all
+@class                         function
+@name                          Cursor.delete_all
 @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)
+@param comparator      Function that will be called for each section and returns
+                                       a boolean whether to delete the current section (optional)
 ]]
 
 ---[[
 Create a new section and initialize it with data.
 
-@class function
-@name Cursor.section
-@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
+@class                         function
+@name                          Cursor.section
+@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
 ]]
 
 ---[[
 Updated the data of a section using data from a table.
 
-@class function
-@name Cursor.tset
-@param config  UCI config
-@param section UCI section name (optional)
-@param values  Table of key - value pairs to update the section with
+@class                         function
+@name                          Cursor.tset
+@param config          UCI config
+@param section         UCI section name (optional)
+@param values          Table of key - value pairs to update the section with
 ]]
 
 ---[[
 Get a boolean option and return it's value as true or false.
 
-@class function
-@name Cursor.get_bool
-@param config  UCI config
-@param section UCI section name
-@param option  UCI option
-@return                        Boolean
+@class                         function
+@name                          Cursor.get_bool
+@param config          UCI config
+@param section         UCI section name
+@param option          UCI option
+@return                                Boolean
 ]]
 
 ---[[
 Get an option or list and return values as table.
 
-@class function
-@name Cursor.get_list
-@param config  UCI config
-@param section UCI section name
-@param option  UCI option
-@return                table.  If the option was not found, you will simply get
---             an empty table.
+@class                         function
+@name                          Cursor.get_list
+@param config          UCI config
+@param section         UCI section name
+@param option          UCI option
+@return table.         If the option was not found, you will simply get an empty
+                                       table.
 ]]
 
 ---[[
 Get the given option from the first section with the given type.
 
-@class function
-@name Cursor.get_first
-@param config  UCI config
-@param type            UCI section type
-@param option  UCI option (optional)
-@param default Default value (optional)
-@return                        UCI value
+@class                         function
+@name                          Cursor.get_first
+@param config          UCI config
+@param type                    UCI section type
+@param option          UCI option (optional)
+@param default         Default value (optional)
+@return                                UCI value
 ]]
 
 ---[[
 Set given values as list. Setting a list option to an empty list
 has the same effect as deleting the option.
 
-@class function
-@name Cursor.set_list
-@param config  UCI config
-@param section UCI section name
-@param option  UCI option
-@param value   value or table. Raw values will become a single item table.
-@return                        Boolean whether operation succeeded
+@class                         function
+@name                          Cursor.set_list
+@param config          UCI config
+@param section         UCI section name
+@param option          UCI option
+@param value           Value or table. Non-table values will be set as single
+                                       item UCI list.
+@return                                Boolean whether operation succeeded
 ]]
 
 ---[[
-Create a sub-state of this cursor. The sub-state is tied to the parent
+Create a sub-state of this cursor.
 
-curser, means it the parent unloads or loads configs, the sub state will
-do so as well.
-@class function
-@name Cursor.substate
-@return                        UCI state cursor tied to the parent 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.
+
+@class                         function
+@name                          Cursor.substate
+@return                                UCI state cursor tied to the parent cursor
 ]]
 
 ---[[
 Add an anonymous section.
 
-@class function
-@name Cursor.add
-@param config  UCI config
-@param type            UCI section type
-@return                        Name of created 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
+@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
+@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
+@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
+@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
+@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
+@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
+@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
+@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
+@class                         function
+@name                          Cursor.save
+@param config          UCI config
+@return                                Boolean whether operation succeeded
+@see                           Cursor.load
+@see                           Cursor.unload
 ]]
 
 ---[[
@@ -243,57 +245,74 @@ then a named section of the given type is created.
 When invoked with four arguments `config`, `sectionname`, `optionname` and
 `optionvalue` then the value of the specified option is set to the given value.
 
-@class function
-@name Cursor.set
-@param config  UCI config
-@param section UCI section name
-@param option  UCI option or UCI section type
+@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 nothing if you want to create a section
-@return                        Boolean whether operation succeeded
+@return                                Boolean whether operation succeeded
 ]]
 
 ---[[
 Get the configuration directory.
 
-@class function
-@name Cursor.get_confdir
-@return                        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
+@class                         function
+@name                          Cursor.get_savedir
+@return                                Save directory
+]]
+
+---[[
+Get the effective session ID.
+
+@class                         function
+@name                          Cursor.get_session_id
+@return                                String containing the session ID
 ]]
 
 ---[[
 Set the configuration directory.
 
-@class function
-@name Cursor.set_confdir
+@class                         function
+@name                          Cursor.set_confdir
 @param directory       UCI configuration directory
-@return                        Boolean whether operation succeeded
+@return                                Boolean whether operation succeeded
 ]]
 
 ---[[
 Set the directory for uncommited changes.
 
-@class function
-@name Cursor.set_savedir
+@class                         function
+@name                          Cursor.set_savedir
 @param directory       UCI changes directory
-@return                        Boolean whether operation succeeded
+@return                                Boolean whether operation succeeded
+]]
+
+---[[
+Set the effective session ID.
+
+@class                         function
+@name                          Cursor.set_session_id
+@param id                      String containing the session ID to set
+@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
+@class                         function
+@name                          Cursor.unload
+@param config          UCI config
+@return                                Boolean whether operation succeeded
+@see                           Cursor.load
+@see                           Cursor.save
 ]]