diff options
Diffstat (limited to 'libs/luci-lib-rpcc/luasrc')
-rw-r--r-- | libs/luci-lib-rpcc/luasrc/rpcc.lua | 59 | ||||
-rw-r--r-- | libs/luci-lib-rpcc/luasrc/rpcc.luadoc | 36 | ||||
-rw-r--r-- | libs/luci-lib-rpcc/luasrc/rpcc/ruci.lua | 48 | ||||
-rw-r--r-- | libs/luci-lib-rpcc/luasrc/rpcc/ruci.luadoc | 16 |
4 files changed, 0 insertions, 159 deletions
diff --git a/libs/luci-lib-rpcc/luasrc/rpcc.lua b/libs/luci-lib-rpcc/luasrc/rpcc.lua deleted file mode 100644 index 5558910bf1..0000000000 --- a/libs/luci-lib-rpcc/luasrc/rpcc.lua +++ /dev/null @@ -1,59 +0,0 @@ --- Copyright 2009 Steven Barth <steven@midlink.org> --- Licensed to the public under the Apache License 2.0. - -local util = require "luci.util" -local json = require "luci.json" -local ltn12 = require "luci.ltn12" -local nixio = require "nixio", require "nixio.util" - -local tostring, assert, setmetatable = tostring, assert, setmetatable -local error = error - -module "luci.rpcc" - -RQLIMIT = 32 * nixio.const.buffersize - -Client = util.class() - -function Client.__init__(self, fd, v1) - self.fd = fd - self.uniqueid = tostring(self):match("0x([a-f0-9]+)") - self.msgid = 1 - self.v1 = v1 -end - -function Client.request(self, method, params, notification) - local oldchunk = self.decoder and self.decoder.chunk - self.decoder = json.ActiveDecoder(self.fd:blocksource(nil, RQLIMIT)) - self.decoder.chunk = oldchunk - - local reqid = self.msgid .. self.uniqueid - local reqdata = json.Encoder({ - id = (not notification) and (self.msgid .. self.uniqueid) or nil, - jsonrpc = (not self.v1) and "2.0" or nil, - method = method, - params = params - }) - ltn12.pump.all(reqdata:source(), self.fd:sink()) - if not notification then - self.msgid = self.msgid + 1 - local response = self.decoder:get() - assert(response.id == reqid, "Invalid response id") - if response.error then - error(response.error.message or response.error) - end - return response.result - end -end - -function Client.proxy(self, prefix) - prefix = prefix or "" - return setmetatable({}, { - __call = function(proxy, ...) - return self:request(prefix, {...}) - end, - __index = function(proxy, name) - return self:proxy(prefix .. name .. ".") - end - }) -end
\ No newline at end of file diff --git a/libs/luci-lib-rpcc/luasrc/rpcc.luadoc b/libs/luci-lib-rpcc/luasrc/rpcc.luadoc deleted file mode 100644 index 5609bfd751..0000000000 --- a/libs/luci-lib-rpcc/luasrc/rpcc.luadoc +++ /dev/null @@ -1,36 +0,0 @@ ----[[ -LuCI RPC Client. - -@cstyle instance -]] -module "luci.rpcc" - ----[[ -Create a new JSON-RPC stream client. - -@class function -@param fd File descriptor -@param v1 Use protocol version 1.0 -@return RPC Client -]] - ----[[ -Request an RP call and get the response. - -@class function -@name Client.request -@param method Remote method -@param params Parameters -@param notification Notification only? -@return response -]] - ----[[ -Create a transparent RPC proxy. - -@class function -@name Client.proxy -@param prefix Method prefix -@return RPC Proxy object -]] - diff --git a/libs/luci-lib-rpcc/luasrc/rpcc/ruci.lua b/libs/luci-lib-rpcc/luasrc/rpcc/ruci.lua deleted file mode 100644 index 275c396992..0000000000 --- a/libs/luci-lib-rpcc/luasrc/rpcc/ruci.lua +++ /dev/null @@ -1,48 +0,0 @@ --- Copyright 2009 Steven Barth <steven@midlink.org> --- Licensed to the public under the Apache License 2.0. - -local util = require "luci.util" -local rawget, setmetatable = rawget, setmetatable -local ipairs = ipairs - -module "luci.rpcc.ruci" - - -local Proxy = util.class() - -function factory(rpccl) - return { - cursor = function(...) - return Proxy(rpccl, rpccl:request("ruci.cursor", {...})) - end, - cursor_state = function(...) - return Proxy(rpccl, rpccl:request("ruci.cursor_state", {...})) - end - } -end - -function Proxy.__init__(self, rpccl, objid) - self.__rpccl = rpccl - self.__objid = objid - - setmetatable(self, { - __index = function(self, key) - return rawget(self, key) or Proxy[key] or function(self, ...) - local argv = {self.__objid, ...} - return self.__rpccl:request("ruci."..key, argv) - end - end - }) -end - -function Proxy.foreach(self, config, section, callback) - local sections = self.__rpccl:request("ruci.foreach", {self.__objid, config, section}) - if sections then - for _, s in ipairs(sections) do - callback(s) - end - return true - else - return false - end -end diff --git a/libs/luci-lib-rpcc/luasrc/rpcc/ruci.luadoc b/libs/luci-lib-rpcc/luasrc/rpcc/ruci.luadoc deleted file mode 100644 index 9c842c5650..0000000000 --- a/libs/luci-lib-rpcc/luasrc/rpcc/ruci.luadoc +++ /dev/null @@ -1,16 +0,0 @@ ----[[ -Transparent UCI over RPC client. - -@cstyle instance -]] -module "luci.rpcc.ruci" - ----[[ -Create a new UCI over RPC proxy. - -@class function -@name factory -@param rpccl RPC client -@return Network transparent UCI module -]] - |