5 <title>Source: rpc.js
</title>
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>
12 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
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">
20 var config = {
"monospaceLinks":true,
"cleverLinks":true,
"default":{
"outputSourceFiles":true}};
27 <div id=
"wrap" class=
"clearfix">
29 <div class=
"navigation">
30 <h3 class=
"applicationName"><a href=
"index.html"></a></h3>
33 <input id=
"search" type=
"text" class=
"form-control input-sm" placeholder=
"Search Documentations">
37 <li class=
"item" data-name=
"LuCI">
39 <a href=
"LuCI.html">LuCI
</a>
42 <ul class=
"members itemMembers">
44 <span class=
"subtitle">Members
</span>
46 <li data-name=
"LuCI#Class"><a href=
"LuCI.html#Class">Class
</a></li>
48 <li data-name=
"LuCI#dom"><a href=
"LuCI.html#dom">dom
</a></li>
50 <li data-name=
"LuCI#env"><a href=
"LuCI.html#env">env
</a></li>
52 <li data-name=
"LuCI#Poll"><a href=
"LuCI.html#Poll">Poll
</a></li>
54 <li data-name=
"LuCI#Request"><a href=
"LuCI.html#Request">Request
</a></li>
56 <li data-name=
"LuCI#view"><a href=
"LuCI.html#view">view
</a></li>
59 <ul class=
"typedefs itemMembers">
61 <span class=
"subtitle">Typedefs
</span>
63 <li data-name=
"LuCI.requestCallbackFn"><a href=
"LuCI.html#.requestCallbackFn">requestCallbackFn
</a></li>
66 <ul class=
"typedefs itemMembers">
69 <ul class=
"methods itemMembers">
71 <span class=
"subtitle">Methods
</span>
73 <li data-name=
"LuCI#bind"><a href=
"LuCI.html#bind">bind
</a></li>
75 <li data-name=
"LuCI#error"><a href=
"LuCI.html#error">error
</a></li>
77 <li data-name=
"LuCI#get"><a href=
"LuCI.html#get">get
</a></li>
79 <li data-name=
"LuCI#halt"><a href=
"LuCI.html#halt">halt
</a></li>
81 <li data-name=
"LuCI#hasSystemFeature"><a href=
"LuCI.html#hasSystemFeature">hasSystemFeature
</a></li>
83 <li data-name=
"LuCI#isObject"><a href=
"LuCI.html#isObject">isObject
</a></li>
85 <li data-name=
"LuCI#location"><a href=
"LuCI.html#location">location
</a></li>
87 <li data-name=
"LuCI#media"><a href=
"LuCI.html#media">media
</a></li>
89 <li data-name=
"LuCI#path"><a href=
"LuCI.html#path">path
</a></li>
91 <li data-name=
"LuCI#poll"><a href=
"LuCI.html#poll">poll
</a></li>
93 <li data-name=
"LuCI#post"><a href=
"LuCI.html#post">post
</a></li>
95 <li data-name=
"LuCI#raise"><a href=
"LuCI.html#raise">raise
</a></li>
97 <li data-name=
"LuCI#require"><a href=
"LuCI.html#require">require
</a></li>
99 <li data-name=
"LuCI#resolveDefault"><a href=
"LuCI.html#resolveDefault">resolveDefault
</a></li>
101 <li data-name=
"LuCI#resource"><a href=
"LuCI.html#resource">resource
</a></li>
103 <li data-name=
"LuCI#run"><a href=
"LuCI.html#run">run
</a></li>
105 <li data-name=
"LuCI#sortedKeys"><a href=
"LuCI.html#sortedKeys">sortedKeys
</a></li>
107 <li data-name=
"LuCI#stop"><a href=
"LuCI.html#stop">stop
</a></li>
109 <li data-name=
"LuCI#toArray"><a href=
"LuCI.html#toArray">toArray
</a></li>
111 <li data-name=
"LuCI#url"><a href=
"LuCI.html#url">url
</a></li>
114 <ul class=
"events itemMembers">
119 <li class=
"item" data-name=
"LuCI.baseclass">
121 <a href=
"LuCI.baseclass.html">LuCI.baseclass
</a>
124 <ul class=
"members itemMembers">
127 <ul class=
"typedefs itemMembers">
130 <ul class=
"typedefs itemMembers">
133 <ul class=
"methods itemMembers">
135 <span class=
"subtitle">Methods
</span>
137 <li data-name=
"LuCI.baseclass.extend"><a href=
"LuCI.baseclass.html#.extend">extend
</a></li>
139 <li data-name=
"LuCI.baseclass.instantiate"><a href=
"LuCI.baseclass.html#.instantiate">instantiate
</a></li>
141 <li data-name=
"LuCI.baseclass.isSubclass"><a href=
"LuCI.baseclass.html#.isSubclass">isSubclass
</a></li>
143 <li data-name=
"LuCI.baseclass.singleton"><a href=
"LuCI.baseclass.html#.singleton">singleton
</a></li>
145 <li data-name=
"LuCI.baseclass#super"><a href=
"LuCI.baseclass.html#super">super
</a></li>
147 <li data-name=
"LuCI.baseclass#varargs"><a href=
"LuCI.baseclass.html#varargs">varargs
</a></li>
150 <ul class=
"events itemMembers">
155 <li class=
"item" data-name=
"LuCI.dom">
157 <a href=
"LuCI.dom.html">LuCI.dom
</a>
160 <ul class=
"members itemMembers">
163 <ul class=
"typedefs itemMembers">
165 <span class=
"subtitle">Typedefs
</span>
167 <li data-name=
"LuCI.dom~ignoreCallbackFn"><a href=
"LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn
</a></li>
170 <ul class=
"typedefs itemMembers">
173 <ul class=
"methods itemMembers">
175 <span class=
"subtitle">Methods
</span>
177 <li data-name=
"LuCI.dom#append"><a href=
"LuCI.dom.html#append">append
</a></li>
179 <li data-name=
"LuCI.dom#attr"><a href=
"LuCI.dom.html#attr">attr
</a></li>
181 <li data-name=
"LuCI.dom#bindClassInstance"><a href=
"LuCI.dom.html#bindClassInstance">bindClassInstance
</a></li>
183 <li data-name=
"LuCI.dom#callClassMethod"><a href=
"LuCI.dom.html#callClassMethod">callClassMethod
</a></li>
185 <li data-name=
"LuCI.dom#content"><a href=
"LuCI.dom.html#content">content
</a></li>
187 <li data-name=
"LuCI.dom#create"><a href=
"LuCI.dom.html#create">create
</a></li>
189 <li data-name=
"LuCI.dom#data"><a href=
"LuCI.dom.html#data">data
</a></li>
191 <li data-name=
"LuCI.dom#elem"><a href=
"LuCI.dom.html#elem">elem
</a></li>
193 <li data-name=
"LuCI.dom#findClassInstance"><a href=
"LuCI.dom.html#findClassInstance">findClassInstance
</a></li>
195 <li data-name=
"LuCI.dom#isEmpty"><a href=
"LuCI.dom.html#isEmpty">isEmpty
</a></li>
197 <li data-name=
"LuCI.dom#matches"><a href=
"LuCI.dom.html#matches">matches
</a></li>
199 <li data-name=
"LuCI.dom#parent"><a href=
"LuCI.dom.html#parent">parent
</a></li>
201 <li data-name=
"LuCI.dom#parse"><a href=
"LuCI.dom.html#parse">parse
</a></li>
204 <ul class=
"events itemMembers">
209 <li class=
"item" data-name=
"LuCI.fs">
211 <a href=
"LuCI.fs.html">LuCI.fs
</a>
214 <ul class=
"members itemMembers">
217 <ul class=
"typedefs itemMembers">
219 <span class=
"subtitle">Typedefs
</span>
221 <li data-name=
"LuCI.fs.FileExecResult"><a href=
"LuCI.fs.html#.FileExecResult">FileExecResult
</a></li>
223 <li data-name=
"LuCI.fs.FileStatEntry"><a href=
"LuCI.fs.html#.FileStatEntry">FileStatEntry
</a></li>
226 <ul class=
"typedefs itemMembers">
229 <ul class=
"methods itemMembers">
231 <span class=
"subtitle">Methods
</span>
233 <li data-name=
"LuCI.fs#exec"><a href=
"LuCI.fs.html#exec">exec
</a></li>
235 <li data-name=
"LuCI.fs#exec_direct"><a href=
"LuCI.fs.html#exec_direct">exec_direct
</a></li>
237 <li data-name=
"LuCI.fs#lines"><a href=
"LuCI.fs.html#lines">lines
</a></li>
239 <li data-name=
"LuCI.fs#list"><a href=
"LuCI.fs.html#list">list
</a></li>
241 <li data-name=
"LuCI.fs#read"><a href=
"LuCI.fs.html#read">read
</a></li>
243 <li data-name=
"LuCI.fs#read_direct"><a href=
"LuCI.fs.html#read_direct">read_direct
</a></li>
245 <li data-name=
"LuCI.fs#remove"><a href=
"LuCI.fs.html#remove">remove
</a></li>
247 <li data-name=
"LuCI.fs#stat"><a href=
"LuCI.fs.html#stat">stat
</a></li>
249 <li data-name=
"LuCI.fs#trimmed"><a href=
"LuCI.fs.html#trimmed">trimmed
</a></li>
251 <li data-name=
"LuCI.fs#write"><a href=
"LuCI.fs.html#write">write
</a></li>
254 <ul class=
"events itemMembers">
259 <li class=
"item" data-name=
"LuCI.headers">
261 <a href=
"LuCI.headers.html">LuCI.headers
</a>
264 <ul class=
"members itemMembers">
267 <ul class=
"typedefs itemMembers">
270 <ul class=
"typedefs itemMembers">
273 <ul class=
"methods itemMembers">
275 <span class=
"subtitle">Methods
</span>
277 <li data-name=
"LuCI.headers#get"><a href=
"LuCI.headers.html#get">get
</a></li>
279 <li data-name=
"LuCI.headers#has"><a href=
"LuCI.headers.html#has">has
</a></li>
282 <ul class=
"events itemMembers">
287 <li class=
"item" data-name=
"LuCI.network">
289 <a href=
"LuCI.network.html">LuCI.network
</a>
292 <ul class=
"members itemMembers">
295 <ul class=
"typedefs itemMembers">
297 <span class=
"subtitle">Typedefs
</span>
299 <li data-name=
"LuCI.network.SwitchTopology"><a href=
"LuCI.network.html#.SwitchTopology">SwitchTopology
</a></li>
301 <li data-name=
"LuCI.network.WifiEncryption"><a href=
"LuCI.network.html#.WifiEncryption">WifiEncryption
</a></li>
303 <li data-name=
"LuCI.network.WifiPeerEntry"><a href=
"LuCI.network.html#.WifiPeerEntry">WifiPeerEntry
</a></li>
305 <li data-name=
"LuCI.network.WifiRateEntry"><a href=
"LuCI.network.html#.WifiRateEntry">WifiRateEntry
</a></li>
307 <li data-name=
"LuCI.network.WifiScanResult"><a href=
"LuCI.network.html#.WifiScanResult">WifiScanResult
</a></li>
310 <ul class=
"typedefs itemMembers">
313 <ul class=
"methods itemMembers">
315 <span class=
"subtitle">Methods
</span>
317 <li data-name=
"LuCI.network#addNetwork"><a href=
"LuCI.network.html#addNetwork">addNetwork
</a></li>
319 <li data-name=
"LuCI.network#addWifiNetwork"><a href=
"LuCI.network.html#addWifiNetwork">addWifiNetwork
</a></li>
321 <li data-name=
"LuCI.network#deleteNetwork"><a href=
"LuCI.network.html#deleteNetwork">deleteNetwork
</a></li>
323 <li data-name=
"LuCI.network#deleteWifiNetwork"><a href=
"LuCI.network.html#deleteWifiNetwork">deleteWifiNetwork
</a></li>
325 <li data-name=
"LuCI.network#flushCache"><a href=
"LuCI.network.html#flushCache">flushCache
</a></li>
327 <li data-name=
"LuCI.network#formatWifiEncryption"><a href=
"LuCI.network.html#formatWifiEncryption">formatWifiEncryption
</a></li>
329 <li data-name=
"LuCI.network#getDevice"><a href=
"LuCI.network.html#getDevice">getDevice
</a></li>
331 <li data-name=
"LuCI.network#getDevices"><a href=
"LuCI.network.html#getDevices">getDevices
</a></li>
333 <li data-name=
"LuCI.network#getDSLModemType"><a href=
"LuCI.network.html#getDSLModemType">getDSLModemType
</a></li>
335 <li data-name=
"LuCI.network#getHostHints"><a href=
"LuCI.network.html#getHostHints">getHostHints
</a></li>
337 <li data-name=
"LuCI.network#getIfnameOf"><a href=
"LuCI.network.html#getIfnameOf">getIfnameOf
</a></li>
339 <li data-name=
"LuCI.network#getNetwork"><a href=
"LuCI.network.html#getNetwork">getNetwork
</a></li>
341 <li data-name=
"LuCI.network#getNetworks"><a href=
"LuCI.network.html#getNetworks">getNetworks
</a></li>
343 <li data-name=
"LuCI.network#getProtocol"><a href=
"LuCI.network.html#getProtocol">getProtocol
</a></li>
345 <li data-name=
"LuCI.network#getProtocols"><a href=
"LuCI.network.html#getProtocols">getProtocols
</a></li>
347 <li data-name=
"LuCI.network#getSwitchTopologies"><a href=
"LuCI.network.html#getSwitchTopologies">getSwitchTopologies
</a></li>
349 <li data-name=
"LuCI.network#getWAN6Networks"><a href=
"LuCI.network.html#getWAN6Networks">getWAN6Networks
</a></li>
351 <li data-name=
"LuCI.network#getWANNetworks"><a href=
"LuCI.network.html#getWANNetworks">getWANNetworks
</a></li>
353 <li data-name=
"LuCI.network#getWifiDevice"><a href=
"LuCI.network.html#getWifiDevice">getWifiDevice
</a></li>
355 <li data-name=
"LuCI.network#getWifiDevices"><a href=
"LuCI.network.html#getWifiDevices">getWifiDevices
</a></li>
357 <li data-name=
"LuCI.network#getWifiNetwork"><a href=
"LuCI.network.html#getWifiNetwork">getWifiNetwork
</a></li>
359 <li data-name=
"LuCI.network#getWifiNetworks"><a href=
"LuCI.network.html#getWifiNetworks">getWifiNetworks
</a></li>
361 <li data-name=
"LuCI.network#isIgnoredDevice"><a href=
"LuCI.network.html#isIgnoredDevice">isIgnoredDevice
</a></li>
363 <li data-name=
"LuCI.network#maskToPrefix"><a href=
"LuCI.network.html#maskToPrefix">maskToPrefix
</a></li>
365 <li data-name=
"LuCI.network#prefixToMask"><a href=
"LuCI.network.html#prefixToMask">prefixToMask
</a></li>
367 <li data-name=
"LuCI.network#registerErrorCode"><a href=
"LuCI.network.html#registerErrorCode">registerErrorCode
</a></li>
369 <li data-name=
"LuCI.network#registerPatternVirtual"><a href=
"LuCI.network.html#registerPatternVirtual">registerPatternVirtual
</a></li>
371 <li data-name=
"LuCI.network#registerProtocol"><a href=
"LuCI.network.html#registerProtocol">registerProtocol
</a></li>
373 <li data-name=
"LuCI.network#renameNetwork"><a href=
"LuCI.network.html#renameNetwork">renameNetwork
</a></li>
376 <ul class=
"events itemMembers">
381 <li class=
"item" data-name=
"LuCI.network.Device">
383 <a href=
"LuCI.network.Device.html">LuCI.network.Device
</a>
386 <ul class=
"members itemMembers">
389 <ul class=
"typedefs itemMembers">
392 <ul class=
"typedefs itemMembers">
395 <ul class=
"methods itemMembers">
397 <span class=
"subtitle">Methods
</span>
399 <li data-name=
"LuCI.network.Device#getBridgeID"><a href=
"LuCI.network.Device.html#getBridgeID">getBridgeID
</a></li>
401 <li data-name=
"LuCI.network.Device#getBridgeSTP"><a href=
"LuCI.network.Device.html#getBridgeSTP">getBridgeSTP
</a></li>
403 <li data-name=
"LuCI.network.Device#getI18n"><a href=
"LuCI.network.Device.html#getI18n">getI18n
</a></li>
405 <li data-name=
"LuCI.network.Device#getIP6Addrs"><a href=
"LuCI.network.Device.html#getIP6Addrs">getIP6Addrs
</a></li>
407 <li data-name=
"LuCI.network.Device#getIPAddrs"><a href=
"LuCI.network.Device.html#getIPAddrs">getIPAddrs
</a></li>
409 <li data-name=
"LuCI.network.Device#getMAC"><a href=
"LuCI.network.Device.html#getMAC">getMAC
</a></li>
411 <li data-name=
"LuCI.network.Device#getMTU"><a href=
"LuCI.network.Device.html#getMTU">getMTU
</a></li>
413 <li data-name=
"LuCI.network.Device#getName"><a href=
"LuCI.network.Device.html#getName">getName
</a></li>
415 <li data-name=
"LuCI.network.Device#getNetwork"><a href=
"LuCI.network.Device.html#getNetwork">getNetwork
</a></li>
417 <li data-name=
"LuCI.network.Device#getNetworks"><a href=
"LuCI.network.Device.html#getNetworks">getNetworks
</a></li>
419 <li data-name=
"LuCI.network.Device#getPorts"><a href=
"LuCI.network.Device.html#getPorts">getPorts
</a></li>
421 <li data-name=
"LuCI.network.Device#getRXBytes"><a href=
"LuCI.network.Device.html#getRXBytes">getRXBytes
</a></li>
423 <li data-name=
"LuCI.network.Device#getRXPackets"><a href=
"LuCI.network.Device.html#getRXPackets">getRXPackets
</a></li>
425 <li data-name=
"LuCI.network.Device#getShortName"><a href=
"LuCI.network.Device.html#getShortName">getShortName
</a></li>
427 <li data-name=
"LuCI.network.Device#getTXBytes"><a href=
"LuCI.network.Device.html#getTXBytes">getTXBytes
</a></li>
429 <li data-name=
"LuCI.network.Device#getTXPackets"><a href=
"LuCI.network.Device.html#getTXPackets">getTXPackets
</a></li>
431 <li data-name=
"LuCI.network.Device#getType"><a href=
"LuCI.network.Device.html#getType">getType
</a></li>
433 <li data-name=
"LuCI.network.Device#getTypeI18n"><a href=
"LuCI.network.Device.html#getTypeI18n">getTypeI18n
</a></li>
435 <li data-name=
"LuCI.network.Device#getWifiNetwork"><a href=
"LuCI.network.Device.html#getWifiNetwork">getWifiNetwork
</a></li>
437 <li data-name=
"LuCI.network.Device#isBridge"><a href=
"LuCI.network.Device.html#isBridge">isBridge
</a></li>
439 <li data-name=
"LuCI.network.Device#isBridgePort"><a href=
"LuCI.network.Device.html#isBridgePort">isBridgePort
</a></li>
441 <li data-name=
"LuCI.network.Device#isUp"><a href=
"LuCI.network.Device.html#isUp">isUp
</a></li>
444 <ul class=
"events itemMembers">
449 <li class=
"item" data-name=
"LuCI.network.Hosts">
451 <a href=
"LuCI.network.Hosts.html">LuCI.network.Hosts
</a>
454 <ul class=
"members itemMembers">
457 <ul class=
"typedefs itemMembers">
460 <ul class=
"typedefs itemMembers">
463 <ul class=
"methods itemMembers">
465 <span class=
"subtitle">Methods
</span>
467 <li data-name=
"LuCI.network.Hosts#getHostnameByIP6Addr"><a href=
"LuCI.network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr
</a></li>
469 <li data-name=
"LuCI.network.Hosts#getHostnameByIPAddr"><a href=
"LuCI.network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr
</a></li>
471 <li data-name=
"LuCI.network.Hosts#getHostnameByMACAddr"><a href=
"LuCI.network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr
</a></li>
473 <li data-name=
"LuCI.network.Hosts#getIP6AddrByMACAddr"><a href=
"LuCI.network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr
</a></li>
475 <li data-name=
"LuCI.network.Hosts#getIPAddrByMACAddr"><a href=
"LuCI.network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr
</a></li>
477 <li data-name=
"LuCI.network.Hosts#getMACAddrByIP6Addr"><a href=
"LuCI.network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr
</a></li>
479 <li data-name=
"LuCI.network.Hosts#getMACAddrByIPAddr"><a href=
"LuCI.network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr
</a></li>
481 <li data-name=
"LuCI.network.Hosts#getMACHints"><a href=
"LuCI.network.Hosts.html#getMACHints">getMACHints
</a></li>
484 <ul class=
"events itemMembers">
489 <li class=
"item" data-name=
"LuCI.network.Protocol">
491 <a href=
"LuCI.network.Protocol.html">LuCI.network.Protocol
</a>
494 <ul class=
"members itemMembers">
497 <ul class=
"typedefs itemMembers">
500 <ul class=
"typedefs itemMembers">
503 <ul class=
"methods itemMembers">
505 <span class=
"subtitle">Methods
</span>
507 <li data-name=
"LuCI.network.Protocol#addDevice"><a href=
"LuCI.network.Protocol.html#addDevice">addDevice
</a></li>
509 <li data-name=
"LuCI.network.Protocol#containsDevice"><a href=
"LuCI.network.Protocol.html#containsDevice">containsDevice
</a></li>
511 <li data-name=
"LuCI.network.Protocol#deleteConfiguration"><a href=
"LuCI.network.Protocol.html#deleteConfiguration">deleteConfiguration
</a></li>
513 <li data-name=
"LuCI.network.Protocol#deleteDevice"><a href=
"LuCI.network.Protocol.html#deleteDevice">deleteDevice
</a></li>
515 <li data-name=
"LuCI.network.Protocol#get"><a href=
"LuCI.network.Protocol.html#get">get
</a></li>
517 <li data-name=
"LuCI.network.Protocol#getDevice"><a href=
"LuCI.network.Protocol.html#getDevice">getDevice
</a></li>
519 <li data-name=
"LuCI.network.Protocol#getDevices"><a href=
"LuCI.network.Protocol.html#getDevices">getDevices
</a></li>
521 <li data-name=
"LuCI.network.Protocol#getDNS6Addrs"><a href=
"LuCI.network.Protocol.html#getDNS6Addrs">getDNS6Addrs
</a></li>
523 <li data-name=
"LuCI.network.Protocol#getDNSAddrs"><a href=
"LuCI.network.Protocol.html#getDNSAddrs">getDNSAddrs
</a></li>
525 <li data-name=
"LuCI.network.Protocol#getErrors"><a href=
"LuCI.network.Protocol.html#getErrors">getErrors
</a></li>
527 <li data-name=
"LuCI.network.Protocol#getExpiry"><a href=
"LuCI.network.Protocol.html#getExpiry">getExpiry
</a></li>
529 <li data-name=
"LuCI.network.Protocol#getGateway6Addr"><a href=
"LuCI.network.Protocol.html#getGateway6Addr">getGateway6Addr
</a></li>
531 <li data-name=
"LuCI.network.Protocol#getGatewayAddr"><a href=
"LuCI.network.Protocol.html#getGatewayAddr">getGatewayAddr
</a></li>
533 <li data-name=
"LuCI.network.Protocol#getI18n"><a href=
"LuCI.network.Protocol.html#getI18n">getI18n
</a></li>
535 <li data-name=
"LuCI.network.Protocol#getIfname"><a href=
"LuCI.network.Protocol.html#getIfname">getIfname
</a></li>
537 <li data-name=
"LuCI.network.Protocol#getIP6Addr"><a href=
"LuCI.network.Protocol.html#getIP6Addr">getIP6Addr
</a></li>
539 <li data-name=
"LuCI.network.Protocol#getIP6Addrs"><a href=
"LuCI.network.Protocol.html#getIP6Addrs">getIP6Addrs
</a></li>
541 <li data-name=
"LuCI.network.Protocol#getIP6Prefix"><a href=
"LuCI.network.Protocol.html#getIP6Prefix">getIP6Prefix
</a></li>
543 <li data-name=
"LuCI.network.Protocol#getIPAddr"><a href=
"LuCI.network.Protocol.html#getIPAddr">getIPAddr
</a></li>
545 <li data-name=
"LuCI.network.Protocol#getIPAddrs"><a href=
"LuCI.network.Protocol.html#getIPAddrs">getIPAddrs
</a></li>
547 <li data-name=
"LuCI.network.Protocol#getL2Device"><a href=
"LuCI.network.Protocol.html#getL2Device">getL2Device
</a></li>
549 <li data-name=
"LuCI.network.Protocol#getL3Device"><a href=
"LuCI.network.Protocol.html#getL3Device">getL3Device
</a></li>
551 <li data-name=
"LuCI.network.Protocol#getMetric"><a href=
"LuCI.network.Protocol.html#getMetric">getMetric
</a></li>
553 <li data-name=
"LuCI.network.Protocol#getName"><a href=
"LuCI.network.Protocol.html#getName">getName
</a></li>
555 <li data-name=
"LuCI.network.Protocol#getNetmask"><a href=
"LuCI.network.Protocol.html#getNetmask">getNetmask
</a></li>
557 <li data-name=
"LuCI.network.Protocol#getOpkgPackage"><a href=
"LuCI.network.Protocol.html#getOpkgPackage">getOpkgPackage
</a></li>
559 <li data-name=
"LuCI.network.Protocol#getProtocol"><a href=
"LuCI.network.Protocol.html#getProtocol">getProtocol
</a></li>
561 <li data-name=
"LuCI.network.Protocol#getType"><a href=
"LuCI.network.Protocol.html#getType">getType
</a></li>
563 <li data-name=
"LuCI.network.Protocol#getUptime"><a href=
"LuCI.network.Protocol.html#getUptime">getUptime
</a></li>
565 <li data-name=
"LuCI.network.Protocol#getZoneName"><a href=
"LuCI.network.Protocol.html#getZoneName">getZoneName
</a></li>
567 <li data-name=
"LuCI.network.Protocol#isAlias"><a href=
"LuCI.network.Protocol.html#isAlias">isAlias
</a></li>
569 <li data-name=
"LuCI.network.Protocol#isBridge"><a href=
"LuCI.network.Protocol.html#isBridge">isBridge
</a></li>
571 <li data-name=
"LuCI.network.Protocol#isDynamic"><a href=
"LuCI.network.Protocol.html#isDynamic">isDynamic
</a></li>
573 <li data-name=
"LuCI.network.Protocol#isEmpty"><a href=
"LuCI.network.Protocol.html#isEmpty">isEmpty
</a></li>
575 <li data-name=
"LuCI.network.Protocol#isFloating"><a href=
"LuCI.network.Protocol.html#isFloating">isFloating
</a></li>
577 <li data-name=
"LuCI.network.Protocol#isInstalled"><a href=
"LuCI.network.Protocol.html#isInstalled">isInstalled
</a></li>
579 <li data-name=
"LuCI.network.Protocol#isUp"><a href=
"LuCI.network.Protocol.html#isUp">isUp
</a></li>
581 <li data-name=
"LuCI.network.Protocol#isVirtual"><a href=
"LuCI.network.Protocol.html#isVirtual">isVirtual
</a></li>
583 <li data-name=
"LuCI.network.Protocol#set"><a href=
"LuCI.network.Protocol.html#set">set
</a></li>
586 <ul class=
"events itemMembers">
591 <li class=
"item" data-name=
"LuCI.network.WifiDevice">
593 <a href=
"LuCI.network.WifiDevice.html">LuCI.network.WifiDevice
</a>
596 <ul class=
"members itemMembers">
599 <ul class=
"typedefs itemMembers">
602 <ul class=
"typedefs itemMembers">
605 <ul class=
"methods itemMembers">
607 <span class=
"subtitle">Methods
</span>
609 <li data-name=
"LuCI.network.WifiDevice#addWifiNetwork"><a href=
"LuCI.network.WifiDevice.html#addWifiNetwork">addWifiNetwork
</a></li>
611 <li data-name=
"LuCI.network.WifiDevice#deleteWifiNetwork"><a href=
"LuCI.network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork
</a></li>
613 <li data-name=
"LuCI.network.WifiDevice#get"><a href=
"LuCI.network.WifiDevice.html#get">get
</a></li>
615 <li data-name=
"LuCI.network.WifiDevice#getHTModes"><a href=
"LuCI.network.WifiDevice.html#getHTModes">getHTModes
</a></li>
617 <li data-name=
"LuCI.network.WifiDevice#getHWModes"><a href=
"LuCI.network.WifiDevice.html#getHWModes">getHWModes
</a></li>
619 <li data-name=
"LuCI.network.WifiDevice#getI18n"><a href=
"LuCI.network.WifiDevice.html#getI18n">getI18n
</a></li>
621 <li data-name=
"LuCI.network.WifiDevice#getName"><a href=
"LuCI.network.WifiDevice.html#getName">getName
</a></li>
623 <li data-name=
"LuCI.network.WifiDevice#getScanList"><a href=
"LuCI.network.WifiDevice.html#getScanList">getScanList
</a></li>
625 <li data-name=
"LuCI.network.WifiDevice#getWifiNetwork"><a href=
"LuCI.network.WifiDevice.html#getWifiNetwork">getWifiNetwork
</a></li>
627 <li data-name=
"LuCI.network.WifiDevice#getWifiNetworks"><a href=
"LuCI.network.WifiDevice.html#getWifiNetworks">getWifiNetworks
</a></li>
629 <li data-name=
"LuCI.network.WifiDevice#isDisabled"><a href=
"LuCI.network.WifiDevice.html#isDisabled">isDisabled
</a></li>
631 <li data-name=
"LuCI.network.WifiDevice#isUp"><a href=
"LuCI.network.WifiDevice.html#isUp">isUp
</a></li>
633 <li data-name=
"LuCI.network.WifiDevice#set"><a href=
"LuCI.network.WifiDevice.html#set">set
</a></li>
636 <ul class=
"events itemMembers">
641 <li class=
"item" data-name=
"LuCI.network.WifiNetwork">
643 <a href=
"LuCI.network.WifiNetwork.html">LuCI.network.WifiNetwork
</a>
646 <ul class=
"members itemMembers">
649 <ul class=
"typedefs itemMembers">
652 <ul class=
"typedefs itemMembers">
655 <ul class=
"methods itemMembers">
657 <span class=
"subtitle">Methods
</span>
659 <li data-name=
"LuCI.network.WifiNetwork#disconnectClient"><a href=
"LuCI.network.WifiNetwork.html#disconnectClient">disconnectClient
</a></li>
661 <li data-name=
"LuCI.network.WifiNetwork#get"><a href=
"LuCI.network.WifiNetwork.html#get">get
</a></li>
663 <li data-name=
"LuCI.network.WifiNetwork#getActiveBSSID"><a href=
"LuCI.network.WifiNetwork.html#getActiveBSSID">getActiveBSSID
</a></li>
665 <li data-name=
"LuCI.network.WifiNetwork#getActiveEncryption"><a href=
"LuCI.network.WifiNetwork.html#getActiveEncryption">getActiveEncryption
</a></li>
667 <li data-name=
"LuCI.network.WifiNetwork#getActiveMode"><a href=
"LuCI.network.WifiNetwork.html#getActiveMode">getActiveMode
</a></li>
669 <li data-name=
"LuCI.network.WifiNetwork#getActiveModeI18n"><a href=
"LuCI.network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n
</a></li>
671 <li data-name=
"LuCI.network.WifiNetwork#getActiveSSID"><a href=
"LuCI.network.WifiNetwork.html#getActiveSSID">getActiveSSID
</a></li>
673 <li data-name=
"LuCI.network.WifiNetwork#getAssocList"><a href=
"LuCI.network.WifiNetwork.html#getAssocList">getAssocList
</a></li>
675 <li data-name=
"LuCI.network.WifiNetwork#getBitRate"><a href=
"LuCI.network.WifiNetwork.html#getBitRate">getBitRate
</a></li>
677 <li data-name=
"LuCI.network.WifiNetwork#getBSSID"><a href=
"LuCI.network.WifiNetwork.html#getBSSID">getBSSID
</a></li>
679 <li data-name=
"LuCI.network.WifiNetwork#getChannel"><a href=
"LuCI.network.WifiNetwork.html#getChannel">getChannel
</a></li>
681 <li data-name=
"LuCI.network.WifiNetwork#getCountryCode"><a href=
"LuCI.network.WifiNetwork.html#getCountryCode">getCountryCode
</a></li>
683 <li data-name=
"LuCI.network.WifiNetwork#getDevice"><a href=
"LuCI.network.WifiNetwork.html#getDevice">getDevice
</a></li>
685 <li data-name=
"LuCI.network.WifiNetwork#getFrequency"><a href=
"LuCI.network.WifiNetwork.html#getFrequency">getFrequency
</a></li>
687 <li data-name=
"LuCI.network.WifiNetwork#getI18n"><a href=
"LuCI.network.WifiNetwork.html#getI18n">getI18n
</a></li>
689 <li data-name=
"LuCI.network.WifiNetwork#getID"><a href=
"LuCI.network.WifiNetwork.html#getID">getID
</a></li>
691 <li data-name=
"LuCI.network.WifiNetwork#getIfname"><a href=
"LuCI.network.WifiNetwork.html#getIfname">getIfname
</a></li>
693 <li data-name=
"LuCI.network.WifiNetwork#getMeshID"><a href=
"LuCI.network.WifiNetwork.html#getMeshID">getMeshID
</a></li>
695 <li data-name=
"LuCI.network.WifiNetwork#getMode"><a href=
"LuCI.network.WifiNetwork.html#getMode">getMode
</a></li>
697 <li data-name=
"LuCI.network.WifiNetwork#getName"><a href=
"LuCI.network.WifiNetwork.html#getName">getName
</a></li>
699 <li data-name=
"LuCI.network.WifiNetwork#getNetwork"><a href=
"LuCI.network.WifiNetwork.html#getNetwork">getNetwork
</a></li>
701 <li data-name=
"LuCI.network.WifiNetwork#getNetworkNames"><a href=
"LuCI.network.WifiNetwork.html#getNetworkNames">getNetworkNames
</a></li>
703 <li data-name=
"LuCI.network.WifiNetwork#getNetworks"><a href=
"LuCI.network.WifiNetwork.html#getNetworks">getNetworks
</a></li>
705 <li data-name=
"LuCI.network.WifiNetwork#getNoise"><a href=
"LuCI.network.WifiNetwork.html#getNoise">getNoise
</a></li>
707 <li data-name=
"LuCI.network.WifiNetwork#getShortName"><a href=
"LuCI.network.WifiNetwork.html#getShortName">getShortName
</a></li>
709 <li data-name=
"LuCI.network.WifiNetwork#getSignal"><a href=
"LuCI.network.WifiNetwork.html#getSignal">getSignal
</a></li>
711 <li data-name=
"LuCI.network.WifiNetwork#getSignalLevel"><a href=
"LuCI.network.WifiNetwork.html#getSignalLevel">getSignalLevel
</a></li>
713 <li data-name=
"LuCI.network.WifiNetwork#getSignalPercent"><a href=
"LuCI.network.WifiNetwork.html#getSignalPercent">getSignalPercent
</a></li>
715 <li data-name=
"LuCI.network.WifiNetwork#getSSID"><a href=
"LuCI.network.WifiNetwork.html#getSSID">getSSID
</a></li>
717 <li data-name=
"LuCI.network.WifiNetwork#getTXPower"><a href=
"LuCI.network.WifiNetwork.html#getTXPower">getTXPower
</a></li>
719 <li data-name=
"LuCI.network.WifiNetwork#getTXPowerOffset"><a href=
"LuCI.network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset
</a></li>
721 <li data-name=
"LuCI.network.WifiNetwork#getWifiDevice"><a href=
"LuCI.network.WifiNetwork.html#getWifiDevice">getWifiDevice
</a></li>
723 <li data-name=
"LuCI.network.WifiNetwork#getWifiDeviceName"><a href=
"LuCI.network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName
</a></li>
725 <li data-name=
"LuCI.network.WifiNetwork#isClientDisconnectSupported"><a href=
"LuCI.network.WifiNetwork.html#isClientDisconnectSupported">isClientDisconnectSupported
</a></li>
727 <li data-name=
"LuCI.network.WifiNetwork#isDisabled"><a href=
"LuCI.network.WifiNetwork.html#isDisabled">isDisabled
</a></li>
729 <li data-name=
"LuCI.network.WifiNetwork#isUp"><a href=
"LuCI.network.WifiNetwork.html#isUp">isUp
</a></li>
731 <li data-name=
"LuCI.network.WifiNetwork#set"><a href=
"LuCI.network.WifiNetwork.html#set">set
</a></li>
734 <ul class=
"events itemMembers">
739 <li class=
"item" data-name=
"LuCI.poll">
741 <a href=
"LuCI.poll.html">LuCI.poll
</a>
744 <ul class=
"members itemMembers">
747 <ul class=
"typedefs itemMembers">
750 <ul class=
"typedefs itemMembers">
753 <ul class=
"methods itemMembers">
755 <span class=
"subtitle">Methods
</span>
757 <li data-name=
"LuCI.poll#active"><a href=
"LuCI.poll.html#active">active
</a></li>
759 <li data-name=
"LuCI.poll#add"><a href=
"LuCI.poll.html#add">add
</a></li>
761 <li data-name=
"LuCI.poll#remove"><a href=
"LuCI.poll.html#remove">remove
</a></li>
763 <li data-name=
"LuCI.poll#start"><a href=
"LuCI.poll.html#start">start
</a></li>
765 <li data-name=
"LuCI.poll#stop"><a href=
"LuCI.poll.html#stop">stop
</a></li>
768 <ul class=
"events itemMembers">
773 <li class=
"item" data-name=
"LuCI.request">
775 <a href=
"LuCI.request.html">LuCI.request
</a>
778 <ul class=
"members itemMembers">
781 <ul class=
"typedefs itemMembers">
783 <span class=
"subtitle">Typedefs
</span>
785 <li data-name=
"LuCI.request.interceptorFn"><a href=
"LuCI.request.html#.interceptorFn">interceptorFn
</a></li>
787 <li data-name=
"LuCI.request.RequestOptions"><a href=
"LuCI.request.html#.RequestOptions">RequestOptions
</a></li>
790 <ul class=
"typedefs itemMembers">
793 <ul class=
"methods itemMembers">
795 <span class=
"subtitle">Methods
</span>
797 <li data-name=
"LuCI.request#addInterceptor"><a href=
"LuCI.request.html#addInterceptor">addInterceptor
</a></li>
799 <li data-name=
"LuCI.request#expandURL"><a href=
"LuCI.request.html#expandURL">expandURL
</a></li>
801 <li data-name=
"LuCI.request#get"><a href=
"LuCI.request.html#get">get
</a></li>
803 <li data-name=
"LuCI.request#post"><a href=
"LuCI.request.html#post">post
</a></li>
805 <li data-name=
"LuCI.request#removeInterceptor"><a href=
"LuCI.request.html#removeInterceptor">removeInterceptor
</a></li>
807 <li data-name=
"LuCI.request#request"><a href=
"LuCI.request.html#request">request
</a></li>
810 <ul class=
"events itemMembers">
815 <li class=
"item" data-name=
"LuCI.request.poll">
817 <a href=
"LuCI.request.poll.html">LuCI.request.poll
</a>
820 <ul class=
"members itemMembers">
823 <ul class=
"typedefs itemMembers">
825 <span class=
"subtitle">Typedefs
</span>
827 <li data-name=
"LuCI.request.poll~callbackFn"><a href=
"LuCI.request.poll.html#~callbackFn">callbackFn
</a></li>
830 <ul class=
"typedefs itemMembers">
833 <ul class=
"methods itemMembers">
835 <span class=
"subtitle">Methods
</span>
837 <li data-name=
"LuCI.request.poll#active"><a href=
"LuCI.request.poll.html#active">active
</a></li>
839 <li data-name=
"LuCI.request.poll#add"><a href=
"LuCI.request.poll.html#add">add
</a></li>
841 <li data-name=
"LuCI.request.poll#remove"><a href=
"LuCI.request.poll.html#remove">remove
</a></li>
843 <li data-name=
"LuCI.request.poll#start"><a href=
"LuCI.request.poll.html#start">start
</a></li>
845 <li data-name=
"LuCI.request.poll#stop"><a href=
"LuCI.request.poll.html#stop">stop
</a></li>
848 <ul class=
"events itemMembers">
853 <li class=
"item" data-name=
"LuCI.response">
855 <a href=
"LuCI.response.html">LuCI.response
</a>
858 <ul class=
"members itemMembers">
860 <span class=
"subtitle">Members
</span>
862 <li data-name=
"LuCI.response#duration"><a href=
"LuCI.response.html#duration">duration
</a></li>
864 <li data-name=
"LuCI.response#headers"><a href=
"LuCI.response.html#headers">headers
</a></li>
866 <li data-name=
"LuCI.response#ok"><a href=
"LuCI.response.html#ok">ok
</a></li>
868 <li data-name=
"LuCI.response#status"><a href=
"LuCI.response.html#status">status
</a></li>
870 <li data-name=
"LuCI.response#statusText"><a href=
"LuCI.response.html#statusText">statusText
</a></li>
872 <li data-name=
"LuCI.response#url"><a href=
"LuCI.response.html#url">url
</a></li>
875 <ul class=
"typedefs itemMembers">
878 <ul class=
"typedefs itemMembers">
881 <ul class=
"methods itemMembers">
883 <span class=
"subtitle">Methods
</span>
885 <li data-name=
"LuCI.response#blob"><a href=
"LuCI.response.html#blob">blob
</a></li>
887 <li data-name=
"LuCI.response#clone"><a href=
"LuCI.response.html#clone">clone
</a></li>
889 <li data-name=
"LuCI.response#json"><a href=
"LuCI.response.html#json">json
</a></li>
891 <li data-name=
"LuCI.response#text"><a href=
"LuCI.response.html#text">text
</a></li>
894 <ul class=
"events itemMembers">
899 <li class=
"item" data-name=
"LuCI.rpc">
901 <a href=
"LuCI.rpc.html">LuCI.rpc
</a>
904 <ul class=
"members itemMembers">
907 <ul class=
"typedefs itemMembers">
909 <span class=
"subtitle">Typedefs
</span>
911 <li data-name=
"LuCI.rpc.DeclareOptions"><a href=
"LuCI.rpc.html#.DeclareOptions">DeclareOptions
</a></li>
913 <li data-name=
"LuCI.rpc~filterFn"><a href=
"LuCI.rpc.html#~filterFn">filterFn
</a></li>
915 <li data-name=
"LuCI.rpc~interceptorFn"><a href=
"LuCI.rpc.html#~interceptorFn">interceptorFn
</a></li>
917 <li data-name=
"LuCI.rpc~invokeFn"><a href=
"LuCI.rpc.html#~invokeFn">invokeFn
</a></li>
920 <ul class=
"typedefs itemMembers">
923 <ul class=
"methods itemMembers">
925 <span class=
"subtitle">Methods
</span>
927 <li data-name=
"LuCI.rpc#addInterceptor"><a href=
"LuCI.rpc.html#addInterceptor">addInterceptor
</a></li>
929 <li data-name=
"LuCI.rpc#declare"><a href=
"LuCI.rpc.html#declare">declare
</a></li>
931 <li data-name=
"LuCI.rpc#getBaseURL"><a href=
"LuCI.rpc.html#getBaseURL">getBaseURL
</a></li>
933 <li data-name=
"LuCI.rpc#getSessionID"><a href=
"LuCI.rpc.html#getSessionID">getSessionID
</a></li>
935 <li data-name=
"LuCI.rpc#getStatusText"><a href=
"LuCI.rpc.html#getStatusText">getStatusText
</a></li>
937 <li data-name=
"LuCI.rpc#list"><a href=
"LuCI.rpc.html#list">list
</a></li>
939 <li data-name=
"LuCI.rpc#removeInterceptor"><a href=
"LuCI.rpc.html#removeInterceptor">removeInterceptor
</a></li>
941 <li data-name=
"LuCI.rpc#setBaseURL"><a href=
"LuCI.rpc.html#setBaseURL">setBaseURL
</a></li>
943 <li data-name=
"LuCI.rpc#setSessionID"><a href=
"LuCI.rpc.html#setSessionID">setSessionID
</a></li>
946 <ul class=
"events itemMembers">
951 <li class=
"item" data-name=
"LuCI.uci">
953 <a href=
"LuCI.uci.html">LuCI.uci
</a>
956 <ul class=
"members itemMembers">
959 <ul class=
"typedefs itemMembers">
961 <span class=
"subtitle">Typedefs
</span>
963 <li data-name=
"LuCI.uci.ChangeRecord"><a href=
"LuCI.uci.html#.ChangeRecord">ChangeRecord
</a></li>
965 <li data-name=
"LuCI.uci.SectionObject"><a href=
"LuCI.uci.html#.SectionObject">SectionObject
</a></li>
967 <li data-name=
"LuCI.uci~sectionsFn"><a href=
"LuCI.uci.html#~sectionsFn">sectionsFn
</a></li>
970 <ul class=
"typedefs itemMembers">
973 <ul class=
"methods itemMembers">
975 <span class=
"subtitle">Methods
</span>
977 <li data-name=
"LuCI.uci#add"><a href=
"LuCI.uci.html#add">add
</a></li>
979 <li data-name=
"LuCI.uci#apply"><a href=
"LuCI.uci.html#apply">apply
</a></li>
981 <li data-name=
"LuCI.uci#changes"><a href=
"LuCI.uci.html#changes">changes
</a></li>
983 <li data-name=
"LuCI.uci#createSID"><a href=
"LuCI.uci.html#createSID">createSID
</a></li>
985 <li data-name=
"LuCI.uci#get"><a href=
"LuCI.uci.html#get">get
</a></li>
987 <li data-name=
"LuCI.uci#get_first"><a href=
"LuCI.uci.html#get_first">get_first
</a></li>
989 <li data-name=
"LuCI.uci#load"><a href=
"LuCI.uci.html#load">load
</a></li>
991 <li data-name=
"LuCI.uci#move"><a href=
"LuCI.uci.html#move">move
</a></li>
993 <li data-name=
"LuCI.uci#remove"><a href=
"LuCI.uci.html#remove">remove
</a></li>
995 <li data-name=
"LuCI.uci#resolveSID"><a href=
"LuCI.uci.html#resolveSID">resolveSID
</a></li>
997 <li data-name=
"LuCI.uci#save"><a href=
"LuCI.uci.html#save">save
</a></li>
999 <li data-name=
"LuCI.uci#sections"><a href=
"LuCI.uci.html#sections">sections
</a></li>
1001 <li data-name=
"LuCI.uci#set"><a href=
"LuCI.uci.html#set">set
</a></li>
1003 <li data-name=
"LuCI.uci#set_first"><a href=
"LuCI.uci.html#set_first">set_first
</a></li>
1005 <li data-name=
"LuCI.uci#unload"><a href=
"LuCI.uci.html#unload">unload
</a></li>
1007 <li data-name=
"LuCI.uci#unset"><a href=
"LuCI.uci.html#unset">unset
</a></li>
1009 <li data-name=
"LuCI.uci#unset_first"><a href=
"LuCI.uci.html#unset_first">unset_first
</a></li>
1012 <ul class=
"events itemMembers">
1017 <li class=
"item" data-name=
"LuCI.ui">
1018 <span class=
"title">
1019 <a href=
"LuCI.ui.html">LuCI.ui
</a>
1022 <ul class=
"members itemMembers">
1025 <ul class=
"typedefs itemMembers">
1027 <span class=
"subtitle">Typedefs
</span>
1029 <li data-name=
"LuCI.ui.FileUploadReply"><a href=
"LuCI.ui.html#.FileUploadReply">FileUploadReply
</a></li>
1032 <ul class=
"typedefs itemMembers">
1035 <ul class=
"methods itemMembers">
1037 <span class=
"subtitle">Methods
</span>
1039 <li data-name=
"LuCI.ui#addNotification"><a href=
"LuCI.ui.html#addNotification">addNotification
</a></li>
1041 <li data-name=
"LuCI.ui#addValidator"><a href=
"LuCI.ui.html#addValidator">addValidator
</a></li>
1043 <li data-name=
"LuCI.ui#awaitReconnect"><a href=
"LuCI.ui.html#awaitReconnect">awaitReconnect
</a></li>
1045 <li data-name=
"LuCI.ui#createHandlerFn"><a href=
"LuCI.ui.html#createHandlerFn">createHandlerFn
</a></li>
1047 <li data-name=
"LuCI.ui#hideIndicator"><a href=
"LuCI.ui.html#hideIndicator">hideIndicator
</a></li>
1049 <li data-name=
"LuCI.ui#hideModal"><a href=
"LuCI.ui.html#hideModal">hideModal
</a></li>
1051 <li data-name=
"LuCI.ui#itemlist"><a href=
"LuCI.ui.html#itemlist">itemlist
</a></li>
1053 <li data-name=
"LuCI.ui#pingDevice"><a href=
"LuCI.ui.html#pingDevice">pingDevice
</a></li>
1055 <li data-name=
"LuCI.ui#showIndicator"><a href=
"LuCI.ui.html#showIndicator">showIndicator
</a></li>
1057 <li data-name=
"LuCI.ui#showModal"><a href=
"LuCI.ui.html#showModal">showModal
</a></li>
1059 <li data-name=
"LuCI.ui#uploadFile"><a href=
"LuCI.ui.html#uploadFile">uploadFile
</a></li>
1062 <ul class=
"events itemMembers">
1067 <li class=
"item" data-name=
"LuCI.ui.AbstractElement">
1068 <span class=
"title">
1069 <a href=
"LuCI.ui.AbstractElement.html">LuCI.ui.AbstractElement
</a>
1072 <ul class=
"members itemMembers">
1075 <ul class=
"typedefs itemMembers">
1077 <span class=
"subtitle">Typedefs
</span>
1079 <li data-name=
"LuCI.ui.AbstractElement.InitOptions"><a href=
"LuCI.ui.AbstractElement.html#.InitOptions">InitOptions
</a></li>
1082 <ul class=
"typedefs itemMembers">
1085 <ul class=
"methods itemMembers">
1087 <span class=
"subtitle">Methods
</span>
1089 <li data-name=
"LuCI.ui.AbstractElement#getValue"><a href=
"LuCI.ui.AbstractElement.html#getValue">getValue
</a></li>
1091 <li data-name=
"LuCI.ui.AbstractElement#isValid"><a href=
"LuCI.ui.AbstractElement.html#isValid">isValid
</a></li>
1093 <li data-name=
"LuCI.ui.AbstractElement#registerEvents"><a href=
"LuCI.ui.AbstractElement.html#registerEvents">registerEvents
</a></li>
1095 <li data-name=
"LuCI.ui.AbstractElement#render"><a href=
"LuCI.ui.AbstractElement.html#render">render
</a></li>
1097 <li data-name=
"LuCI.ui.AbstractElement#setChangeEvents"><a href=
"LuCI.ui.AbstractElement.html#setChangeEvents">setChangeEvents
</a></li>
1099 <li data-name=
"LuCI.ui.AbstractElement#setUpdateEvents"><a href=
"LuCI.ui.AbstractElement.html#setUpdateEvents">setUpdateEvents
</a></li>
1101 <li data-name=
"LuCI.ui.AbstractElement#setValue"><a href=
"LuCI.ui.AbstractElement.html#setValue">setValue
</a></li>
1103 <li data-name=
"LuCI.ui.AbstractElement#triggerValidation"><a href=
"LuCI.ui.AbstractElement.html#triggerValidation">triggerValidation
</a></li>
1106 <ul class=
"events itemMembers">
1111 <li class=
"item" data-name=
"LuCI.ui.changes">
1112 <span class=
"title">
1113 <a href=
"LuCI.ui.changes.html">LuCI.ui.changes
</a>
1116 <ul class=
"members itemMembers">
1119 <ul class=
"typedefs itemMembers">
1122 <ul class=
"typedefs itemMembers">
1125 <ul class=
"methods itemMembers">
1127 <span class=
"subtitle">Methods
</span>
1129 <li data-name=
"LuCI.ui.changes#apply"><a href=
"LuCI.ui.changes.html#apply">apply
</a></li>
1131 <li data-name=
"LuCI.ui.changes#displayChanges"><a href=
"LuCI.ui.changes.html#displayChanges">displayChanges
</a></li>
1133 <li data-name=
"LuCI.ui.changes#renderChangeIndicator"><a href=
"LuCI.ui.changes.html#renderChangeIndicator">renderChangeIndicator
</a></li>
1135 <li data-name=
"LuCI.ui.changes#revert"><a href=
"LuCI.ui.changes.html#revert">revert
</a></li>
1137 <li data-name=
"LuCI.ui.changes#setIndicator"><a href=
"LuCI.ui.changes.html#setIndicator">setIndicator
</a></li>
1140 <ul class=
"events itemMembers">
1145 <li class=
"item" data-name=
"LuCI.ui.Checkbox">
1146 <span class=
"title">
1147 <a href=
"LuCI.ui.Checkbox.html">LuCI.ui.Checkbox
</a>
1150 <ul class=
"members itemMembers">
1153 <ul class=
"typedefs itemMembers">
1155 <span class=
"subtitle">Typedefs
</span>
1157 <li data-name=
"LuCI.ui.Checkbox.InitOptions"><a href=
"LuCI.ui.Checkbox.html#.InitOptions">InitOptions
</a></li>
1160 <ul class=
"typedefs itemMembers">
1163 <ul class=
"methods itemMembers">
1165 <span class=
"subtitle">Methods
</span>
1167 <li data-name=
"LuCI.ui.Checkbox#getValue"><a href=
"LuCI.ui.Checkbox.html#getValue">getValue
</a></li>
1169 <li data-name=
"LuCI.ui.Checkbox#isChecked"><a href=
"LuCI.ui.Checkbox.html#isChecked">isChecked
</a></li>
1171 <li data-name=
"LuCI.ui.Checkbox#isValid"><a href=
"LuCI.ui.Checkbox.html#isValid">isValid
</a></li>
1173 <li data-name=
"LuCI.ui.Checkbox#registerEvents"><a href=
"LuCI.ui.Checkbox.html#registerEvents">registerEvents
</a></li>
1175 <li data-name=
"LuCI.ui.Checkbox#render"><a href=
"LuCI.ui.Checkbox.html#render">render
</a></li>
1177 <li data-name=
"LuCI.ui.Checkbox#setChangeEvents"><a href=
"LuCI.ui.Checkbox.html#setChangeEvents">setChangeEvents
</a></li>
1179 <li data-name=
"LuCI.ui.Checkbox#setUpdateEvents"><a href=
"LuCI.ui.Checkbox.html#setUpdateEvents">setUpdateEvents
</a></li>
1181 <li data-name=
"LuCI.ui.Checkbox#setValue"><a href=
"LuCI.ui.Checkbox.html#setValue">setValue
</a></li>
1183 <li data-name=
"LuCI.ui.Checkbox#triggerValidation"><a href=
"LuCI.ui.Checkbox.html#triggerValidation">triggerValidation
</a></li>
1186 <ul class=
"events itemMembers">
1191 <li class=
"item" data-name=
"LuCI.ui.Combobox">
1192 <span class=
"title">
1193 <a href=
"LuCI.ui.Combobox.html">LuCI.ui.Combobox
</a>
1196 <ul class=
"members itemMembers">
1199 <ul class=
"typedefs itemMembers">
1201 <span class=
"subtitle">Typedefs
</span>
1203 <li data-name=
"LuCI.ui.Combobox.InitOptions"><a href=
"LuCI.ui.Combobox.html#.InitOptions">InitOptions
</a></li>
1206 <ul class=
"typedefs itemMembers">
1209 <ul class=
"methods itemMembers">
1211 <span class=
"subtitle">Methods
</span>
1213 <li data-name=
"LuCI.ui.Combobox#addChoices"><a href=
"LuCI.ui.Combobox.html#addChoices">addChoices
</a></li>
1215 <li data-name=
"LuCI.ui.Combobox#clearChoices"><a href=
"LuCI.ui.Combobox.html#clearChoices">clearChoices
</a></li>
1217 <li data-name=
"LuCI.ui.Combobox#closeAllDropdowns"><a href=
"LuCI.ui.Combobox.html#closeAllDropdowns">closeAllDropdowns
</a></li>
1219 <li data-name=
"LuCI.ui.Combobox#isValid"><a href=
"LuCI.ui.Combobox.html#isValid">isValid
</a></li>
1221 <li data-name=
"LuCI.ui.Combobox#registerEvents"><a href=
"LuCI.ui.Combobox.html#registerEvents">registerEvents
</a></li>
1223 <li data-name=
"LuCI.ui.Combobox#setChangeEvents"><a href=
"LuCI.ui.Combobox.html#setChangeEvents">setChangeEvents
</a></li>
1225 <li data-name=
"LuCI.ui.Combobox#setUpdateEvents"><a href=
"LuCI.ui.Combobox.html#setUpdateEvents">setUpdateEvents
</a></li>
1227 <li data-name=
"LuCI.ui.Combobox#triggerValidation"><a href=
"LuCI.ui.Combobox.html#triggerValidation">triggerValidation
</a></li>
1230 <ul class=
"events itemMembers">
1235 <li class=
"item" data-name=
"LuCI.ui.ComboButton">
1236 <span class=
"title">
1237 <a href=
"LuCI.ui.ComboButton.html">LuCI.ui.ComboButton
</a>
1240 <ul class=
"members itemMembers">
1243 <ul class=
"typedefs itemMembers">
1245 <span class=
"subtitle">Typedefs
</span>
1247 <li data-name=
"LuCI.ui.ComboButton.InitOptions"><a href=
"LuCI.ui.ComboButton.html#.InitOptions">InitOptions
</a></li>
1250 <ul class=
"typedefs itemMembers">
1253 <ul class=
"methods itemMembers">
1255 <span class=
"subtitle">Methods
</span>
1257 <li data-name=
"LuCI.ui.ComboButton#addChoices"><a href=
"LuCI.ui.ComboButton.html#addChoices">addChoices
</a></li>
1259 <li data-name=
"LuCI.ui.ComboButton#clearChoices"><a href=
"LuCI.ui.ComboButton.html#clearChoices">clearChoices
</a></li>
1261 <li data-name=
"LuCI.ui.ComboButton#closeAllDropdowns"><a href=
"LuCI.ui.ComboButton.html#closeAllDropdowns">closeAllDropdowns
</a></li>
1263 <li data-name=
"LuCI.ui.ComboButton#isValid"><a href=
"LuCI.ui.ComboButton.html#isValid">isValid
</a></li>
1265 <li data-name=
"LuCI.ui.ComboButton#registerEvents"><a href=
"LuCI.ui.ComboButton.html#registerEvents">registerEvents
</a></li>
1267 <li data-name=
"LuCI.ui.ComboButton#setChangeEvents"><a href=
"LuCI.ui.ComboButton.html#setChangeEvents">setChangeEvents
</a></li>
1269 <li data-name=
"LuCI.ui.ComboButton#setUpdateEvents"><a href=
"LuCI.ui.ComboButton.html#setUpdateEvents">setUpdateEvents
</a></li>
1271 <li data-name=
"LuCI.ui.ComboButton#triggerValidation"><a href=
"LuCI.ui.ComboButton.html#triggerValidation">triggerValidation
</a></li>
1274 <ul class=
"events itemMembers">
1279 <li class=
"item" data-name=
"LuCI.ui.Dropdown">
1280 <span class=
"title">
1281 <a href=
"LuCI.ui.Dropdown.html">LuCI.ui.Dropdown
</a>
1284 <ul class=
"members itemMembers">
1287 <ul class=
"typedefs itemMembers">
1289 <span class=
"subtitle">Typedefs
</span>
1291 <li data-name=
"LuCI.ui.Dropdown.InitOptions"><a href=
"LuCI.ui.Dropdown.html#.InitOptions">InitOptions
</a></li>
1294 <ul class=
"typedefs itemMembers">
1297 <ul class=
"methods itemMembers">
1299 <span class=
"subtitle">Methods
</span>
1301 <li data-name=
"LuCI.ui.Dropdown#addChoices"><a href=
"LuCI.ui.Dropdown.html#addChoices">addChoices
</a></li>
1303 <li data-name=
"LuCI.ui.Dropdown#clearChoices"><a href=
"LuCI.ui.Dropdown.html#clearChoices">clearChoices
</a></li>
1305 <li data-name=
"LuCI.ui.Dropdown#closeAllDropdowns"><a href=
"LuCI.ui.Dropdown.html#closeAllDropdowns">closeAllDropdowns
</a></li>
1307 <li data-name=
"LuCI.ui.Dropdown#getValue"><a href=
"LuCI.ui.Dropdown.html#getValue">getValue
</a></li>
1309 <li data-name=
"LuCI.ui.Dropdown#isValid"><a href=
"LuCI.ui.Dropdown.html#isValid">isValid
</a></li>
1311 <li data-name=
"LuCI.ui.Dropdown#registerEvents"><a href=
"LuCI.ui.Dropdown.html#registerEvents">registerEvents
</a></li>
1313 <li data-name=
"LuCI.ui.Dropdown#render"><a href=
"LuCI.ui.Dropdown.html#render">render
</a></li>
1315 <li data-name=
"LuCI.ui.Dropdown#setChangeEvents"><a href=
"LuCI.ui.Dropdown.html#setChangeEvents">setChangeEvents
</a></li>
1317 <li data-name=
"LuCI.ui.Dropdown#setUpdateEvents"><a href=
"LuCI.ui.Dropdown.html#setUpdateEvents">setUpdateEvents
</a></li>
1319 <li data-name=
"LuCI.ui.Dropdown#setValue"><a href=
"LuCI.ui.Dropdown.html#setValue">setValue
</a></li>
1321 <li data-name=
"LuCI.ui.Dropdown#triggerValidation"><a href=
"LuCI.ui.Dropdown.html#triggerValidation">triggerValidation
</a></li>
1324 <ul class=
"events itemMembers">
1329 <li class=
"item" data-name=
"LuCI.ui.DynamicList">
1330 <span class=
"title">
1331 <a href=
"LuCI.ui.DynamicList.html">LuCI.ui.DynamicList
</a>
1334 <ul class=
"members itemMembers">
1337 <ul class=
"typedefs itemMembers">
1339 <span class=
"subtitle">Typedefs
</span>
1341 <li data-name=
"LuCI.ui.DynamicList.InitOptions"><a href=
"LuCI.ui.DynamicList.html#.InitOptions">InitOptions
</a></li>
1344 <ul class=
"typedefs itemMembers">
1347 <ul class=
"methods itemMembers">
1349 <span class=
"subtitle">Methods
</span>
1351 <li data-name=
"LuCI.ui.DynamicList#addChoices"><a href=
"LuCI.ui.DynamicList.html#addChoices">addChoices
</a></li>
1353 <li data-name=
"LuCI.ui.DynamicList#clearChoices"><a href=
"LuCI.ui.DynamicList.html#clearChoices">clearChoices
</a></li>
1355 <li data-name=
"LuCI.ui.DynamicList#getValue"><a href=
"LuCI.ui.DynamicList.html#getValue">getValue
</a></li>
1357 <li data-name=
"LuCI.ui.DynamicList#isValid"><a href=
"LuCI.ui.DynamicList.html#isValid">isValid
</a></li>
1359 <li data-name=
"LuCI.ui.DynamicList#registerEvents"><a href=
"LuCI.ui.DynamicList.html#registerEvents">registerEvents
</a></li>
1361 <li data-name=
"LuCI.ui.DynamicList#render"><a href=
"LuCI.ui.DynamicList.html#render">render
</a></li>
1363 <li data-name=
"LuCI.ui.DynamicList#setChangeEvents"><a href=
"LuCI.ui.DynamicList.html#setChangeEvents">setChangeEvents
</a></li>
1365 <li data-name=
"LuCI.ui.DynamicList#setUpdateEvents"><a href=
"LuCI.ui.DynamicList.html#setUpdateEvents">setUpdateEvents
</a></li>
1367 <li data-name=
"LuCI.ui.DynamicList#setValue"><a href=
"LuCI.ui.DynamicList.html#setValue">setValue
</a></li>
1369 <li data-name=
"LuCI.ui.DynamicList#triggerValidation"><a href=
"LuCI.ui.DynamicList.html#triggerValidation">triggerValidation
</a></li>
1372 <ul class=
"events itemMembers">
1377 <li class=
"item" data-name=
"LuCI.ui.FileUpload">
1378 <span class=
"title">
1379 <a href=
"LuCI.ui.FileUpload.html">LuCI.ui.FileUpload
</a>
1382 <ul class=
"members itemMembers">
1385 <ul class=
"typedefs itemMembers">
1387 <span class=
"subtitle">Typedefs
</span>
1389 <li data-name=
"LuCI.ui.FileUpload.InitOptions"><a href=
"LuCI.ui.FileUpload.html#.InitOptions">InitOptions
</a></li>
1392 <ul class=
"typedefs itemMembers">
1395 <ul class=
"methods itemMembers">
1397 <span class=
"subtitle">Methods
</span>
1399 <li data-name=
"LuCI.ui.FileUpload#getValue"><a href=
"LuCI.ui.FileUpload.html#getValue">getValue
</a></li>
1401 <li data-name=
"LuCI.ui.FileUpload#isValid"><a href=
"LuCI.ui.FileUpload.html#isValid">isValid
</a></li>
1403 <li data-name=
"LuCI.ui.FileUpload#registerEvents"><a href=
"LuCI.ui.FileUpload.html#registerEvents">registerEvents
</a></li>
1405 <li data-name=
"LuCI.ui.FileUpload#render"><a href=
"LuCI.ui.FileUpload.html#render">render
</a></li>
1407 <li data-name=
"LuCI.ui.FileUpload#setChangeEvents"><a href=
"LuCI.ui.FileUpload.html#setChangeEvents">setChangeEvents
</a></li>
1409 <li data-name=
"LuCI.ui.FileUpload#setUpdateEvents"><a href=
"LuCI.ui.FileUpload.html#setUpdateEvents">setUpdateEvents
</a></li>
1411 <li data-name=
"LuCI.ui.FileUpload#setValue"><a href=
"LuCI.ui.FileUpload.html#setValue">setValue
</a></li>
1413 <li data-name=
"LuCI.ui.FileUpload#triggerValidation"><a href=
"LuCI.ui.FileUpload.html#triggerValidation">triggerValidation
</a></li>
1416 <ul class=
"events itemMembers">
1421 <li class=
"item" data-name=
"LuCI.ui.Hiddenfield">
1422 <span class=
"title">
1423 <a href=
"LuCI.ui.Hiddenfield.html">LuCI.ui.Hiddenfield
</a>
1426 <ul class=
"members itemMembers">
1429 <ul class=
"typedefs itemMembers">
1432 <ul class=
"typedefs itemMembers">
1435 <ul class=
"methods itemMembers">
1437 <span class=
"subtitle">Methods
</span>
1439 <li data-name=
"LuCI.ui.Hiddenfield#getValue"><a href=
"LuCI.ui.Hiddenfield.html#getValue">getValue
</a></li>
1441 <li data-name=
"LuCI.ui.Hiddenfield#isValid"><a href=
"LuCI.ui.Hiddenfield.html#isValid">isValid
</a></li>
1443 <li data-name=
"LuCI.ui.Hiddenfield#registerEvents"><a href=
"LuCI.ui.Hiddenfield.html#registerEvents">registerEvents
</a></li>
1445 <li data-name=
"LuCI.ui.Hiddenfield#render"><a href=
"LuCI.ui.Hiddenfield.html#render">render
</a></li>
1447 <li data-name=
"LuCI.ui.Hiddenfield#setChangeEvents"><a href=
"LuCI.ui.Hiddenfield.html#setChangeEvents">setChangeEvents
</a></li>
1449 <li data-name=
"LuCI.ui.Hiddenfield#setUpdateEvents"><a href=
"LuCI.ui.Hiddenfield.html#setUpdateEvents">setUpdateEvents
</a></li>
1451 <li data-name=
"LuCI.ui.Hiddenfield#setValue"><a href=
"LuCI.ui.Hiddenfield.html#setValue">setValue
</a></li>
1453 <li data-name=
"LuCI.ui.Hiddenfield#triggerValidation"><a href=
"LuCI.ui.Hiddenfield.html#triggerValidation">triggerValidation
</a></li>
1456 <ul class=
"events itemMembers">
1461 <li class=
"item" data-name=
"LuCI.ui.Select">
1462 <span class=
"title">
1463 <a href=
"LuCI.ui.Select.html">LuCI.ui.Select
</a>
1466 <ul class=
"members itemMembers">
1469 <ul class=
"typedefs itemMembers">
1471 <span class=
"subtitle">Typedefs
</span>
1473 <li data-name=
"LuCI.ui.Select.InitOptions"><a href=
"LuCI.ui.Select.html#.InitOptions">InitOptions
</a></li>
1476 <ul class=
"typedefs itemMembers">
1479 <ul class=
"methods itemMembers">
1481 <span class=
"subtitle">Methods
</span>
1483 <li data-name=
"LuCI.ui.Select#getValue"><a href=
"LuCI.ui.Select.html#getValue">getValue
</a></li>
1485 <li data-name=
"LuCI.ui.Select#isValid"><a href=
"LuCI.ui.Select.html#isValid">isValid
</a></li>
1487 <li data-name=
"LuCI.ui.Select#registerEvents"><a href=
"LuCI.ui.Select.html#registerEvents">registerEvents
</a></li>
1489 <li data-name=
"LuCI.ui.Select#render"><a href=
"LuCI.ui.Select.html#render">render
</a></li>
1491 <li data-name=
"LuCI.ui.Select#setChangeEvents"><a href=
"LuCI.ui.Select.html#setChangeEvents">setChangeEvents
</a></li>
1493 <li data-name=
"LuCI.ui.Select#setUpdateEvents"><a href=
"LuCI.ui.Select.html#setUpdateEvents">setUpdateEvents
</a></li>
1495 <li data-name=
"LuCI.ui.Select#setValue"><a href=
"LuCI.ui.Select.html#setValue">setValue
</a></li>
1497 <li data-name=
"LuCI.ui.Select#triggerValidation"><a href=
"LuCI.ui.Select.html#triggerValidation">triggerValidation
</a></li>
1500 <ul class=
"events itemMembers">
1505 <li class=
"item" data-name=
"LuCI.ui.tabs">
1506 <span class=
"title">
1507 <a href=
"LuCI.ui.tabs.html">LuCI.ui.tabs
</a>
1510 <ul class=
"members itemMembers">
1513 <ul class=
"typedefs itemMembers">
1516 <ul class=
"typedefs itemMembers">
1519 <ul class=
"methods itemMembers">
1521 <span class=
"subtitle">Methods
</span>
1523 <li data-name=
"LuCI.ui.tabs#initTabGroup"><a href=
"LuCI.ui.tabs.html#initTabGroup">initTabGroup
</a></li>
1525 <li data-name=
"LuCI.ui.tabs#isEmptyPane"><a href=
"LuCI.ui.tabs.html#isEmptyPane">isEmptyPane
</a></li>
1528 <ul class=
"events itemMembers">
1533 <li class=
"item" data-name=
"LuCI.ui.Textarea">
1534 <span class=
"title">
1535 <a href=
"LuCI.ui.Textarea.html">LuCI.ui.Textarea
</a>
1538 <ul class=
"members itemMembers">
1541 <ul class=
"typedefs itemMembers">
1543 <span class=
"subtitle">Typedefs
</span>
1545 <li data-name=
"LuCI.ui.Textarea.InitOptions"><a href=
"LuCI.ui.Textarea.html#.InitOptions">InitOptions
</a></li>
1548 <ul class=
"typedefs itemMembers">
1551 <ul class=
"methods itemMembers">
1553 <span class=
"subtitle">Methods
</span>
1555 <li data-name=
"LuCI.ui.Textarea#getValue"><a href=
"LuCI.ui.Textarea.html#getValue">getValue
</a></li>
1557 <li data-name=
"LuCI.ui.Textarea#isValid"><a href=
"LuCI.ui.Textarea.html#isValid">isValid
</a></li>
1559 <li data-name=
"LuCI.ui.Textarea#registerEvents"><a href=
"LuCI.ui.Textarea.html#registerEvents">registerEvents
</a></li>
1561 <li data-name=
"LuCI.ui.Textarea#render"><a href=
"LuCI.ui.Textarea.html#render">render
</a></li>
1563 <li data-name=
"LuCI.ui.Textarea#setChangeEvents"><a href=
"LuCI.ui.Textarea.html#setChangeEvents">setChangeEvents
</a></li>
1565 <li data-name=
"LuCI.ui.Textarea#setUpdateEvents"><a href=
"LuCI.ui.Textarea.html#setUpdateEvents">setUpdateEvents
</a></li>
1567 <li data-name=
"LuCI.ui.Textarea#setValue"><a href=
"LuCI.ui.Textarea.html#setValue">setValue
</a></li>
1569 <li data-name=
"LuCI.ui.Textarea#triggerValidation"><a href=
"LuCI.ui.Textarea.html#triggerValidation">triggerValidation
</a></li>
1572 <ul class=
"events itemMembers">
1577 <li class=
"item" data-name=
"LuCI.ui.Textfield">
1578 <span class=
"title">
1579 <a href=
"LuCI.ui.Textfield.html">LuCI.ui.Textfield
</a>
1582 <ul class=
"members itemMembers">
1585 <ul class=
"typedefs itemMembers">
1587 <span class=
"subtitle">Typedefs
</span>
1589 <li data-name=
"LuCI.ui.Textfield.InitOptions"><a href=
"LuCI.ui.Textfield.html#.InitOptions">InitOptions
</a></li>
1592 <ul class=
"typedefs itemMembers">
1595 <ul class=
"methods itemMembers">
1597 <span class=
"subtitle">Methods
</span>
1599 <li data-name=
"LuCI.ui.Textfield#getValue"><a href=
"LuCI.ui.Textfield.html#getValue">getValue
</a></li>
1601 <li data-name=
"LuCI.ui.Textfield#isValid"><a href=
"LuCI.ui.Textfield.html#isValid">isValid
</a></li>
1603 <li data-name=
"LuCI.ui.Textfield#registerEvents"><a href=
"LuCI.ui.Textfield.html#registerEvents">registerEvents
</a></li>
1605 <li data-name=
"LuCI.ui.Textfield#render"><a href=
"LuCI.ui.Textfield.html#render">render
</a></li>
1607 <li data-name=
"LuCI.ui.Textfield#setChangeEvents"><a href=
"LuCI.ui.Textfield.html#setChangeEvents">setChangeEvents
</a></li>
1609 <li data-name=
"LuCI.ui.Textfield#setUpdateEvents"><a href=
"LuCI.ui.Textfield.html#setUpdateEvents">setUpdateEvents
</a></li>
1611 <li data-name=
"LuCI.ui.Textfield#setValue"><a href=
"LuCI.ui.Textfield.html#setValue">setValue
</a></li>
1613 <li data-name=
"LuCI.ui.Textfield#triggerValidation"><a href=
"LuCI.ui.Textfield.html#triggerValidation">triggerValidation
</a></li>
1616 <ul class=
"events itemMembers">
1621 <li class=
"item" data-name=
"LuCI.view">
1622 <span class=
"title">
1623 <a href=
"LuCI.view.html">LuCI.view
</a>
1626 <ul class=
"members itemMembers">
1629 <ul class=
"typedefs itemMembers">
1632 <ul class=
"typedefs itemMembers">
1635 <ul class=
"methods itemMembers">
1637 <span class=
"subtitle">Methods
</span>
1639 <li data-name=
"LuCI.view#addFooter"><a href=
"LuCI.view.html#addFooter">addFooter
</a></li>
1641 <li data-name=
"LuCI.view#handleReset"><a href=
"LuCI.view.html#handleReset">handleReset
</a></li>
1643 <li data-name=
"LuCI.view#handleSave"><a href=
"LuCI.view.html#handleSave">handleSave
</a></li>
1645 <li data-name=
"LuCI.view#handleSaveApply"><a href=
"LuCI.view.html#handleSaveApply">handleSaveApply
</a></li>
1647 <li data-name=
"LuCI.view#load"><a href=
"LuCI.view.html#load">load
</a></li>
1649 <li data-name=
"LuCI.view#render"><a href=
"LuCI.view.html#render">render
</a></li>
1652 <ul class=
"events itemMembers">
1657 <li class=
"item" data-name=
"LuCI.xhr">
1658 <span class=
"title">
1659 <a href=
"LuCI.xhr.html">LuCI.xhr
</a>
1662 <ul class=
"members itemMembers">
1665 <ul class=
"typedefs itemMembers">
1668 <ul class=
"typedefs itemMembers">
1671 <ul class=
"methods itemMembers">
1673 <span class=
"subtitle">Methods
</span>
1675 <li data-name=
"LuCI.xhr#abort"><a href=
"LuCI.xhr.html#abort">abort
</a></li>
1677 <li data-name=
"LuCI.xhr#busy"><a href=
"LuCI.xhr.html#busy">busy
</a></li>
1679 <li data-name=
"LuCI.xhr#cancel"><a href=
"LuCI.xhr.html#cancel">cancel
</a></li>
1681 <li data-name=
"LuCI.xhr#get"><a href=
"LuCI.xhr.html#get">get
</a></li>
1683 <li data-name=
"LuCI.xhr#post"><a href=
"LuCI.xhr.html#post">post
</a></li>
1685 <li data-name=
"LuCI.xhr#send_form"><a href=
"LuCI.xhr.html#send_form">send_form
</a></li>
1688 <ul class=
"events itemMembers">
1696 <h1 class=
"page-title" data-filename=
"rpc.js.html">Source: rpc.js
</h1>
1703 <pre id=
"source-code" class=
"prettyprint source "><code>'use strict';
1704 'require baseclass';
1707 var rpcRequestID =
1,
1708 rpcSessionID = L.env.sessionid || '
00000000000000000000000000000000',
1709 rpcBaseURL = L.url('admin/ubus'),
1710 rpcInterceptorFns = [];
1718 * The `LuCI.rpc` class provides high level ubus JSON-RPC abstractions
1719 * and means for listing and invoking remove RPC methods.
1721 return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
1723 call: function(req, cb, nobatch) {
1726 if (Array.isArray(req)) {
1727 if (req.length ==
0)
1728 return Promise.resolve([]);
1730 for (var i =
0; i
< req.length; i++)
1732 q += '%s%s.%s'.format(
1738 else if (req.params) {
1739 q += '/%s.%s'.format(req.params[
1], req.params[
2]);
1742 return request.post(rpcBaseURL + q, req, {
1743 timeout: (L.env.rpctimeout ||
20) *
1000,
1749 parseCallReply: function(req, res) {
1752 if (res instanceof Error)
1753 return req.reject(res);
1757 L.raise('RPCError', 'RPC call to %s/%s failed with HTTP error %d: %s',
1758 req.object, req.method, res.status, res.statusText || '?');
1763 return req.reject(e);
1767 * The interceptor args are intentionally swapped.
1768 * Response is passed as first arg to align with Request class interceptors
1770 Promise.all(rpcInterceptorFns.map(function(fn) { return fn(msg, req) }))
1771 .then(this.handleCallReply.bind(this, req, msg))
1775 handleCallReply: function(req, msg) {
1776 var type = Object.prototype.toString,
1780 /* verify message frame */
1781 if (!L.isObject(msg) || msg.jsonrpc != '
2.0')
1782 L.raise('RPCError', 'RPC call to %s/%s returned invalid message frame',
1783 req.object, req.method);
1785 /* check error condition */
1786 if (L.isObject(msg.error)
&& msg.error.code
&& msg.error.message)
1787 L.raise('RPCError', 'RPC call to %s/%s failed with error %d: %s',
1788 req.object, req.method, msg.error.code, msg.error.message || '?');
1791 return req.reject(e);
1794 if (!req.object
&& !req.method) {
1797 else if (Array.isArray(msg.result)) {
1798 ret = (msg.result.length
> 1) ? msg.result[
1] : msg.result[
0];
1802 for (var key in req.expect) {
1803 if (ret != null
&& key != '')
1806 if (ret == null || type.call(ret) != type.call(req.expect[key]))
1807 ret = req.expect[key];
1814 if (typeof(req.filter) == 'function') {
1816 req.priv[
1] = req.params;
1817 ret = req.filter.apply(this, req.priv);
1824 * Lists available remote ubus objects or the method signatures of
1827 * This function has two signatures and is sensitive to the number of
1828 * arguments passed to it:
1830 * Returns an array containing the names of all remote `ubus` objects
1831 * - `list(
"objname", ...)`
1832 * Returns method signatures for each given `ubus` object name.
1834 * @param {...string} [objectNames]
1835 * If any object names are given, this function will return the method
1836 * signatures of each given object.
1838 * @returns {Promise
<Array
<string
>|Object
<string, Object
<string, Object
<string, string
>>>>}
1839 * When invoked without arguments, this function will return a promise
1840 * resolving to an array of `ubus` object names. When invoked with one or
1841 * more arguments, a promise resolving to an object describing the method
1842 * signatures of each requested `ubus` object name will be returned.
1849 params: arguments.length ? this.varargs(arguments) : undefined
1852 return new Promise(L.bind(function(resolveFn, rejectFn) {
1853 /* store request info */
1860 this.call(msg, this.parseCallReply.bind(this, req));
1865 * @typedef {Object} DeclareOptions
1866 * @memberof LuCI.rpc
1868 * @property {string} object
1869 * The name of the remote `ubus` object to invoke.
1871 * @property {string} method
1872 * The name of the remote `ubus` method to invoke.
1874 * @property {string[]} [params]
1875 * Lists the named parameters expected by the remote `ubus` RPC method.
1876 * The arguments passed to the resulting generated method call function
1877 * will be mapped to named parameters in the order they appear in this
1880 * Extraneous parameters passed to the generated function will not be
1881 * sent to the remote procedure but are passed to the
1882 * {@link LuCI.rpc~filterFn filter function} if one is specified.
1885 * - `params: [
"foo",
"bar" ]` -
1886 * When the resulting call function is invoked with `fn(true, false)`,
1887 * the corresponding args object sent to the remote procedure will be
1888 * `{ foo: true, bar: false }`.
1889 * - `params: [
"test" ], filter: function(reply, args, extra) { ... }` -
1890 * When the resultung generated function is invoked with
1891 * `fn(
"foo",
"bar",
"baz")` then `{
"test":
"foo" }` will be sent as
1892 * argument to the remote procedure and the filter function will be
1893 * invoked with `filterFn(reply, [
"foo" ],
"bar",
"baz")`
1895 * @property {Object
<string,*
>} [expect]
1896 * Describes the expected return data structure. The given object is
1897 * supposed to contain a single key selecting the value to use from
1898 * the returned `ubus` reply object. The value of the sole key within
1899 * the `expect` object is used to infer the expected type of the received
1900 * `ubus` reply data.
1902 * If the received data does not contain `expect`'s key, or if the
1903 * type of the data differs from the type of the value in the expect
1904 * object, the expect object's value is returned as default instead.
1906 * The key in the `expect` object may be an empty string (`''`) in which
1907 * case the entire reply object is selected instead of one of its subkeys.
1909 * If the `expect` option is omitted, the received reply will be returned
1910 * as-is, regardless of its format or type.
1913 * - `expect: { '': { error: 'Invalid response' } }` -
1914 * This requires the entire `ubus` reply to be a plain JavaScript
1915 * object. If the reply isn't an object but e.g. an array or a numeric
1916 * error code instead, it will get replaced with
1917 * `{ error: 'Invalid response' }` instead.
1918 * - `expect: { results: [] }` -
1919 * This requires the received `ubus` reply to be an object containing
1920 * a key `results` with an array as value. If the received reply does
1921 * not contain such a key, or if `reply.results` points to a non-array
1922 * value, the empty array (`[]`) will be used instead.
1923 * - `expect: { success: false }` -
1924 * This requires the received `ubus` reply to be an object containing
1925 * a key `success` with a boolean value. If the reply does not contain
1926 * `success` or if `reply.success` is not a boolean value, `false` will
1927 * be returned as default instead.
1929 * @property {LuCI.rpc~filterFn} [filter]
1930 * Specfies an optional filter function which is invoked to transform the
1931 * received reply data before it is returned to the caller.
1936 * The filter function is invoked to transform a received `ubus` RPC call
1937 * reply before returning it to the caller.
1939 * @callback LuCI.rpc~filterFn
1942 * The received `ubus` reply data or a subset of it as described in the
1943 * `expect` option of the RPC call declaration. In case of remote call
1944 * errors, `data` is numeric `ubus` error code instead.
1946 * @param {Array
<*
>} args
1947 * The arguments the RPC method has been invoked with.
1949 * @param {...*} extraArgs
1950 * All extraneous arguments passed to the RPC method exceeding the number
1951 * of arguments describes in the RPC call declaration.
1954 * The return value of the filter function will be returned to the caller
1955 * of the RPC method as-is.
1959 * The generated invocation function is returned by
1960 * {@link LuCI.rpc#declare rpc.declare()} and encapsulates a single
1963 * Calling this function will execute a remote `ubus` HTTP call request
1964 * using the arguments passed to it as arguments and return a promise
1965 * resolving to the received reply values.
1967 * @callback LuCI.rpc~invokeFn
1969 * @param {...*} params
1970 * The parameters to pass to the remote procedure call. The given
1971 * positional arguments will be named to named RPC parameters according
1972 * to the names specified in the `params` array of the method declaration.
1974 * Any additional parameters exceeding the amount of arguments in the
1975 * `params` declaration are passed as private extra arguments to the
1976 * declared filter function.
1978 * @return {Promise
<*
>}
1979 * Returns a promise resolving to the result data of the remote `ubus`
1980 * RPC method invocation, optionally substituted and filtered according
1981 * to the `expect` and `filter` declarations.
1985 * Describes a remote RPC call procedure and returns a function
1988 * @param {LuCI.rpc.DeclareOptions} options
1989 * If any object names are given, this function will return the method
1990 * signatures of each given object.
1992 * @returns {LuCI.rpc~invokeFn}
1993 * Returns a new function implementing the method call described in
1996 declare: function(options) {
1997 return Function.prototype.bind.call(function(rpc, options) {
1998 var args = this.varargs(arguments,
2);
1999 return new Promise(function(resolveFn, rejectFn) {
2000 /* build parameter object */
2003 if (Array.isArray(options.params))
2004 for (p_off =
0; p_off
< options.params.length; p_off++)
2005 params[options.params[p_off]] = args[p_off];
2007 /* all remaining arguments are private args */
2008 var priv = [ undefined, undefined ];
2009 for (; p_off
< args.length; p_off++)
2010 priv.push(args[p_off]);
2012 /* store request info */
2014 expect: options.expect,
2015 filter: options.filter,
2020 object: options.object,
2021 method: options.method
2024 /* build message object */
2038 rpc.call(msg, rpc.parseCallReply.bind(rpc, req), options.nobatch);
2040 }, this, this, options);
2044 * Returns the current RPC session id.
2047 * Returns the
32 byte session ID string used for authenticating remote
2050 getSessionID: function() {
2051 return rpcSessionID;
2055 * Set the RPC session id to use.
2057 * @param {string} sid
2058 * Sets the
32 byte session ID string used for authenticating remote
2061 setSessionID: function(sid) {
2066 * Returns the current RPC base URL.
2069 * Returns the RPC URL endpoint to issue requests against.
2071 getBaseURL: function() {
2076 * Set the RPC base URL to use.
2078 * @param {string} sid
2079 * Sets the RPC URL endpoint to issue requests against.
2081 setBaseURL: function(url) {
2086 * Translates a numeric `ubus` error code into a human readable
2089 * @param {number} statusCode
2090 * The numeric status code.
2093 * Returns the textual description of the code.
2095 getStatusText: function(statusCode) {
2096 switch (statusCode) {
2097 case
0: return _('Command OK');
2098 case
1: return _('Invalid command');
2099 case
2: return _('Invalid argument');
2100 case
3: return _('Method not found');
2101 case
4: return _('Resource not found');
2102 case
5: return _('No data received');
2103 case
6: return _('Permission denied');
2104 case
7: return _('Request timeout');
2105 case
8: return _('Not supported');
2106 case
9: return _('Unspecified error');
2107 case
10: return _('Connection lost');
2108 default: return _('Unknown error code');
2113 * Registered interceptor functions are invoked before the standard reply
2114 * parsing and handling logic.
2116 * By returning rejected promises, interceptor functions can cause the
2117 * invocation function to fail, regardless of the received reply.
2119 * Interceptors may also modify their message argument in-place to
2120 * rewrite received replies before they're processed by the standard
2121 * response handling code.
2123 * A common use case for such functions is to detect failing RPC replies
2124 * due to expired authentication in order to trigger a new login.
2126 * @callback LuCI.rpc~interceptorFn
2129 * The unprocessed, JSON decoded remote RPC method call reply.
2131 * Since interceptors run before the standard parsing logic, the reply
2132 * data is not verified for correctness or filtered according to
2133 * `expect` and `filter` specifications in the declarations.
2135 * @param {Object} req
2136 * The related request object which is an extended variant of the
2137 * declaration object, allowing access to internals of the invocation
2138 * function such as `filter`, `expect` or `params` values.
2140 * @return {Promise
<*
>|*}
2141 * Interceptor functions may return a promise to defer response
2142 * processing until some delayed work completed. Any values the returned
2143 * promise resolves to are ignored.
2145 * When the returned promise rejects with an error, the invocation
2146 * function will fail too, forwarding the error to the caller.
2150 * Registers a new interceptor function.
2152 * @param {LuCI.rpc~interceptorFn} interceptorFn
2153 * The inteceptor function to register.
2155 * @returns {LuCI.rpc~interceptorFn}
2156 * Returns the given function value.
2158 addInterceptor: function(interceptorFn) {
2159 if (typeof(interceptorFn) == 'function')
2160 rpcInterceptorFns.push(interceptorFn);
2161 return interceptorFn;
2165 * Removes a registered interceptor function.
2167 * @param {LuCI.rpc~interceptorFn} interceptorFn
2168 * The inteceptor function to remove.
2170 * @returns {boolean}
2171 * Returns `true` if the given function has been removed or `false`
2172 * if it has not been found.
2174 removeInterceptor: function(interceptorFn) {
2175 var oldlen = rpcInterceptorFns.length, i = oldlen;
2177 if (rpcInterceptorFns[i] === interceptorFn)
2178 rpcInterceptorFns.splice(i,
1);
2179 return (rpcInterceptorFns.length
< oldlen);
2194 Documentation generated by
<a href=
"https://github.com/jsdoc3/jsdoc">JSDoc
3.6.3</a> on Thu Apr
02 2020 21:
30:
57 GMT+
0200 (Central European Summer Time)
2198 <script>prettyPrint();
</script>
2199 <script src=
"scripts/jaguar.js"></script>