--------------------------------------------------------------------------------
-- 文件: interface.lua
-- 日期: 2013-12-07
-- 作者: 盒子哥
-- 描述: 全局函数接口
--------------------------------------------------------------------------------

local common = LibStub("LibAddon"):GetAddon("common")
local type = type
--[[
category(string)	-- 分类
func_name = {	-- 全局函数表
	["method"] = method_func,
}
]]

function common:add_interface(category, func_name, func)
	assert(type(category) == "string", "Bad argument #2 to add_interface' (string expected)")
	
	if (type(func_name) == "table") then
		for k, v in pairs(func_name) do
			self:add_interface(category, k, v);
		end
	elseif (type(func_name) == "string") then
		assert(type(func) == "function", "Bad argument #4 to add_interface' (function expected)")

		if (self.interface[category] and self.interface[category][func_name]) then
			geterrorhandler()("common:add_interface(category, func_name, func) failed. 'func_name' "..func_name.." exist.")
		end

		self.interface[category] = self.interface[category] or {}
		self.interface[category][func_name] = func	
	else
		geterrorhandler()("common:add_interface(category, func_name, func): 'func_name' - string expected.")
	end	
end