uci.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. -- Copyright 2008 Steven Barth <steven@midlink.org>
  2. -- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
  3. -- Licensed to the public under the Apache License 2.0.
  4. local uci = require "luci.model.uci".cursor()
  5. local ucis = require "luci.model.uci".cursor_state()
  6. local table = require "table"
  7. module "luci.jsonrpcbind.uci"
  8. _M, _PACKAGE, _NAME = nil, nil, nil
  9. function add(config, ...)
  10. uci:load(config)
  11. local stat = uci:add(config, ...)
  12. return uci:save(config) and stat
  13. end
  14. function apply(config)
  15. return uci:apply(config)
  16. end
  17. function changes(...)
  18. return uci:changes(...)
  19. end
  20. function commit(config)
  21. return uci:load(config) and uci:commit(config)
  22. end
  23. function delete(config, ...)
  24. uci:load(config)
  25. return uci:delete(config, ...) and uci:save(config)
  26. end
  27. function delete_all(config, ...)
  28. uci:load(config)
  29. return uci:delete_all(config, ...) and uci:save(config)
  30. end
  31. function foreach(config, stype)
  32. uci:load(config)
  33. local sections = {}
  34. return uci:foreach(config, stype, function(section)
  35. table.insert(sections, section)
  36. end) and sections
  37. end
  38. function get(config, ...)
  39. uci:load(config)
  40. return uci:get(config, ...)
  41. end
  42. function get_all(config, ...)
  43. uci:load(config)
  44. return uci:get_all(config, ...)
  45. end
  46. function get_state(config, ...)
  47. ucis:load(config)
  48. return ucis:get(config, ...)
  49. end
  50. function revert(config)
  51. return uci:load(config) and uci:revert(config)
  52. end
  53. function section(config, ...)
  54. uci:load(config)
  55. return uci:section(config, ...) and uci:save(config)
  56. end
  57. function set(config, ...)
  58. uci:load(config)
  59. return uci:set(config, ...) and uci:save(config)
  60. end
  61. function tset(config, ...)
  62. uci:load(config)
  63. return uci:tset(config, ...) and uci:save(config)
  64. end