2 LuCI UCI model library.
4 The typical workflow for UCI is: Get a cursor instance from the
5 cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
6 save the changes to the staging area via Cursor.save and finally
7 Cursor.commit the data to the actual config files.
8 LuCI then needs to Cursor.apply the changes so deamons etc. are
12 module "luci.model.uci"
15 Create a new UCI-Cursor.
23 Create a new Cursor initialized to the state directory.
31 Applies UCI configuration changes
35 @param configlist List of UCI configurations
36 @param command Don't apply only return the command
40 Delete all sections of a given type that match certain criteria.
43 @name Cursor.delete_all
44 @param config UCI config
45 @param type UCI section type
46 @param comparator Function that will be called for each section and
47 returns a boolean whether to delete the current section (optional)
51 Create a new section and initialize it with data.
55 @param config UCI config
56 @param type UCI section type
57 @param name UCI section name (optional)
58 @param values Table of key - value pairs to initialize the section with
59 @return Name of created section
63 Updated the data of a section using data from a table.
67 @param config UCI config
68 @param section UCI section name (optional)
69 @param values Table of key - value pairs to update the section with
73 Get a boolean option and return it's value as true or false.
77 @param config UCI config
78 @param section UCI section name
79 @param option UCI option
84 Get an option or list and return values as table.
88 @param config UCI config
89 @param section UCI section name
90 @param option UCI option
95 Get the given option from the first section with the given type.
98 @name Cursor.get_first
99 @param config UCI config
100 @param type UCI section type
101 @param option UCI option (optional)
102 @param default Default value (optional)
107 Set given values as list. Setting a list option to an empty list
108 has the same effect as deleting the option.
111 @name Cursor.set_list
112 @param config UCI config
113 @param section UCI section name
114 @param option UCI option
115 @param value value or table. Raw values will become a single item table.
116 @return Boolean whether operation succeeded
120 Create a sub-state of this cursor. The sub-state is tied to the parent
122 curser, means it the parent unloads or loads configs, the sub state will
125 @name Cursor.substate
126 @return UCI state cursor tied to the parent cursor
130 Add an anonymous section.
134 @param config UCI config
135 @param type UCI section type
136 @return Name of created section
140 Get a table of saved but uncommitted changes.
144 @param config UCI config
145 @return Table of changes
150 Commit saved changes.
154 @param config UCI config
155 @return Boolean whether operation succeeded
161 Deletes a section or an option.
165 @param config UCI config
166 @param section UCI section name
167 @param option UCI option (optional)
168 @return Boolean whether operation succeeded
172 Call a function for every section of a certain type.
176 @param config UCI config
177 @param type UCI section type
178 @param callback Function to be called
179 @return Boolean whether operation succeeded
183 Get a section type or an option
187 @param config UCI config
188 @param section UCI section name
189 @param option UCI option (optional)
194 Get all sections of a config or all values of a section.
198 @param config UCI config
199 @param section UCI section name (optional)
200 @return Table of UCI sections or table of UCI values
204 Manually load a config.
208 @param config UCI config
209 @return Boolean whether operation succeeded
215 Revert saved but uncommitted changes.
219 @param config UCI config
220 @return Boolean whether operation succeeded
226 Saves changes made to a config to make them committable.
230 @param config UCI config
231 @return Boolean whether operation succeeded
237 Set a value or create a named section.
241 @param config UCI config
242 @param section UCI section name
243 @param option UCI option or UCI section type
244 @param value UCI value or nil if you want to create a section
245 @return Boolean whether operation succeeded
249 Get the configuration directory.
252 @name Cursor.get_confdir
253 @return Configuration directory
257 Get the directory for uncomitted changes.
260 @name Cursor.get_savedir
261 @return Save directory
265 Set the configuration directory.
268 @name Cursor.set_confdir
269 @param directory UCI configuration directory
270 @return Boolean whether operation succeeded
274 Set the directory for uncommited changes.
277 @name Cursor.set_savedir
278 @param directory UCI changes directory
279 @return Boolean whether operation succeeded
283 Discard changes made to a config.
287 @param config UCI config
288 @return Boolean whether operation succeeded