0445369862bdd022649433684285dc64279a20ee
[project/luci.git] / docs / jsapi / rpc.js.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Source: rpc.js</title>
6
7
8 <script src="scripts/prettify/prettify.js"></script>
9 <script src="scripts/prettify/lang-css.js"></script>
10 <script src="scripts/jquery.min.js"></script>
11 <!--[if lt IE 9]>
12 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
13 <![endif]-->
14 <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
15 <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
16 <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
17
18
19 <script>
20 var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true}};
21 </script>
22
23
24
25 </head>
26 <body>
27 <div id="wrap" class="clearfix">
28
29 <div class="navigation">
30 <h3 class="applicationName"><a href="index.html"></a></h3>
31
32 <div class="search">
33 <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
34 </div>
35 <ul class="list">
36
37 <li class="item" data-name="LuCI">
38 <span class="title">
39 <a href="LuCI.html">LuCI</a>
40
41 </span>
42 <ul class="members itemMembers">
43
44 <span class="subtitle">Members</span>
45
46 <li data-name="LuCI#Class"><a href="LuCI.html#Class">Class</a></li>
47
48 <li data-name="LuCI#dom"><a href="LuCI.html#dom">dom</a></li>
49
50 <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
51
52 <li data-name="LuCI#Poll"><a href="LuCI.html#Poll">Poll</a></li>
53
54 <li data-name="LuCI#Request"><a href="LuCI.html#Request">Request</a></li>
55
56 <li data-name="LuCI#view"><a href="LuCI.html#view">view</a></li>
57
58 </ul>
59 <ul class="typedefs itemMembers">
60
61 <span class="subtitle">Typedefs</span>
62
63 <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
64
65 </ul>
66 <ul class="typedefs itemMembers">
67
68 </ul>
69 <ul class="methods itemMembers">
70
71 <span class="subtitle">Methods</span>
72
73 <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
74
75 <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
76
77 <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
78
79 <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
80
81 <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
82
83 <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
84
85 <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
86
87 <li data-name="LuCI#media"><a href="LuCI.html#media">media</a></li>
88
89 <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
90
91 <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
92
93 <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
94
95 <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
96
97 <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
98
99 <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
100
101 <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
102
103 <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
104
105 <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
106
107 <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
108
109 <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
110
111 <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
112
113 </ul>
114 <ul class="events itemMembers">
115
116 </ul>
117 </li>
118
119 <li class="item" data-name="LuCI.baseclass">
120 <span class="title">
121 <a href="LuCI.baseclass.html">LuCI.baseclass</a>
122
123 </span>
124 <ul class="members itemMembers">
125
126 </ul>
127 <ul class="typedefs itemMembers">
128
129 </ul>
130 <ul class="typedefs itemMembers">
131
132 </ul>
133 <ul class="methods itemMembers">
134
135 <span class="subtitle">Methods</span>
136
137 <li data-name="LuCI.baseclass.extend"><a href="LuCI.baseclass.html#.extend">extend</a></li>
138
139 <li data-name="LuCI.baseclass.instantiate"><a href="LuCI.baseclass.html#.instantiate">instantiate</a></li>
140
141 <li data-name="LuCI.baseclass.isSubclass"><a href="LuCI.baseclass.html#.isSubclass">isSubclass</a></li>
142
143 <li data-name="LuCI.baseclass.singleton"><a href="LuCI.baseclass.html#.singleton">singleton</a></li>
144
145 <li data-name="LuCI.baseclass#super"><a href="LuCI.baseclass.html#super">super</a></li>
146
147 <li data-name="LuCI.baseclass#varargs"><a href="LuCI.baseclass.html#varargs">varargs</a></li>
148
149 </ul>
150 <ul class="events itemMembers">
151
152 </ul>
153 </li>
154
155 <li class="item" data-name="LuCI.dom">
156 <span class="title">
157 <a href="LuCI.dom.html">LuCI.dom</a>
158
159 </span>
160 <ul class="members itemMembers">
161
162 </ul>
163 <ul class="typedefs itemMembers">
164
165 <span class="subtitle">Typedefs</span>
166
167 <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
168
169 </ul>
170 <ul class="typedefs itemMembers">
171
172 </ul>
173 <ul class="methods itemMembers">
174
175 <span class="subtitle">Methods</span>
176
177 <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
178
179 <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
180
181 <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
182
183 <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
184
185 <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
186
187 <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
188
189 <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
190
191 <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
192
193 <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
194
195 <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
196
197 <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
198
199 <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
200
201 <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
202
203 </ul>
204 <ul class="events itemMembers">
205
206 </ul>
207 </li>
208
209 <li class="item" data-name="LuCI.fs">
210 <span class="title">
211 <a href="LuCI.fs.html">LuCI.fs</a>
212
213 </span>
214 <ul class="members itemMembers">
215
216 </ul>
217 <ul class="typedefs itemMembers">
218
219 <span class="subtitle">Typedefs</span>
220
221 <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
222
223 <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
224
225 </ul>
226 <ul class="typedefs itemMembers">
227
228 </ul>
229 <ul class="methods itemMembers">
230
231 <span class="subtitle">Methods</span>
232
233 <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
234
235 <li data-name="LuCI.fs#exec_direct"><a href="LuCI.fs.html#exec_direct">exec_direct</a></li>
236
237 <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
238
239 <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
240
241 <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
242
243 <li data-name="LuCI.fs#read_direct"><a href="LuCI.fs.html#read_direct">read_direct</a></li>
244
245 <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
246
247 <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
248
249 <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
250
251 <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
252
253 </ul>
254 <ul class="events itemMembers">
255
256 </ul>
257 </li>
258
259 <li class="item" data-name="LuCI.headers">
260 <span class="title">
261 <a href="LuCI.headers.html">LuCI.headers</a>
262
263 </span>
264 <ul class="members itemMembers">
265
266 </ul>
267 <ul class="typedefs itemMembers">
268
269 </ul>
270 <ul class="typedefs itemMembers">
271
272 </ul>
273 <ul class="methods itemMembers">
274
275 <span class="subtitle">Methods</span>
276
277 <li data-name="LuCI.headers#get"><a href="LuCI.headers.html#get">get</a></li>
278
279 <li data-name="LuCI.headers#has"><a href="LuCI.headers.html#has">has</a></li>
280
281 </ul>
282 <ul class="events itemMembers">
283
284 </ul>
285 </li>
286
287 <li class="item" data-name="LuCI.network">
288 <span class="title">
289 <a href="LuCI.network.html">LuCI.network</a>
290
291 </span>
292 <ul class="members itemMembers">
293
294 </ul>
295 <ul class="typedefs itemMembers">
296
297 <span class="subtitle">Typedefs</span>
298
299 <li data-name="LuCI.network.SwitchTopology"><a href="LuCI.network.html#.SwitchTopology">SwitchTopology</a></li>
300
301 <li data-name="LuCI.network.WifiEncryption"><a href="LuCI.network.html#.WifiEncryption">WifiEncryption</a></li>
302
303 <li data-name="LuCI.network.WifiPeerEntry"><a href="LuCI.network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
304
305 <li data-name="LuCI.network.WifiRateEntry"><a href="LuCI.network.html#.WifiRateEntry">WifiRateEntry</a></li>
306
307 <li data-name="LuCI.network.WifiScanResult"><a href="LuCI.network.html#.WifiScanResult">WifiScanResult</a></li>
308
309 </ul>
310 <ul class="typedefs itemMembers">
311
312 </ul>
313 <ul class="methods itemMembers">
314
315 <span class="subtitle">Methods</span>
316
317 <li data-name="LuCI.network#addNetwork"><a href="LuCI.network.html#addNetwork">addNetwork</a></li>
318
319 <li data-name="LuCI.network#addWifiNetwork"><a href="LuCI.network.html#addWifiNetwork">addWifiNetwork</a></li>
320
321 <li data-name="LuCI.network#deleteNetwork"><a href="LuCI.network.html#deleteNetwork">deleteNetwork</a></li>
322
323 <li data-name="LuCI.network#deleteWifiNetwork"><a href="LuCI.network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
324
325 <li data-name="LuCI.network#flushCache"><a href="LuCI.network.html#flushCache">flushCache</a></li>
326
327 <li data-name="LuCI.network#formatWifiEncryption"><a href="LuCI.network.html#formatWifiEncryption">formatWifiEncryption</a></li>
328
329 <li data-name="LuCI.network#getDevice"><a href="LuCI.network.html#getDevice">getDevice</a></li>
330
331 <li data-name="LuCI.network#getDevices"><a href="LuCI.network.html#getDevices">getDevices</a></li>
332
333 <li data-name="LuCI.network#getDSLModemType"><a href="LuCI.network.html#getDSLModemType">getDSLModemType</a></li>
334
335 <li data-name="LuCI.network#getHostHints"><a href="LuCI.network.html#getHostHints">getHostHints</a></li>
336
337 <li data-name="LuCI.network#getIfnameOf"><a href="LuCI.network.html#getIfnameOf">getIfnameOf</a></li>
338
339 <li data-name="LuCI.network#getNetwork"><a href="LuCI.network.html#getNetwork">getNetwork</a></li>
340
341 <li data-name="LuCI.network#getNetworks"><a href="LuCI.network.html#getNetworks">getNetworks</a></li>
342
343 <li data-name="LuCI.network#getProtocol"><a href="LuCI.network.html#getProtocol">getProtocol</a></li>
344
345 <li data-name="LuCI.network#getProtocols"><a href="LuCI.network.html#getProtocols">getProtocols</a></li>
346
347 <li data-name="LuCI.network#getSwitchTopologies"><a href="LuCI.network.html#getSwitchTopologies">getSwitchTopologies</a></li>
348
349 <li data-name="LuCI.network#getWAN6Networks"><a href="LuCI.network.html#getWAN6Networks">getWAN6Networks</a></li>
350
351 <li data-name="LuCI.network#getWANNetworks"><a href="LuCI.network.html#getWANNetworks">getWANNetworks</a></li>
352
353 <li data-name="LuCI.network#getWifiDevice"><a href="LuCI.network.html#getWifiDevice">getWifiDevice</a></li>
354
355 <li data-name="LuCI.network#getWifiDevices"><a href="LuCI.network.html#getWifiDevices">getWifiDevices</a></li>
356
357 <li data-name="LuCI.network#getWifiNetwork"><a href="LuCI.network.html#getWifiNetwork">getWifiNetwork</a></li>
358
359 <li data-name="LuCI.network#getWifiNetworks"><a href="LuCI.network.html#getWifiNetworks">getWifiNetworks</a></li>
360
361 <li data-name="LuCI.network#isIgnoredDevice"><a href="LuCI.network.html#isIgnoredDevice">isIgnoredDevice</a></li>
362
363 <li data-name="LuCI.network#maskToPrefix"><a href="LuCI.network.html#maskToPrefix">maskToPrefix</a></li>
364
365 <li data-name="LuCI.network#prefixToMask"><a href="LuCI.network.html#prefixToMask">prefixToMask</a></li>
366
367 <li data-name="LuCI.network#registerErrorCode"><a href="LuCI.network.html#registerErrorCode">registerErrorCode</a></li>
368
369 <li data-name="LuCI.network#registerPatternVirtual"><a href="LuCI.network.html#registerPatternVirtual">registerPatternVirtual</a></li>
370
371 <li data-name="LuCI.network#registerProtocol"><a href="LuCI.network.html#registerProtocol">registerProtocol</a></li>
372
373 <li data-name="LuCI.network#renameNetwork"><a href="LuCI.network.html#renameNetwork">renameNetwork</a></li>
374
375 </ul>
376 <ul class="events itemMembers">
377
378 </ul>
379 </li>
380
381 <li class="item" data-name="LuCI.network.Device">
382 <span class="title">
383 <a href="LuCI.network.Device.html">LuCI.network.Device</a>
384
385 </span>
386 <ul class="members itemMembers">
387
388 </ul>
389 <ul class="typedefs itemMembers">
390
391 </ul>
392 <ul class="typedefs itemMembers">
393
394 </ul>
395 <ul class="methods itemMembers">
396
397 <span class="subtitle">Methods</span>
398
399 <li data-name="LuCI.network.Device#getBridgeID"><a href="LuCI.network.Device.html#getBridgeID">getBridgeID</a></li>
400
401 <li data-name="LuCI.network.Device#getBridgeSTP"><a href="LuCI.network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
402
403 <li data-name="LuCI.network.Device#getI18n"><a href="LuCI.network.Device.html#getI18n">getI18n</a></li>
404
405 <li data-name="LuCI.network.Device#getIP6Addrs"><a href="LuCI.network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
406
407 <li data-name="LuCI.network.Device#getIPAddrs"><a href="LuCI.network.Device.html#getIPAddrs">getIPAddrs</a></li>
408
409 <li data-name="LuCI.network.Device#getMAC"><a href="LuCI.network.Device.html#getMAC">getMAC</a></li>
410
411 <li data-name="LuCI.network.Device#getMTU"><a href="LuCI.network.Device.html#getMTU">getMTU</a></li>
412
413 <li data-name="LuCI.network.Device#getName"><a href="LuCI.network.Device.html#getName">getName</a></li>
414
415 <li data-name="LuCI.network.Device#getNetwork"><a href="LuCI.network.Device.html#getNetwork">getNetwork</a></li>
416
417 <li data-name="LuCI.network.Device#getNetworks"><a href="LuCI.network.Device.html#getNetworks">getNetworks</a></li>
418
419 <li data-name="LuCI.network.Device#getPorts"><a href="LuCI.network.Device.html#getPorts">getPorts</a></li>
420
421 <li data-name="LuCI.network.Device#getRXBytes"><a href="LuCI.network.Device.html#getRXBytes">getRXBytes</a></li>
422
423 <li data-name="LuCI.network.Device#getRXPackets"><a href="LuCI.network.Device.html#getRXPackets">getRXPackets</a></li>
424
425 <li data-name="LuCI.network.Device#getShortName"><a href="LuCI.network.Device.html#getShortName">getShortName</a></li>
426
427 <li data-name="LuCI.network.Device#getTXBytes"><a href="LuCI.network.Device.html#getTXBytes">getTXBytes</a></li>
428
429 <li data-name="LuCI.network.Device#getTXPackets"><a href="LuCI.network.Device.html#getTXPackets">getTXPackets</a></li>
430
431 <li data-name="LuCI.network.Device#getType"><a href="LuCI.network.Device.html#getType">getType</a></li>
432
433 <li data-name="LuCI.network.Device#getTypeI18n"><a href="LuCI.network.Device.html#getTypeI18n">getTypeI18n</a></li>
434
435 <li data-name="LuCI.network.Device#getWifiNetwork"><a href="LuCI.network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
436
437 <li data-name="LuCI.network.Device#isBridge"><a href="LuCI.network.Device.html#isBridge">isBridge</a></li>
438
439 <li data-name="LuCI.network.Device#isBridgePort"><a href="LuCI.network.Device.html#isBridgePort">isBridgePort</a></li>
440
441 <li data-name="LuCI.network.Device#isUp"><a href="LuCI.network.Device.html#isUp">isUp</a></li>
442
443 </ul>
444 <ul class="events itemMembers">
445
446 </ul>
447 </li>
448
449 <li class="item" data-name="LuCI.network.Hosts">
450 <span class="title">
451 <a href="LuCI.network.Hosts.html">LuCI.network.Hosts</a>
452
453 </span>
454 <ul class="members itemMembers">
455
456 </ul>
457 <ul class="typedefs itemMembers">
458
459 </ul>
460 <ul class="typedefs itemMembers">
461
462 </ul>
463 <ul class="methods itemMembers">
464
465 <span class="subtitle">Methods</span>
466
467 <li data-name="LuCI.network.Hosts#getHostnameByIP6Addr"><a href="LuCI.network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
468
469 <li data-name="LuCI.network.Hosts#getHostnameByIPAddr"><a href="LuCI.network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
470
471 <li data-name="LuCI.network.Hosts#getHostnameByMACAddr"><a href="LuCI.network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
472
473 <li data-name="LuCI.network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
474
475 <li data-name="LuCI.network.Hosts#getIPAddrByMACAddr"><a href="LuCI.network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
476
477 <li data-name="LuCI.network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
478
479 <li data-name="LuCI.network.Hosts#getMACAddrByIPAddr"><a href="LuCI.network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
480
481 <li data-name="LuCI.network.Hosts#getMACHints"><a href="LuCI.network.Hosts.html#getMACHints">getMACHints</a></li>
482
483 </ul>
484 <ul class="events itemMembers">
485
486 </ul>
487 </li>
488
489 <li class="item" data-name="LuCI.network.Protocol">
490 <span class="title">
491 <a href="LuCI.network.Protocol.html">LuCI.network.Protocol</a>
492
493 </span>
494 <ul class="members itemMembers">
495
496 </ul>
497 <ul class="typedefs itemMembers">
498
499 </ul>
500 <ul class="typedefs itemMembers">
501
502 </ul>
503 <ul class="methods itemMembers">
504
505 <span class="subtitle">Methods</span>
506
507 <li data-name="LuCI.network.Protocol#addDevice"><a href="LuCI.network.Protocol.html#addDevice">addDevice</a></li>
508
509 <li data-name="LuCI.network.Protocol#containsDevice"><a href="LuCI.network.Protocol.html#containsDevice">containsDevice</a></li>
510
511 <li data-name="LuCI.network.Protocol#deleteConfiguration"><a href="LuCI.network.Protocol.html#deleteConfiguration">deleteConfiguration</a></li>
512
513 <li data-name="LuCI.network.Protocol#deleteDevice"><a href="LuCI.network.Protocol.html#deleteDevice">deleteDevice</a></li>
514
515 <li data-name="LuCI.network.Protocol#get"><a href="LuCI.network.Protocol.html#get">get</a></li>
516
517 <li data-name="LuCI.network.Protocol#getDevice"><a href="LuCI.network.Protocol.html#getDevice">getDevice</a></li>
518
519 <li data-name="LuCI.network.Protocol#getDevices"><a href="LuCI.network.Protocol.html#getDevices">getDevices</a></li>
520
521 <li data-name="LuCI.network.Protocol#getDNS6Addrs"><a href="LuCI.network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
522
523 <li data-name="LuCI.network.Protocol#getDNSAddrs"><a href="LuCI.network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
524
525 <li data-name="LuCI.network.Protocol#getErrors"><a href="LuCI.network.Protocol.html#getErrors">getErrors</a></li>
526
527 <li data-name="LuCI.network.Protocol#getExpiry"><a href="LuCI.network.Protocol.html#getExpiry">getExpiry</a></li>
528
529 <li data-name="LuCI.network.Protocol#getGateway6Addr"><a href="LuCI.network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
530
531 <li data-name="LuCI.network.Protocol#getGatewayAddr"><a href="LuCI.network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
532
533 <li data-name="LuCI.network.Protocol#getI18n"><a href="LuCI.network.Protocol.html#getI18n">getI18n</a></li>
534
535 <li data-name="LuCI.network.Protocol#getIfname"><a href="LuCI.network.Protocol.html#getIfname">getIfname</a></li>
536
537 <li data-name="LuCI.network.Protocol#getIP6Addr"><a href="LuCI.network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
538
539 <li data-name="LuCI.network.Protocol#getIP6Addrs"><a href="LuCI.network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
540
541 <li data-name="LuCI.network.Protocol#getIP6Prefix"><a href="LuCI.network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
542
543 <li data-name="LuCI.network.Protocol#getIPAddr"><a href="LuCI.network.Protocol.html#getIPAddr">getIPAddr</a></li>
544
545 <li data-name="LuCI.network.Protocol#getIPAddrs"><a href="LuCI.network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
546
547 <li data-name="LuCI.network.Protocol#getL2Device"><a href="LuCI.network.Protocol.html#getL2Device">getL2Device</a></li>
548
549 <li data-name="LuCI.network.Protocol#getL3Device"><a href="LuCI.network.Protocol.html#getL3Device">getL3Device</a></li>
550
551 <li data-name="LuCI.network.Protocol#getMetric"><a href="LuCI.network.Protocol.html#getMetric">getMetric</a></li>
552
553 <li data-name="LuCI.network.Protocol#getName"><a href="LuCI.network.Protocol.html#getName">getName</a></li>
554
555 <li data-name="LuCI.network.Protocol#getNetmask"><a href="LuCI.network.Protocol.html#getNetmask">getNetmask</a></li>
556
557 <li data-name="LuCI.network.Protocol#getOpkgPackage"><a href="LuCI.network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
558
559 <li data-name="LuCI.network.Protocol#getProtocol"><a href="LuCI.network.Protocol.html#getProtocol">getProtocol</a></li>
560
561 <li data-name="LuCI.network.Protocol#getType"><a href="LuCI.network.Protocol.html#getType">getType</a></li>
562
563 <li data-name="LuCI.network.Protocol#getUptime"><a href="LuCI.network.Protocol.html#getUptime">getUptime</a></li>
564
565 <li data-name="LuCI.network.Protocol#getZoneName"><a href="LuCI.network.Protocol.html#getZoneName">getZoneName</a></li>
566
567 <li data-name="LuCI.network.Protocol#isAlias"><a href="LuCI.network.Protocol.html#isAlias">isAlias</a></li>
568
569 <li data-name="LuCI.network.Protocol#isBridge"><a href="LuCI.network.Protocol.html#isBridge">isBridge</a></li>
570
571 <li data-name="LuCI.network.Protocol#isDynamic"><a href="LuCI.network.Protocol.html#isDynamic">isDynamic</a></li>
572
573 <li data-name="LuCI.network.Protocol#isEmpty"><a href="LuCI.network.Protocol.html#isEmpty">isEmpty</a></li>
574
575 <li data-name="LuCI.network.Protocol#isFloating"><a href="LuCI.network.Protocol.html#isFloating">isFloating</a></li>
576
577 <li data-name="LuCI.network.Protocol#isInstalled"><a href="LuCI.network.Protocol.html#isInstalled">isInstalled</a></li>
578
579 <li data-name="LuCI.network.Protocol#isUp"><a href="LuCI.network.Protocol.html#isUp">isUp</a></li>
580
581 <li data-name="LuCI.network.Protocol#isVirtual"><a href="LuCI.network.Protocol.html#isVirtual">isVirtual</a></li>
582
583 <li data-name="LuCI.network.Protocol#set"><a href="LuCI.network.Protocol.html#set">set</a></li>
584
585 </ul>
586 <ul class="events itemMembers">
587
588 </ul>
589 </li>
590
591 <li class="item" data-name="LuCI.network.WifiDevice">
592 <span class="title">
593 <a href="LuCI.network.WifiDevice.html">LuCI.network.WifiDevice</a>
594
595 </span>
596 <ul class="members itemMembers">
597
598 </ul>
599 <ul class="typedefs itemMembers">
600
601 </ul>
602 <ul class="typedefs itemMembers">
603
604 </ul>
605 <ul class="methods itemMembers">
606
607 <span class="subtitle">Methods</span>
608
609 <li data-name="LuCI.network.WifiDevice#addWifiNetwork"><a href="LuCI.network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
610
611 <li data-name="LuCI.network.WifiDevice#deleteWifiNetwork"><a href="LuCI.network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
612
613 <li data-name="LuCI.network.WifiDevice#get"><a href="LuCI.network.WifiDevice.html#get">get</a></li>
614
615 <li data-name="LuCI.network.WifiDevice#getHTModes"><a href="LuCI.network.WifiDevice.html#getHTModes">getHTModes</a></li>
616
617 <li data-name="LuCI.network.WifiDevice#getHWModes"><a href="LuCI.network.WifiDevice.html#getHWModes">getHWModes</a></li>
618
619 <li data-name="LuCI.network.WifiDevice#getI18n"><a href="LuCI.network.WifiDevice.html#getI18n">getI18n</a></li>
620
621 <li data-name="LuCI.network.WifiDevice#getName"><a href="LuCI.network.WifiDevice.html#getName">getName</a></li>
622
623 <li data-name="LuCI.network.WifiDevice#getScanList"><a href="LuCI.network.WifiDevice.html#getScanList">getScanList</a></li>
624
625 <li data-name="LuCI.network.WifiDevice#getWifiNetwork"><a href="LuCI.network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
626
627 <li data-name="LuCI.network.WifiDevice#getWifiNetworks"><a href="LuCI.network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
628
629 <li data-name="LuCI.network.WifiDevice#isDisabled"><a href="LuCI.network.WifiDevice.html#isDisabled">isDisabled</a></li>
630
631 <li data-name="LuCI.network.WifiDevice#isUp"><a href="LuCI.network.WifiDevice.html#isUp">isUp</a></li>
632
633 <li data-name="LuCI.network.WifiDevice#set"><a href="LuCI.network.WifiDevice.html#set">set</a></li>
634
635 </ul>
636 <ul class="events itemMembers">
637
638 </ul>
639 </li>
640
641 <li class="item" data-name="LuCI.network.WifiNetwork">
642 <span class="title">
643 <a href="LuCI.network.WifiNetwork.html">LuCI.network.WifiNetwork</a>
644
645 </span>
646 <ul class="members itemMembers">
647
648 </ul>
649 <ul class="typedefs itemMembers">
650
651 </ul>
652 <ul class="typedefs itemMembers">
653
654 </ul>
655 <ul class="methods itemMembers">
656
657 <span class="subtitle">Methods</span>
658
659 <li data-name="LuCI.network.WifiNetwork#disconnectClient"><a href="LuCI.network.WifiNetwork.html#disconnectClient">disconnectClient</a></li>
660
661 <li data-name="LuCI.network.WifiNetwork#get"><a href="LuCI.network.WifiNetwork.html#get">get</a></li>
662
663 <li data-name="LuCI.network.WifiNetwork#getActiveBSSID"><a href="LuCI.network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
664
665 <li data-name="LuCI.network.WifiNetwork#getActiveEncryption"><a href="LuCI.network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
666
667 <li data-name="LuCI.network.WifiNetwork#getActiveMode"><a href="LuCI.network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
668
669 <li data-name="LuCI.network.WifiNetwork#getActiveModeI18n"><a href="LuCI.network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
670
671 <li data-name="LuCI.network.WifiNetwork#getActiveSSID"><a href="LuCI.network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
672
673 <li data-name="LuCI.network.WifiNetwork#getAssocList"><a href="LuCI.network.WifiNetwork.html#getAssocList">getAssocList</a></li>
674
675 <li data-name="LuCI.network.WifiNetwork#getBitRate"><a href="LuCI.network.WifiNetwork.html#getBitRate">getBitRate</a></li>
676
677 <li data-name="LuCI.network.WifiNetwork#getBSSID"><a href="LuCI.network.WifiNetwork.html#getBSSID">getBSSID</a></li>
678
679 <li data-name="LuCI.network.WifiNetwork#getChannel"><a href="LuCI.network.WifiNetwork.html#getChannel">getChannel</a></li>
680
681 <li data-name="LuCI.network.WifiNetwork#getCountryCode"><a href="LuCI.network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
682
683 <li data-name="LuCI.network.WifiNetwork#getDevice"><a href="LuCI.network.WifiNetwork.html#getDevice">getDevice</a></li>
684
685 <li data-name="LuCI.network.WifiNetwork#getFrequency"><a href="LuCI.network.WifiNetwork.html#getFrequency">getFrequency</a></li>
686
687 <li data-name="LuCI.network.WifiNetwork#getI18n"><a href="LuCI.network.WifiNetwork.html#getI18n">getI18n</a></li>
688
689 <li data-name="LuCI.network.WifiNetwork#getID"><a href="LuCI.network.WifiNetwork.html#getID">getID</a></li>
690
691 <li data-name="LuCI.network.WifiNetwork#getIfname"><a href="LuCI.network.WifiNetwork.html#getIfname">getIfname</a></li>
692
693 <li data-name="LuCI.network.WifiNetwork#getMeshID"><a href="LuCI.network.WifiNetwork.html#getMeshID">getMeshID</a></li>
694
695 <li data-name="LuCI.network.WifiNetwork#getMode"><a href="LuCI.network.WifiNetwork.html#getMode">getMode</a></li>
696
697 <li data-name="LuCI.network.WifiNetwork#getName"><a href="LuCI.network.WifiNetwork.html#getName">getName</a></li>
698
699 <li data-name="LuCI.network.WifiNetwork#getNetwork"><a href="LuCI.network.WifiNetwork.html#getNetwork">getNetwork</a></li>
700
701 <li data-name="LuCI.network.WifiNetwork#getNetworkNames"><a href="LuCI.network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
702
703 <li data-name="LuCI.network.WifiNetwork#getNetworks"><a href="LuCI.network.WifiNetwork.html#getNetworks">getNetworks</a></li>
704
705 <li data-name="LuCI.network.WifiNetwork#getNoise"><a href="LuCI.network.WifiNetwork.html#getNoise">getNoise</a></li>
706
707 <li data-name="LuCI.network.WifiNetwork#getShortName"><a href="LuCI.network.WifiNetwork.html#getShortName">getShortName</a></li>
708
709 <li data-name="LuCI.network.WifiNetwork#getSignal"><a href="LuCI.network.WifiNetwork.html#getSignal">getSignal</a></li>
710
711 <li data-name="LuCI.network.WifiNetwork#getSignalLevel"><a href="LuCI.network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
712
713 <li data-name="LuCI.network.WifiNetwork#getSignalPercent"><a href="LuCI.network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
714
715 <li data-name="LuCI.network.WifiNetwork#getSSID"><a href="LuCI.network.WifiNetwork.html#getSSID">getSSID</a></li>
716
717 <li data-name="LuCI.network.WifiNetwork#getTXPower"><a href="LuCI.network.WifiNetwork.html#getTXPower">getTXPower</a></li>
718
719 <li data-name="LuCI.network.WifiNetwork#getTXPowerOffset"><a href="LuCI.network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
720
721 <li data-name="LuCI.network.WifiNetwork#getWifiDevice"><a href="LuCI.network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
722
723 <li data-name="LuCI.network.WifiNetwork#getWifiDeviceName"><a href="LuCI.network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
724
725 <li data-name="LuCI.network.WifiNetwork#isClientDisconnectSupported"><a href="LuCI.network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported</a></li>
726
727 <li data-name="LuCI.network.WifiNetwork#isDisabled"><a href="LuCI.network.WifiNetwork.html#isDisabled">isDisabled</a></li>
728
729 <li data-name="LuCI.network.WifiNetwork#isUp"><a href="LuCI.network.WifiNetwork.html#isUp">isUp</a></li>
730
731 <li data-name="LuCI.network.WifiNetwork#set"><a href="LuCI.network.WifiNetwork.html#set">set</a></li>
732
733 </ul>
734 <ul class="events itemMembers">
735
736 </ul>
737 </li>
738
739 <li class="item" data-name="LuCI.poll">
740 <span class="title">
741 <a href="LuCI.poll.html">LuCI.poll</a>
742
743 </span>
744 <ul class="members itemMembers">
745
746 </ul>
747 <ul class="typedefs itemMembers">
748
749 </ul>
750 <ul class="typedefs itemMembers">
751
752 </ul>
753 <ul class="methods itemMembers">
754
755 <span class="subtitle">Methods</span>
756
757 <li data-name="LuCI.poll#active"><a href="LuCI.poll.html#active">active</a></li>
758
759 <li data-name="LuCI.poll#add"><a href="LuCI.poll.html#add">add</a></li>
760
761 <li data-name="LuCI.poll#remove"><a href="LuCI.poll.html#remove">remove</a></li>
762
763 <li data-name="LuCI.poll#start"><a href="LuCI.poll.html#start">start</a></li>
764
765 <li data-name="LuCI.poll#stop"><a href="LuCI.poll.html#stop">stop</a></li>
766
767 </ul>
768 <ul class="events itemMembers">
769
770 </ul>
771 </li>
772
773 <li class="item" data-name="LuCI.request">
774 <span class="title">
775 <a href="LuCI.request.html">LuCI.request</a>
776
777 </span>
778 <ul class="members itemMembers">
779
780 </ul>
781 <ul class="typedefs itemMembers">
782
783 <span class="subtitle">Typedefs</span>
784
785 <li data-name="LuCI.request.interceptorFn"><a href="LuCI.request.html#.interceptorFn">interceptorFn</a></li>
786
787 <li data-name="LuCI.request.RequestOptions"><a href="LuCI.request.html#.RequestOptions">RequestOptions</a></li>
788
789 </ul>
790 <ul class="typedefs itemMembers">
791
792 </ul>
793 <ul class="methods itemMembers">
794
795 <span class="subtitle">Methods</span>
796
797 <li data-name="LuCI.request#addInterceptor"><a href="LuCI.request.html#addInterceptor">addInterceptor</a></li>
798
799 <li data-name="LuCI.request#expandURL"><a href="LuCI.request.html#expandURL">expandURL</a></li>
800
801 <li data-name="LuCI.request#get"><a href="LuCI.request.html#get">get</a></li>
802
803 <li data-name="LuCI.request#post"><a href="LuCI.request.html#post">post</a></li>
804
805 <li data-name="LuCI.request#removeInterceptor"><a href="LuCI.request.html#removeInterceptor">removeInterceptor</a></li>
806
807 <li data-name="LuCI.request#request"><a href="LuCI.request.html#request">request</a></li>
808
809 </ul>
810 <ul class="events itemMembers">
811
812 </ul>
813 </li>
814
815 <li class="item" data-name="LuCI.request.poll">
816 <span class="title">
817 <a href="LuCI.request.poll.html">LuCI.request.poll</a>
818
819 </span>
820 <ul class="members itemMembers">
821
822 </ul>
823 <ul class="typedefs itemMembers">
824
825 <span class="subtitle">Typedefs</span>
826
827 <li data-name="LuCI.request.poll~callbackFn"><a href="LuCI.request.poll.html#~callbackFn">callbackFn</a></li>
828
829 </ul>
830 <ul class="typedefs itemMembers">
831
832 </ul>
833 <ul class="methods itemMembers">
834
835 <span class="subtitle">Methods</span>
836
837 <li data-name="LuCI.request.poll#active"><a href="LuCI.request.poll.html#active">active</a></li>
838
839 <li data-name="LuCI.request.poll#add"><a href="LuCI.request.poll.html#add">add</a></li>
840
841 <li data-name="LuCI.request.poll#remove"><a href="LuCI.request.poll.html#remove">remove</a></li>
842
843 <li data-name="LuCI.request.poll#start"><a href="LuCI.request.poll.html#start">start</a></li>
844
845 <li data-name="LuCI.request.poll#stop"><a href="LuCI.request.poll.html#stop">stop</a></li>
846
847 </ul>
848 <ul class="events itemMembers">
849
850 </ul>
851 </li>
852
853 <li class="item" data-name="LuCI.response">
854 <span class="title">
855 <a href="LuCI.response.html">LuCI.response</a>
856
857 </span>
858 <ul class="members itemMembers">
859
860 <span class="subtitle">Members</span>
861
862 <li data-name="LuCI.response#duration"><a href="LuCI.response.html#duration">duration</a></li>
863
864 <li data-name="LuCI.response#headers"><a href="LuCI.response.html#headers">headers</a></li>
865
866 <li data-name="LuCI.response#ok"><a href="LuCI.response.html#ok">ok</a></li>
867
868 <li data-name="LuCI.response#status"><a href="LuCI.response.html#status">status</a></li>
869
870 <li data-name="LuCI.response#statusText"><a href="LuCI.response.html#statusText">statusText</a></li>
871
872 <li data-name="LuCI.response#url"><a href="LuCI.response.html#url">url</a></li>
873
874 </ul>
875 <ul class="typedefs itemMembers">
876
877 </ul>
878 <ul class="typedefs itemMembers">
879
880 </ul>
881 <ul class="methods itemMembers">
882
883 <span class="subtitle">Methods</span>
884
885 <li data-name="LuCI.response#blob"><a href="LuCI.response.html#blob">blob</a></li>
886
887 <li data-name="LuCI.response#clone"><a href="LuCI.response.html#clone">clone</a></li>
888
889 <li data-name="LuCI.response#json"><a href="LuCI.response.html#json">json</a></li>
890
891 <li data-name="LuCI.response#text"><a href="LuCI.response.html#text">text</a></li>
892
893 </ul>
894 <ul class="events itemMembers">
895
896 </ul>
897 </li>
898
899 <li class="item" data-name="LuCI.rpc">
900 <span class="title">
901 <a href="LuCI.rpc.html">LuCI.rpc</a>
902
903 </span>
904 <ul class="members itemMembers">
905
906 </ul>
907 <ul class="typedefs itemMembers">
908
909 <span class="subtitle">Typedefs</span>
910
911 <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
912
913 <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
914
915 <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
916
917 <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
918
919 </ul>
920 <ul class="typedefs itemMembers">
921
922 </ul>
923 <ul class="methods itemMembers">
924
925 <span class="subtitle">Methods</span>
926
927 <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
928
929 <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
930
931 <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
932
933 <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
934
935 <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
936
937 <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
938
939 <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
940
941 <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
942
943 <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
944
945 </ul>
946 <ul class="events itemMembers">
947
948 </ul>
949 </li>
950
951 <li class="item" data-name="LuCI.uci">
952 <span class="title">
953 <a href="LuCI.uci.html">LuCI.uci</a>
954
955 </span>
956 <ul class="members itemMembers">
957
958 </ul>
959 <ul class="typedefs itemMembers">
960
961 <span class="subtitle">Typedefs</span>
962
963 <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
964
965 <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
966
967 <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
968
969 </ul>
970 <ul class="typedefs itemMembers">
971
972 </ul>
973 <ul class="methods itemMembers">
974
975 <span class="subtitle">Methods</span>
976
977 <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
978
979 <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
980
981 <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
982
983 <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
984
985 <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
986
987 <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
988
989 <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
990
991 <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
992
993 <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
994
995 <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
996
997 <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
998
999 <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
1000
1001 <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
1002
1003 <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
1004
1005 <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
1006
1007 <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
1008
1009 <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
1010
1011 </ul>
1012 <ul class="events itemMembers">
1013
1014 </ul>
1015 </li>
1016
1017 <li class="item" data-name="LuCI.ui">
1018 <span class="title">
1019 <a href="LuCI.ui.html">LuCI.ui</a>
1020
1021 </span>
1022 <ul class="members itemMembers">
1023
1024 </ul>
1025 <ul class="typedefs itemMembers">
1026
1027 <span class="subtitle">Typedefs</span>
1028
1029 <li data-name="LuCI.ui.FileUploadReply"><a href="LuCI.ui.html#.FileUploadReply">FileUploadReply</a></li>
1030
1031 </ul>
1032 <ul class="typedefs itemMembers">
1033
1034 </ul>
1035 <ul class="methods itemMembers">
1036
1037 <span class="subtitle">Methods</span>
1038
1039 <li data-name="LuCI.ui#addNotification"><a href="LuCI.ui.html#addNotification">addNotification</a></li>
1040
1041 <li data-name="LuCI.ui#addValidator"><a href="LuCI.ui.html#addValidator">addValidator</a></li>
1042
1043 <li data-name="LuCI.ui#awaitReconnect"><a href="LuCI.ui.html#awaitReconnect">awaitReconnect</a></li>
1044
1045 <li data-name="LuCI.ui#createHandlerFn"><a href="LuCI.ui.html#createHandlerFn">createHandlerFn</a></li>
1046
1047 <li data-name="LuCI.ui#hideIndicator"><a href="LuCI.ui.html#hideIndicator">hideIndicator</a></li>
1048
1049 <li data-name="LuCI.ui#hideModal"><a href="LuCI.ui.html#hideModal">hideModal</a></li>
1050
1051 <li data-name="LuCI.ui#instantiateView"><a href="LuCI.ui.html#instantiateView">instantiateView</a></li>
1052
1053 <li data-name="LuCI.ui#itemlist"><a href="LuCI.ui.html#itemlist">itemlist</a></li>
1054
1055 <li data-name="LuCI.ui#pingDevice"><a href="LuCI.ui.html#pingDevice">pingDevice</a></li>
1056
1057 <li data-name="LuCI.ui#showIndicator"><a href="LuCI.ui.html#showIndicator">showIndicator</a></li>
1058
1059 <li data-name="LuCI.ui#showModal"><a href="LuCI.ui.html#showModal">showModal</a></li>
1060
1061 <li data-name="LuCI.ui#uploadFile"><a href="LuCI.ui.html#uploadFile">uploadFile</a></li>
1062
1063 </ul>
1064 <ul class="events itemMembers">
1065
1066 </ul>
1067 </li>
1068
1069 <li class="item" data-name="LuCI.ui.AbstractElement">
1070 <span class="title">
1071 <a href="LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement</a>
1072
1073 </span>
1074 <ul class="members itemMembers">
1075
1076 </ul>
1077 <ul class="typedefs itemMembers">
1078
1079 <span class="subtitle">Typedefs</span>
1080
1081 <li data-name="LuCI.ui.AbstractElement.InitOptions"><a href="LuCI.ui.AbstractElement.html#.InitOptions">InitOptions</a></li>
1082
1083 </ul>
1084 <ul class="typedefs itemMembers">
1085
1086 </ul>
1087 <ul class="methods itemMembers">
1088
1089 <span class="subtitle">Methods</span>
1090
1091 <li data-name="LuCI.ui.AbstractElement#getValue"><a href="LuCI.ui.AbstractElement.html#getValue">getValue</a></li>
1092
1093 <li data-name="LuCI.ui.AbstractElement#isValid"><a href="LuCI.ui.AbstractElement.html#isValid">isValid</a></li>
1094
1095 <li data-name="LuCI.ui.AbstractElement#registerEvents"><a href="LuCI.ui.AbstractElement.html#registerEvents">registerEvents</a></li>
1096
1097 <li data-name="LuCI.ui.AbstractElement#render"><a href="LuCI.ui.AbstractElement.html#render">render</a></li>
1098
1099 <li data-name="LuCI.ui.AbstractElement#setChangeEvents"><a href="LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents</a></li>
1100
1101 <li data-name="LuCI.ui.AbstractElement#setUpdateEvents"><a href="LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents</a></li>
1102
1103 <li data-name="LuCI.ui.AbstractElement#setValue"><a href="LuCI.ui.AbstractElement.html#setValue">setValue</a></li>
1104
1105 <li data-name="LuCI.ui.AbstractElement#triggerValidation"><a href="LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation</a></li>
1106
1107 </ul>
1108 <ul class="events itemMembers">
1109
1110 </ul>
1111 </li>
1112
1113 <li class="item" data-name="LuCI.ui.changes">
1114 <span class="title">
1115 <a href="LuCI.ui.changes.html">LuCI.ui.changes</a>
1116
1117 </span>
1118 <ul class="members itemMembers">
1119
1120 </ul>
1121 <ul class="typedefs itemMembers">
1122
1123 </ul>
1124 <ul class="typedefs itemMembers">
1125
1126 </ul>
1127 <ul class="methods itemMembers">
1128
1129 <span class="subtitle">Methods</span>
1130
1131 <li data-name="LuCI.ui.changes#apply"><a href="LuCI.ui.changes.html#apply">apply</a></li>
1132
1133 <li data-name="LuCI.ui.changes#displayChanges"><a href="LuCI.ui.changes.html#displayChanges">displayChanges</a></li>
1134
1135 <li data-name="LuCI.ui.changes#renderChangeIndicator"><a href="LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator</a></li>
1136
1137 <li data-name="LuCI.ui.changes#revert"><a href="LuCI.ui.changes.html#revert">revert</a></li>
1138
1139 <li data-name="LuCI.ui.changes#setIndicator"><a href="LuCI.ui.changes.html#setIndicator">setIndicator</a></li>
1140
1141 </ul>
1142 <ul class="events itemMembers">
1143
1144 </ul>
1145 </li>
1146
1147 <li class="item" data-name="LuCI.ui.Checkbox">
1148 <span class="title">
1149 <a href="LuCI.ui.Checkbox.html">LuCI.ui.Checkbox</a>
1150
1151 </span>
1152 <ul class="members itemMembers">
1153
1154 </ul>
1155 <ul class="typedefs itemMembers">
1156
1157 <span class="subtitle">Typedefs</span>
1158
1159 <li data-name="LuCI.ui.Checkbox.InitOptions"><a href="LuCI.ui.Checkbox.html#.InitOptions">InitOptions</a></li>
1160
1161 </ul>
1162 <ul class="typedefs itemMembers">
1163
1164 </ul>
1165 <ul class="methods itemMembers">
1166
1167 <span class="subtitle">Methods</span>
1168
1169 <li data-name="LuCI.ui.Checkbox#getValue"><a href="LuCI.ui.Checkbox.html#getValue">getValue</a></li>
1170
1171 <li data-name="LuCI.ui.Checkbox#isChecked"><a href="LuCI.ui.Checkbox.html#isChecked">isChecked</a></li>
1172
1173 <li data-name="LuCI.ui.Checkbox#isValid"><a href="LuCI.ui.Checkbox.html#isValid">isValid</a></li>
1174
1175 <li data-name="LuCI.ui.Checkbox#registerEvents"><a href="LuCI.ui.Checkbox.html#registerEvents">registerEvents</a></li>
1176
1177 <li data-name="LuCI.ui.Checkbox#render"><a href="LuCI.ui.Checkbox.html#render">render</a></li>
1178
1179 <li data-name="LuCI.ui.Checkbox#setChangeEvents"><a href="LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents</a></li>
1180
1181 <li data-name="LuCI.ui.Checkbox#setUpdateEvents"><a href="LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents</a></li>
1182
1183 <li data-name="LuCI.ui.Checkbox#setValue"><a href="LuCI.ui.Checkbox.html#setValue">setValue</a></li>
1184
1185 <li data-name="LuCI.ui.Checkbox#triggerValidation"><a href="LuCI.ui.Checkbox.html#triggerValidation">triggerValidation</a></li>
1186
1187 </ul>
1188 <ul class="events itemMembers">
1189
1190 </ul>
1191 </li>
1192
1193 <li class="item" data-name="LuCI.ui.Combobox">
1194 <span class="title">
1195 <a href="LuCI.ui.Combobox.html">LuCI.ui.Combobox</a>
1196
1197 </span>
1198 <ul class="members itemMembers">
1199
1200 </ul>
1201 <ul class="typedefs itemMembers">
1202
1203 <span class="subtitle">Typedefs</span>
1204
1205 <li data-name="LuCI.ui.Combobox.InitOptions"><a href="LuCI.ui.Combobox.html#.InitOptions">InitOptions</a></li>
1206
1207 </ul>
1208 <ul class="typedefs itemMembers">
1209
1210 </ul>
1211 <ul class="methods itemMembers">
1212
1213 <span class="subtitle">Methods</span>
1214
1215 <li data-name="LuCI.ui.Combobox#addChoices"><a href="LuCI.ui.Combobox.html#addChoices">addChoices</a></li>
1216
1217 <li data-name="LuCI.ui.Combobox#clearChoices"><a href="LuCI.ui.Combobox.html#clearChoices">clearChoices</a></li>
1218
1219 <li data-name="LuCI.ui.Combobox#closeAllDropdowns"><a href="LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns</a></li>
1220
1221 <li data-name="LuCI.ui.Combobox#isValid"><a href="LuCI.ui.Combobox.html#isValid">isValid</a></li>
1222
1223 <li data-name="LuCI.ui.Combobox#registerEvents"><a href="LuCI.ui.Combobox.html#registerEvents">registerEvents</a></li>
1224
1225 <li data-name="LuCI.ui.Combobox#setChangeEvents"><a href="LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents</a></li>
1226
1227 <li data-name="LuCI.ui.Combobox#setUpdateEvents"><a href="LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents</a></li>
1228
1229 <li data-name="LuCI.ui.Combobox#triggerValidation"><a href="LuCI.ui.Combobox.html#triggerValidation">triggerValidation</a></li>
1230
1231 </ul>
1232 <ul class="events itemMembers">
1233
1234 </ul>
1235 </li>
1236
1237 <li class="item" data-name="LuCI.ui.ComboButton">
1238 <span class="title">
1239 <a href="LuCI.ui.ComboButton.html">LuCI.ui.ComboButton</a>
1240
1241 </span>
1242 <ul class="members itemMembers">
1243
1244 </ul>
1245 <ul class="typedefs itemMembers">
1246
1247 <span class="subtitle">Typedefs</span>
1248
1249 <li data-name="LuCI.ui.ComboButton.InitOptions"><a href="LuCI.ui.ComboButton.html#.InitOptions">InitOptions</a></li>
1250
1251 </ul>
1252 <ul class="typedefs itemMembers">
1253
1254 </ul>
1255 <ul class="methods itemMembers">
1256
1257 <span class="subtitle">Methods</span>
1258
1259 <li data-name="LuCI.ui.ComboButton#addChoices"><a href="LuCI.ui.ComboButton.html#addChoices">addChoices</a></li>
1260
1261 <li data-name="LuCI.ui.ComboButton#clearChoices"><a href="LuCI.ui.ComboButton.html#clearChoices">clearChoices</a></li>
1262
1263 <li data-name="LuCI.ui.ComboButton#closeAllDropdowns"><a href="LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns</a></li>
1264
1265 <li data-name="LuCI.ui.ComboButton#isValid"><a href="LuCI.ui.ComboButton.html#isValid">isValid</a></li>
1266
1267 <li data-name="LuCI.ui.ComboButton#registerEvents"><a href="LuCI.ui.ComboButton.html#registerEvents">registerEvents</a></li>
1268
1269 <li data-name="LuCI.ui.ComboButton#setChangeEvents"><a href="LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents</a></li>
1270
1271 <li data-name="LuCI.ui.ComboButton#setUpdateEvents"><a href="LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents</a></li>
1272
1273 <li data-name="LuCI.ui.ComboButton#triggerValidation"><a href="LuCI.ui.ComboButton.html#triggerValidation">triggerValidation</a></li>
1274
1275 </ul>
1276 <ul class="events itemMembers">
1277
1278 </ul>
1279 </li>
1280
1281 <li class="item" data-name="LuCI.ui.Dropdown">
1282 <span class="title">
1283 <a href="LuCI.ui.Dropdown.html">LuCI.ui.Dropdown</a>
1284
1285 </span>
1286 <ul class="members itemMembers">
1287
1288 </ul>
1289 <ul class="typedefs itemMembers">
1290
1291 <span class="subtitle">Typedefs</span>
1292
1293 <li data-name="LuCI.ui.Dropdown.InitOptions"><a href="LuCI.ui.Dropdown.html#.InitOptions">InitOptions</a></li>
1294
1295 </ul>
1296 <ul class="typedefs itemMembers">
1297
1298 </ul>
1299 <ul class="methods itemMembers">
1300
1301 <span class="subtitle">Methods</span>
1302
1303 <li data-name="LuCI.ui.Dropdown#addChoices"><a href="LuCI.ui.Dropdown.html#addChoices">addChoices</a></li>
1304
1305 <li data-name="LuCI.ui.Dropdown#clearChoices"><a href="LuCI.ui.Dropdown.html#clearChoices">clearChoices</a></li>
1306
1307 <li data-name="LuCI.ui.Dropdown#closeAllDropdowns"><a href="LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns</a></li>
1308
1309 <li data-name="LuCI.ui.Dropdown#getValue"><a href="LuCI.ui.Dropdown.html#getValue">getValue</a></li>
1310
1311 <li data-name="LuCI.ui.Dropdown#isValid"><a href="LuCI.ui.Dropdown.html#isValid">isValid</a></li>
1312
1313 <li data-name="LuCI.ui.Dropdown#registerEvents"><a href="LuCI.ui.Dropdown.html#registerEvents">registerEvents</a></li>
1314
1315 <li data-name="LuCI.ui.Dropdown#render"><a href="LuCI.ui.Dropdown.html#render">render</a></li>
1316
1317 <li data-name="LuCI.ui.Dropdown#setChangeEvents"><a href="LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents</a></li>
1318
1319 <li data-name="LuCI.ui.Dropdown#setUpdateEvents"><a href="LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents</a></li>
1320
1321 <li data-name="LuCI.ui.Dropdown#setValue"><a href="LuCI.ui.Dropdown.html#setValue">setValue</a></li>
1322
1323 <li data-name="LuCI.ui.Dropdown#triggerValidation"><a href="LuCI.ui.Dropdown.html#triggerValidation">triggerValidation</a></li>
1324
1325 </ul>
1326 <ul class="events itemMembers">
1327
1328 </ul>
1329 </li>
1330
1331 <li class="item" data-name="LuCI.ui.DynamicList">
1332 <span class="title">
1333 <a href="LuCI.ui.DynamicList.html">LuCI.ui.DynamicList</a>
1334
1335 </span>
1336 <ul class="members itemMembers">
1337
1338 </ul>
1339 <ul class="typedefs itemMembers">
1340
1341 <span class="subtitle">Typedefs</span>
1342
1343 <li data-name="LuCI.ui.DynamicList.InitOptions"><a href="LuCI.ui.DynamicList.html#.InitOptions">InitOptions</a></li>
1344
1345 </ul>
1346 <ul class="typedefs itemMembers">
1347
1348 </ul>
1349 <ul class="methods itemMembers">
1350
1351 <span class="subtitle">Methods</span>
1352
1353 <li data-name="LuCI.ui.DynamicList#addChoices"><a href="LuCI.ui.DynamicList.html#addChoices">addChoices</a></li>
1354
1355 <li data-name="LuCI.ui.DynamicList#clearChoices"><a href="LuCI.ui.DynamicList.html#clearChoices">clearChoices</a></li>
1356
1357 <li data-name="LuCI.ui.DynamicList#getValue"><a href="LuCI.ui.DynamicList.html#getValue">getValue</a></li>
1358
1359 <li data-name="LuCI.ui.DynamicList#isValid"><a href="LuCI.ui.DynamicList.html#isValid">isValid</a></li>
1360
1361 <li data-name="LuCI.ui.DynamicList#registerEvents"><a href="LuCI.ui.DynamicList.html#registerEvents">registerEvents</a></li>
1362
1363 <li data-name="LuCI.ui.DynamicList#render"><a href="LuCI.ui.DynamicList.html#render">render</a></li>
1364
1365 <li data-name="LuCI.ui.DynamicList#setChangeEvents"><a href="LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents</a></li>
1366
1367 <li data-name="LuCI.ui.DynamicList#setUpdateEvents"><a href="LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents</a></li>
1368
1369 <li data-name="LuCI.ui.DynamicList#setValue"><a href="LuCI.ui.DynamicList.html#setValue">setValue</a></li>
1370
1371 <li data-name="LuCI.ui.DynamicList#triggerValidation"><a href="LuCI.ui.DynamicList.html#triggerValidation">triggerValidation</a></li>
1372
1373 </ul>
1374 <ul class="events itemMembers">
1375
1376 </ul>
1377 </li>
1378
1379 <li class="item" data-name="LuCI.ui.FileUpload">
1380 <span class="title">
1381 <a href="LuCI.ui.FileUpload.html">LuCI.ui.FileUpload</a>
1382
1383 </span>
1384 <ul class="members itemMembers">
1385
1386 </ul>
1387 <ul class="typedefs itemMembers">
1388
1389 <span class="subtitle">Typedefs</span>
1390
1391 <li data-name="LuCI.ui.FileUpload.InitOptions"><a href="LuCI.ui.FileUpload.html#.InitOptions">InitOptions</a></li>
1392
1393 </ul>
1394 <ul class="typedefs itemMembers">
1395
1396 </ul>
1397 <ul class="methods itemMembers">
1398
1399 <span class="subtitle">Methods</span>
1400
1401 <li data-name="LuCI.ui.FileUpload#getValue"><a href="LuCI.ui.FileUpload.html#getValue">getValue</a></li>
1402
1403 <li data-name="LuCI.ui.FileUpload#isValid"><a href="LuCI.ui.FileUpload.html#isValid">isValid</a></li>
1404
1405 <li data-name="LuCI.ui.FileUpload#registerEvents"><a href="LuCI.ui.FileUpload.html#registerEvents">registerEvents</a></li>
1406
1407 <li data-name="LuCI.ui.FileUpload#render"><a href="LuCI.ui.FileUpload.html#render">render</a></li>
1408
1409 <li data-name="LuCI.ui.FileUpload#setChangeEvents"><a href="LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents</a></li>
1410
1411 <li data-name="LuCI.ui.FileUpload#setUpdateEvents"><a href="LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents</a></li>
1412
1413 <li data-name="LuCI.ui.FileUpload#setValue"><a href="LuCI.ui.FileUpload.html#setValue">setValue</a></li>
1414
1415 <li data-name="LuCI.ui.FileUpload#triggerValidation"><a href="LuCI.ui.FileUpload.html#triggerValidation">triggerValidation</a></li>
1416
1417 </ul>
1418 <ul class="events itemMembers">
1419
1420 </ul>
1421 </li>
1422
1423 <li class="item" data-name="LuCI.ui.Hiddenfield">
1424 <span class="title">
1425 <a href="LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield</a>
1426
1427 </span>
1428 <ul class="members itemMembers">
1429
1430 </ul>
1431 <ul class="typedefs itemMembers">
1432
1433 </ul>
1434 <ul class="typedefs itemMembers">
1435
1436 </ul>
1437 <ul class="methods itemMembers">
1438
1439 <span class="subtitle">Methods</span>
1440
1441 <li data-name="LuCI.ui.Hiddenfield#getValue"><a href="LuCI.ui.Hiddenfield.html#getValue">getValue</a></li>
1442
1443 <li data-name="LuCI.ui.Hiddenfield#isValid"><a href="LuCI.ui.Hiddenfield.html#isValid">isValid</a></li>
1444
1445 <li data-name="LuCI.ui.Hiddenfield#registerEvents"><a href="LuCI.ui.Hiddenfield.html#registerEvents">registerEvents</a></li>
1446
1447 <li data-name="LuCI.ui.Hiddenfield#render"><a href="LuCI.ui.Hiddenfield.html#render">render</a></li>
1448
1449 <li data-name="LuCI.ui.Hiddenfield#setChangeEvents"><a href="LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents</a></li>
1450
1451 <li data-name="LuCI.ui.Hiddenfield#setUpdateEvents"><a href="LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents</a></li>
1452
1453 <li data-name="LuCI.ui.Hiddenfield#setValue"><a href="LuCI.ui.Hiddenfield.html#setValue">setValue</a></li>
1454
1455 <li data-name="LuCI.ui.Hiddenfield#triggerValidation"><a href="LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation</a></li>
1456
1457 </ul>
1458 <ul class="events itemMembers">
1459
1460 </ul>
1461 </li>
1462
1463 <li class="item" data-name="LuCI.ui.Select">
1464 <span class="title">
1465 <a href="LuCI.ui.Select.html">LuCI.ui.Select</a>
1466
1467 </span>
1468 <ul class="members itemMembers">
1469
1470 </ul>
1471 <ul class="typedefs itemMembers">
1472
1473 <span class="subtitle">Typedefs</span>
1474
1475 <li data-name="LuCI.ui.Select.InitOptions"><a href="LuCI.ui.Select.html#.InitOptions">InitOptions</a></li>
1476
1477 </ul>
1478 <ul class="typedefs itemMembers">
1479
1480 </ul>
1481 <ul class="methods itemMembers">
1482
1483 <span class="subtitle">Methods</span>
1484
1485 <li data-name="LuCI.ui.Select#getValue"><a href="LuCI.ui.Select.html#getValue">getValue</a></li>
1486
1487 <li data-name="LuCI.ui.Select#isValid"><a href="LuCI.ui.Select.html#isValid">isValid</a></li>
1488
1489 <li data-name="LuCI.ui.Select#registerEvents"><a href="LuCI.ui.Select.html#registerEvents">registerEvents</a></li>
1490
1491 <li data-name="LuCI.ui.Select#render"><a href="LuCI.ui.Select.html#render">render</a></li>
1492
1493 <li data-name="LuCI.ui.Select#setChangeEvents"><a href="LuCI.ui.Select.html#setChangeEvents">setChangeEvents</a></li>
1494
1495 <li data-name="LuCI.ui.Select#setUpdateEvents"><a href="LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents</a></li>
1496
1497 <li data-name="LuCI.ui.Select#setValue"><a href="LuCI.ui.Select.html#setValue">setValue</a></li>
1498
1499 <li data-name="LuCI.ui.Select#triggerValidation"><a href="LuCI.ui.Select.html#triggerValidation">triggerValidation</a></li>
1500
1501 </ul>
1502 <ul class="events itemMembers">
1503
1504 </ul>
1505 </li>
1506
1507 <li class="item" data-name="LuCI.ui.tabs">
1508 <span class="title">
1509 <a href="LuCI.ui.tabs.html">LuCI.ui.tabs</a>
1510
1511 </span>
1512 <ul class="members itemMembers">
1513
1514 </ul>
1515 <ul class="typedefs itemMembers">
1516
1517 </ul>
1518 <ul class="typedefs itemMembers">
1519
1520 </ul>
1521 <ul class="methods itemMembers">
1522
1523 <span class="subtitle">Methods</span>
1524
1525 <li data-name="LuCI.ui.tabs#initTabGroup"><a href="LuCI.ui.tabs.html#initTabGroup">initTabGroup</a></li>
1526
1527 <li data-name="LuCI.ui.tabs#isEmptyPane"><a href="LuCI.ui.tabs.html#isEmptyPane">isEmptyPane</a></li>
1528
1529 </ul>
1530 <ul class="events itemMembers">
1531
1532 </ul>
1533 </li>
1534
1535 <li class="item" data-name="LuCI.ui.Textarea">
1536 <span class="title">
1537 <a href="LuCI.ui.Textarea.html">LuCI.ui.Textarea</a>
1538
1539 </span>
1540 <ul class="members itemMembers">
1541
1542 </ul>
1543 <ul class="typedefs itemMembers">
1544
1545 <span class="subtitle">Typedefs</span>
1546
1547 <li data-name="LuCI.ui.Textarea.InitOptions"><a href="LuCI.ui.Textarea.html#.InitOptions">InitOptions</a></li>
1548
1549 </ul>
1550 <ul class="typedefs itemMembers">
1551
1552 </ul>
1553 <ul class="methods itemMembers">
1554
1555 <span class="subtitle">Methods</span>
1556
1557 <li data-name="LuCI.ui.Textarea#getValue"><a href="LuCI.ui.Textarea.html#getValue">getValue</a></li>
1558
1559 <li data-name="LuCI.ui.Textarea#isValid"><a href="LuCI.ui.Textarea.html#isValid">isValid</a></li>
1560
1561 <li data-name="LuCI.ui.Textarea#registerEvents"><a href="LuCI.ui.Textarea.html#registerEvents">registerEvents</a></li>
1562
1563 <li data-name="LuCI.ui.Textarea#render"><a href="LuCI.ui.Textarea.html#render">render</a></li>
1564
1565 <li data-name="LuCI.ui.Textarea#setChangeEvents"><a href="LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents</a></li>
1566
1567 <li data-name="LuCI.ui.Textarea#setUpdateEvents"><a href="LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents</a></li>
1568
1569 <li data-name="LuCI.ui.Textarea#setValue"><a href="LuCI.ui.Textarea.html#setValue">setValue</a></li>
1570
1571 <li data-name="LuCI.ui.Textarea#triggerValidation"><a href="LuCI.ui.Textarea.html#triggerValidation">triggerValidation</a></li>
1572
1573 </ul>
1574 <ul class="events itemMembers">
1575
1576 </ul>
1577 </li>
1578
1579 <li class="item" data-name="LuCI.ui.Textfield">
1580 <span class="title">
1581 <a href="LuCI.ui.Textfield.html">LuCI.ui.Textfield</a>
1582
1583 </span>
1584 <ul class="members itemMembers">
1585
1586 </ul>
1587 <ul class="typedefs itemMembers">
1588
1589 <span class="subtitle">Typedefs</span>
1590
1591 <li data-name="LuCI.ui.Textfield.InitOptions"><a href="LuCI.ui.Textfield.html#.InitOptions">InitOptions</a></li>
1592
1593 </ul>
1594 <ul class="typedefs itemMembers">
1595
1596 </ul>
1597 <ul class="methods itemMembers">
1598
1599 <span class="subtitle">Methods</span>
1600
1601 <li data-name="LuCI.ui.Textfield#getValue"><a href="LuCI.ui.Textfield.html#getValue">getValue</a></li>
1602
1603 <li data-name="LuCI.ui.Textfield#isValid"><a href="LuCI.ui.Textfield.html#isValid">isValid</a></li>
1604
1605 <li data-name="LuCI.ui.Textfield#registerEvents"><a href="LuCI.ui.Textfield.html#registerEvents">registerEvents</a></li>
1606
1607 <li data-name="LuCI.ui.Textfield#render"><a href="LuCI.ui.Textfield.html#render">render</a></li>
1608
1609 <li data-name="LuCI.ui.Textfield#setChangeEvents"><a href="LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents</a></li>
1610
1611 <li data-name="LuCI.ui.Textfield#setUpdateEvents"><a href="LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents</a></li>
1612
1613 <li data-name="LuCI.ui.Textfield#setValue"><a href="LuCI.ui.Textfield.html#setValue">setValue</a></li>
1614
1615 <li data-name="LuCI.ui.Textfield#triggerValidation"><a href="LuCI.ui.Textfield.html#triggerValidation">triggerValidation</a></li>
1616
1617 </ul>
1618 <ul class="events itemMembers">
1619
1620 </ul>
1621 </li>
1622
1623 <li class="item" data-name="LuCI.view">
1624 <span class="title">
1625 <a href="LuCI.view.html">LuCI.view</a>
1626
1627 </span>
1628 <ul class="members itemMembers">
1629
1630 </ul>
1631 <ul class="typedefs itemMembers">
1632
1633 </ul>
1634 <ul class="typedefs itemMembers">
1635
1636 </ul>
1637 <ul class="methods itemMembers">
1638
1639 <span class="subtitle">Methods</span>
1640
1641 <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
1642
1643 <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
1644
1645 <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
1646
1647 <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
1648
1649 <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
1650
1651 <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
1652
1653 </ul>
1654 <ul class="events itemMembers">
1655
1656 </ul>
1657 </li>
1658
1659 <li class="item" data-name="LuCI.xhr">
1660 <span class="title">
1661 <a href="LuCI.xhr.html">LuCI.xhr</a>
1662
1663 </span>
1664 <ul class="members itemMembers">
1665
1666 </ul>
1667 <ul class="typedefs itemMembers">
1668
1669 </ul>
1670 <ul class="typedefs itemMembers">
1671
1672 </ul>
1673 <ul class="methods itemMembers">
1674
1675 <span class="subtitle">Methods</span>
1676
1677 <li data-name="LuCI.xhr#abort"><a href="LuCI.xhr.html#abort">abort</a></li>
1678
1679 <li data-name="LuCI.xhr#busy"><a href="LuCI.xhr.html#busy">busy</a></li>
1680
1681 <li data-name="LuCI.xhr#cancel"><a href="LuCI.xhr.html#cancel">cancel</a></li>
1682
1683 <li data-name="LuCI.xhr#get"><a href="LuCI.xhr.html#get">get</a></li>
1684
1685 <li data-name="LuCI.xhr#post"><a href="LuCI.xhr.html#post">post</a></li>
1686
1687 <li data-name="LuCI.xhr#send_form"><a href="LuCI.xhr.html#send_form">send_form</a></li>
1688
1689 </ul>
1690 <ul class="events itemMembers">
1691
1692 </ul>
1693 </li>
1694
1695 </ul>
1696 </div>
1697 <div class="main">
1698 <h1 class="page-title" data-filename="rpc.js.html">Source: rpc.js</h1>
1699
1700
1701
1702
1703 <section>
1704 <article>
1705 <pre id="source-code" class="prettyprint source "><code>'use strict';
1706 'require baseclass';
1707 'require request';
1708
1709 var rpcRequestID = 1,
1710 rpcSessionID = L.env.sessionid || '00000000000000000000000000000000',
1711 rpcBaseURL = L.url('admin/ubus'),
1712 rpcInterceptorFns = [];
1713
1714 /**
1715 * @class rpc
1716 * @memberof LuCI
1717 * @hideconstructor
1718 * @classdesc
1719 *
1720 * The `LuCI.rpc` class provides high level ubus JSON-RPC abstractions
1721 * and means for listing and invoking remove RPC methods.
1722 */
1723 return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
1724 /* privates */
1725 call: function(req, cb, nobatch) {
1726 var q = '';
1727
1728 if (Array.isArray(req)) {
1729 if (req.length == 0)
1730 return Promise.resolve([]);
1731
1732 for (var i = 0; i &lt; req.length; i++)
1733 if (req[i].params)
1734 q += '%s%s.%s'.format(
1735 q ? ';' : '/',
1736 req[i].params[1],
1737 req[i].params[2]
1738 );
1739 }
1740 else if (req.params) {
1741 q += '/%s.%s'.format(req.params[1], req.params[2]);
1742 }
1743
1744 return request.post(rpcBaseURL + q, req, {
1745 timeout: (L.env.rpctimeout || 20) * 1000,
1746 nobatch: nobatch,
1747 credentials: true
1748 }).then(cb, cb);
1749 },
1750
1751 parseCallReply: function(req, res) {
1752 var msg = null;
1753
1754 if (res instanceof Error)
1755 return req.reject(res);
1756
1757 try {
1758 if (!res.ok)
1759 L.raise('RPCError', 'RPC call to %s/%s failed with HTTP error %d: %s',
1760 req.object, req.method, res.status, res.statusText || '?');
1761
1762 msg = res.json();
1763 }
1764 catch (e) {
1765 return req.reject(e);
1766 }
1767
1768 /*
1769 * The interceptor args are intentionally swapped.
1770 * Response is passed as first arg to align with Request class interceptors
1771 */
1772 Promise.all(rpcInterceptorFns.map(function(fn) { return fn(msg, req) }))
1773 .then(this.handleCallReply.bind(this, req, msg))
1774 .catch(req.reject);
1775 },
1776
1777 handleCallReply: function(req, msg) {
1778 var type = Object.prototype.toString,
1779 ret = null;
1780
1781 try {
1782 /* verify message frame */
1783 if (!L.isObject(msg) || msg.jsonrpc != '2.0')
1784 L.raise('RPCError', 'RPC call to %s/%s returned invalid message frame',
1785 req.object, req.method);
1786
1787 /* check error condition */
1788 if (L.isObject(msg.error) &amp;&amp; msg.error.code &amp;&amp; msg.error.message)
1789 L.raise('RPCError', 'RPC call to %s/%s failed with error %d: %s',
1790 req.object, req.method, msg.error.code, msg.error.message || '?');
1791 }
1792 catch (e) {
1793 return req.reject(e);
1794 }
1795
1796 if (!req.object &amp;&amp; !req.method) {
1797 ret = msg.result;
1798 }
1799 else if (Array.isArray(msg.result)) {
1800 ret = (msg.result.length > 1) ? msg.result[1] : msg.result[0];
1801 }
1802
1803 if (req.expect) {
1804 for (var key in req.expect) {
1805 if (ret != null &amp;&amp; key != '')
1806 ret = ret[key];
1807
1808 if (ret == null || type.call(ret) != type.call(req.expect[key]))
1809 ret = req.expect[key];
1810
1811 break;
1812 }
1813 }
1814
1815 /* apply filter */
1816 if (typeof(req.filter) == 'function') {
1817 req.priv[0] = ret;
1818 req.priv[1] = req.params;
1819 ret = req.filter.apply(this, req.priv);
1820 }
1821
1822 req.resolve(ret);
1823 },
1824
1825 /**
1826 * Lists available remote ubus objects or the method signatures of
1827 * specific objects.
1828 *
1829 * This function has two signatures and is sensitive to the number of
1830 * arguments passed to it:
1831 * - `list()` -
1832 * Returns an array containing the names of all remote `ubus` objects
1833 * - `list("objname", ...)`
1834 * Returns method signatures for each given `ubus` object name.
1835 *
1836 * @param {...string} [objectNames]
1837 * If any object names are given, this function will return the method
1838 * signatures of each given object.
1839 *
1840 * @returns {Promise&lt;Array&lt;string>|Object&lt;string, Object&lt;string, Object&lt;string, string>>>>}
1841 * When invoked without arguments, this function will return a promise
1842 * resolving to an array of `ubus` object names. When invoked with one or
1843 * more arguments, a promise resolving to an object describing the method
1844 * signatures of each requested `ubus` object name will be returned.
1845 */
1846 list: function() {
1847 var msg = {
1848 jsonrpc: '2.0',
1849 id: rpcRequestID++,
1850 method: 'list',
1851 params: arguments.length ? this.varargs(arguments) : undefined
1852 };
1853
1854 return new Promise(L.bind(function(resolveFn, rejectFn) {
1855 /* store request info */
1856 var req = {
1857 resolve: resolveFn,
1858 reject: rejectFn
1859 };
1860
1861 /* call rpc */
1862 this.call(msg, this.parseCallReply.bind(this, req));
1863 }, this));
1864 },
1865
1866 /**
1867 * @typedef {Object} DeclareOptions
1868 * @memberof LuCI.rpc
1869 *
1870 * @property {string} object
1871 * The name of the remote `ubus` object to invoke.
1872 *
1873 * @property {string} method
1874 * The name of the remote `ubus` method to invoke.
1875 *
1876 * @property {string[]} [params]
1877 * Lists the named parameters expected by the remote `ubus` RPC method.
1878 * The arguments passed to the resulting generated method call function
1879 * will be mapped to named parameters in the order they appear in this
1880 * array.
1881 *
1882 * Extraneous parameters passed to the generated function will not be
1883 * sent to the remote procedure but are passed to the
1884 * {@link LuCI.rpc~filterFn filter function} if one is specified.
1885 *
1886 * Examples:
1887 * - `params: [ "foo", "bar" ]` -
1888 * When the resulting call function is invoked with `fn(true, false)`,
1889 * the corresponding args object sent to the remote procedure will be
1890 * `{ foo: true, bar: false }`.
1891 * - `params: [ "test" ], filter: function(reply, args, extra) { ... }` -
1892 * When the resultung generated function is invoked with
1893 * `fn("foo", "bar", "baz")` then `{ "test": "foo" }` will be sent as
1894 * argument to the remote procedure and the filter function will be
1895 * invoked with `filterFn(reply, [ "foo" ], "bar", "baz")`
1896 *
1897 * @property {Object&lt;string,*>} [expect]
1898 * Describes the expected return data structure. The given object is
1899 * supposed to contain a single key selecting the value to use from
1900 * the returned `ubus` reply object. The value of the sole key within
1901 * the `expect` object is used to infer the expected type of the received
1902 * `ubus` reply data.
1903 *
1904 * If the received data does not contain `expect`'s key, or if the
1905 * type of the data differs from the type of the value in the expect
1906 * object, the expect object's value is returned as default instead.
1907 *
1908 * The key in the `expect` object may be an empty string (`''`) in which
1909 * case the entire reply object is selected instead of one of its subkeys.
1910 *
1911 * If the `expect` option is omitted, the received reply will be returned
1912 * as-is, regardless of its format or type.
1913 *
1914 * Examples:
1915 * - `expect: { '': { error: 'Invalid response' } }` -
1916 * This requires the entire `ubus` reply to be a plain JavaScript
1917 * object. If the reply isn't an object but e.g. an array or a numeric
1918 * error code instead, it will get replaced with
1919 * `{ error: 'Invalid response' }` instead.
1920 * - `expect: { results: [] }` -
1921 * This requires the received `ubus` reply to be an object containing
1922 * a key `results` with an array as value. If the received reply does
1923 * not contain such a key, or if `reply.results` points to a non-array
1924 * value, the empty array (`[]`) will be used instead.
1925 * - `expect: { success: false }` -
1926 * This requires the received `ubus` reply to be an object containing
1927 * a key `success` with a boolean value. If the reply does not contain
1928 * `success` or if `reply.success` is not a boolean value, `false` will
1929 * be returned as default instead.
1930 *
1931 * @property {LuCI.rpc~filterFn} [filter]
1932 * Specfies an optional filter function which is invoked to transform the
1933 * received reply data before it is returned to the caller.
1934 *
1935 */
1936
1937 /**
1938 * The filter function is invoked to transform a received `ubus` RPC call
1939 * reply before returning it to the caller.
1940 *
1941 * @callback LuCI.rpc~filterFn
1942 *
1943 * @param {*} data
1944 * The received `ubus` reply data or a subset of it as described in the
1945 * `expect` option of the RPC call declaration. In case of remote call
1946 * errors, `data` is numeric `ubus` error code instead.
1947 *
1948 * @param {Array&lt;*>} args
1949 * The arguments the RPC method has been invoked with.
1950 *
1951 * @param {...*} extraArgs
1952 * All extraneous arguments passed to the RPC method exceeding the number
1953 * of arguments describes in the RPC call declaration.
1954 *
1955 * @return {*}
1956 * The return value of the filter function will be returned to the caller
1957 * of the RPC method as-is.
1958 */
1959
1960 /**
1961 * The generated invocation function is returned by
1962 * {@link LuCI.rpc#declare rpc.declare()} and encapsulates a single
1963 * RPC method call.
1964 *
1965 * Calling this function will execute a remote `ubus` HTTP call request
1966 * using the arguments passed to it as arguments and return a promise
1967 * resolving to the received reply values.
1968 *
1969 * @callback LuCI.rpc~invokeFn
1970 *
1971 * @param {...*} params
1972 * The parameters to pass to the remote procedure call. The given
1973 * positional arguments will be named to named RPC parameters according
1974 * to the names specified in the `params` array of the method declaration.
1975 *
1976 * Any additional parameters exceeding the amount of arguments in the
1977 * `params` declaration are passed as private extra arguments to the
1978 * declared filter function.
1979 *
1980 * @return {Promise&lt;*>}
1981 * Returns a promise resolving to the result data of the remote `ubus`
1982 * RPC method invocation, optionally substituted and filtered according
1983 * to the `expect` and `filter` declarations.
1984 */
1985
1986 /**
1987 * Describes a remote RPC call procedure and returns a function
1988 * implementing it.
1989 *
1990 * @param {LuCI.rpc.DeclareOptions} options
1991 * If any object names are given, this function will return the method
1992 * signatures of each given object.
1993 *
1994 * @returns {LuCI.rpc~invokeFn}
1995 * Returns a new function implementing the method call described in
1996 * `options`.
1997 */
1998 declare: function(options) {
1999 return Function.prototype.bind.call(function(rpc, options) {
2000 var args = this.varargs(arguments, 2);
2001 return new Promise(function(resolveFn, rejectFn) {
2002 /* build parameter object */
2003 var p_off = 0;
2004 var params = { };
2005 if (Array.isArray(options.params))
2006 for (p_off = 0; p_off &lt; options.params.length; p_off++)
2007 params[options.params[p_off]] = args[p_off];
2008
2009 /* all remaining arguments are private args */
2010 var priv = [ undefined, undefined ];
2011 for (; p_off &lt; args.length; p_off++)
2012 priv.push(args[p_off]);
2013
2014 /* store request info */
2015 var req = {
2016 expect: options.expect,
2017 filter: options.filter,
2018 resolve: resolveFn,
2019 reject: rejectFn,
2020 params: params,
2021 priv: priv,
2022 object: options.object,
2023 method: options.method
2024 };
2025
2026 /* build message object */
2027 var msg = {
2028 jsonrpc: '2.0',
2029 id: rpcRequestID++,
2030 method: 'call',
2031 params: [
2032 rpcSessionID,
2033 options.object,
2034 options.method,
2035 params
2036 ]
2037 };
2038
2039 /* call rpc */
2040 rpc.call(msg, rpc.parseCallReply.bind(rpc, req), options.nobatch);
2041 });
2042 }, this, this, options);
2043 },
2044
2045 /**
2046 * Returns the current RPC session id.
2047 *
2048 * @returns {string}
2049 * Returns the 32 byte session ID string used for authenticating remote
2050 * requests.
2051 */
2052 getSessionID: function() {
2053 return rpcSessionID;
2054 },
2055
2056 /**
2057 * Set the RPC session id to use.
2058 *
2059 * @param {string} sid
2060 * Sets the 32 byte session ID string used for authenticating remote
2061 * requests.
2062 */
2063 setSessionID: function(sid) {
2064 rpcSessionID = sid;
2065 },
2066
2067 /**
2068 * Returns the current RPC base URL.
2069 *
2070 * @returns {string}
2071 * Returns the RPC URL endpoint to issue requests against.
2072 */
2073 getBaseURL: function() {
2074 return rpcBaseURL;
2075 },
2076
2077 /**
2078 * Set the RPC base URL to use.
2079 *
2080 * @param {string} sid
2081 * Sets the RPC URL endpoint to issue requests against.
2082 */
2083 setBaseURL: function(url) {
2084 rpcBaseURL = url;
2085 },
2086
2087 /**
2088 * Translates a numeric `ubus` error code into a human readable
2089 * description.
2090 *
2091 * @param {number} statusCode
2092 * The numeric status code.
2093 *
2094 * @returns {string}
2095 * Returns the textual description of the code.
2096 */
2097 getStatusText: function(statusCode) {
2098 switch (statusCode) {
2099 case 0: return _('Command OK');
2100 case 1: return _('Invalid command');
2101 case 2: return _('Invalid argument');
2102 case 3: return _('Method not found');
2103 case 4: return _('Resource not found');
2104 case 5: return _('No data received');
2105 case 6: return _('Permission denied');
2106 case 7: return _('Request timeout');
2107 case 8: return _('Not supported');
2108 case 9: return _('Unspecified error');
2109 case 10: return _('Connection lost');
2110 default: return _('Unknown error code');
2111 }
2112 },
2113
2114 /**
2115 * Registered interceptor functions are invoked before the standard reply
2116 * parsing and handling logic.
2117 *
2118 * By returning rejected promises, interceptor functions can cause the
2119 * invocation function to fail, regardless of the received reply.
2120 *
2121 * Interceptors may also modify their message argument in-place to
2122 * rewrite received replies before they're processed by the standard
2123 * response handling code.
2124 *
2125 * A common use case for such functions is to detect failing RPC replies
2126 * due to expired authentication in order to trigger a new login.
2127 *
2128 * @callback LuCI.rpc~interceptorFn
2129 *
2130 * @param {*} msg
2131 * The unprocessed, JSON decoded remote RPC method call reply.
2132 *
2133 * Since interceptors run before the standard parsing logic, the reply
2134 * data is not verified for correctness or filtered according to
2135 * `expect` and `filter` specifications in the declarations.
2136 *
2137 * @param {Object} req
2138 * The related request object which is an extended variant of the
2139 * declaration object, allowing access to internals of the invocation
2140 * function such as `filter`, `expect` or `params` values.
2141 *
2142 * @return {Promise&lt;*>|*}
2143 * Interceptor functions may return a promise to defer response
2144 * processing until some delayed work completed. Any values the returned
2145 * promise resolves to are ignored.
2146 *
2147 * When the returned promise rejects with an error, the invocation
2148 * function will fail too, forwarding the error to the caller.
2149 */
2150
2151 /**
2152 * Registers a new interceptor function.
2153 *
2154 * @param {LuCI.rpc~interceptorFn} interceptorFn
2155 * The inteceptor function to register.
2156 *
2157 * @returns {LuCI.rpc~interceptorFn}
2158 * Returns the given function value.
2159 */
2160 addInterceptor: function(interceptorFn) {
2161 if (typeof(interceptorFn) == 'function')
2162 rpcInterceptorFns.push(interceptorFn);
2163 return interceptorFn;
2164 },
2165
2166 /**
2167 * Removes a registered interceptor function.
2168 *
2169 * @param {LuCI.rpc~interceptorFn} interceptorFn
2170 * The inteceptor function to remove.
2171 *
2172 * @returns {boolean}
2173 * Returns `true` if the given function has been removed or `false`
2174 * if it has not been found.
2175 */
2176 removeInterceptor: function(interceptorFn) {
2177 var oldlen = rpcInterceptorFns.length, i = oldlen;
2178 while (i--)
2179 if (rpcInterceptorFns[i] === interceptorFn)
2180 rpcInterceptorFns.splice(i, 1);
2181 return (rpcInterceptorFns.length &lt; oldlen);
2182 }
2183 });
2184 </code></pre>
2185 </article>
2186 </section>
2187
2188
2189
2190
2191
2192
2193
2194
2195 <footer>
2196 Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Fri Apr 03 2020 13:28:08 GMT+0200 (Central European Summer Time)
2197 </footer>
2198 </div>
2199 </div>
2200 <script>prettyPrint();</script>
2201 <script src="scripts/jaguar.js"></script>
2202 </body>
2203 </html>