2dab4e01a505c1b19a4ead476a6954f9d4c8f139
[project/luci.git] / modules / rpc / luasrc / controller / rpc / uci.lua
1 --[[
2 LuCI - Lua Configuration Interface
3
4 Copyright 2008 Steven Barth <steven@midlink.org>
5 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 $Id$
14 ]]--
15
16 local uci   = require "luci.model.uci"
17 local table = require "table"
18
19
20 module "luci.controller.rpc.uci"
21 _M, _PACKAGE, _NAME = nil, nil, nil
22
23 function add(config, ...)
24         uci.load_config(config)
25         local stat = uci.add(config, ...)
26         return uci.save_config(config) and stat
27 end
28
29 function apply(config)
30         return uci.apply(config)
31 end
32
33 function changes(...)
34         return uci.changes(...)
35 end
36
37 function commit(config)
38         return uci.load(config) and uci.commit(config)
39 end
40
41 function delete(config, ...)
42         uci.load(config) 
43         return uci.delete(config, ...) and uci.save(config) 
44 end
45
46 function delete_all(config, ...)
47         uci.load(config)
48         return uci.delete_all(config, ...) and uci.save(config) 
49 end
50
51 function foreach(config, stype)
52         uci.load_config(config)
53         local sections = {}
54         
55         return uci.foreach(config, stype, function(section)
56                 table.insert(sections, section)
57         end) and sections
58 end
59
60 function get(config, ...)
61         uci.load_config(config)
62         return uci.get(config, ...)
63 end
64
65 function get_all(config, ...)
66         uci.load_config(config)
67         return uci.get_all(config, ...)
68 end
69
70 function get_state(config, ...)
71         uci.load_state(config)
72         return uci.get(config, ...)
73 end
74
75 function revert(config)
76         return uci.load(config) and uci.revert(config)
77 end
78
79 function section(config, ...)
80         uci.load_config(config)
81         return uci.section(config, ...) and uci.save_config(config)
82 end
83
84 function set(config, ...)
85         uci.load_config(config)
86         return uci.set(config, ...) and uci.save_config(config)
87 end
88
89 function tset(config, ...)
90         uci.load_config(config)
91         return uci.tset(config, ...) and uci.save_config(config)
92 end
93