* Rewrote OOP class constructor
* Added stub for cbi (configuration bind interface)
This commit is contained in:
parent
df0656fdf7
commit
03ad2398aa
2 changed files with 58 additions and 12 deletions
39
src/ffluci/cbi.lua
Normal file
39
src/ffluci/cbi.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
--[[
|
||||
FFLuCI - Configuration Bind Interface
|
||||
|
||||
Description:
|
||||
Offers an interface for binding confiugration values to certain
|
||||
data types. Supports value and range validation and basic dependencies.
|
||||
|
||||
FileId:
|
||||
$Id$
|
||||
|
||||
License:
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
]]--
|
||||
module("ffluci.cbi", package.seeall)
|
||||
require("ffluci.util")
|
||||
|
||||
|
||||
-- Node pseudo abstract class
|
||||
Node = ffluci.util.class()
|
||||
function Node.render(self)
|
||||
end
|
||||
function Node.append(self, obj)
|
||||
end
|
||||
|
||||
|
||||
Map = ffluci.util.class(Node)
|
|
@ -27,22 +27,29 @@ limitations under the License.
|
|||
module("ffluci.util", package.seeall)
|
||||
|
||||
|
||||
-- Lua OO class support emulation
|
||||
-- Lua simplified Python-style OO class support emulation
|
||||
function class(base)
|
||||
local clsobj = {}
|
||||
local metatable = {__index = clsobj}
|
||||
local class = {}
|
||||
|
||||
function clsobj.new()
|
||||
local inst = {}
|
||||
setmetatable(inst, metatable)
|
||||
return inst
|
||||
end
|
||||
|
||||
if base then
|
||||
setmetatable(clsobj, {__index = base})
|
||||
local create = function(class, ...)
|
||||
local inst = {}
|
||||
setmetatable(inst, {__index = class})
|
||||
|
||||
if inst.__init__ then
|
||||
inst:__init__(...)
|
||||
end
|
||||
|
||||
return inst
|
||||
end
|
||||
|
||||
return clsobj
|
||||
local classmeta = {__call = create}
|
||||
|
||||
if base then
|
||||
classmeta.__index = base
|
||||
end
|
||||
|
||||
setmetatable(class, classmeta)
|
||||
return class
|
||||
end
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue