From edd484c7936db3995e0e8e2bd93b6115aa7554fa Mon Sep 17 00:00:00 2001 From: spag Date: Thu, 10 Jan 2013 10:03:08 +0100 Subject: method generic added --- .../scripts/configuration/freeswitch_xml.lua | 50 +++++++++++++++------- 1 file changed, 35 insertions(+), 15 deletions(-) (limited to 'misc/freeswitch/scripts/configuration/freeswitch_xml.lua') diff --git a/misc/freeswitch/scripts/configuration/freeswitch_xml.lua b/misc/freeswitch/scripts/configuration/freeswitch_xml.lua index 5f4602c..3da76df 100644 --- a/misc/freeswitch/scripts/configuration/freeswitch_xml.lua +++ b/misc/freeswitch/scripts/configuration/freeswitch_xml.lua @@ -12,12 +12,8 @@ function FreeSwitchXml.new(self, object) return object end -function FreeSwitchXml.param(self, name, value) - return '' -end - -function FreeSwitchXml.variable(self, name, value) - return '' +function FreeSwitchXml.nv_tag(self, name, value, tag) + return '<' .. tostring(tag) .. ' name="' .. tostring(name) .. '" value="' .. tostring(value) .. '"/>' end function FreeSwitchXml.document(self, sections_xml) @@ -98,12 +94,12 @@ function FreeSwitchXml.user(self, user, params) local params_xml = {} for name, value in pairs(params) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local variables_xml = {} for name, value in pairs(variables) do - variables_xml[#variables_xml+1] = self:variable(name, value) + variables_xml[#variables_xml+1] = self:nv_tag(name, value, 'variable') end local xml_string = @@ -137,12 +133,12 @@ function FreeSwitchXml.gateway_user(self, user, gateway_name, auth_name) local params_xml = {} for name, value in pairs(params) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local variables_xml = {} for name, value in pairs(variables) do - variables_xml[#variables_xml+1] = self:variable(name, value) + variables_xml[#variables_xml+1] = self:nv_tag(name, value, 'variable') end local xml_string = @@ -169,7 +165,7 @@ function FreeSwitchXml.sofia(self, parameters, profiles_xml) local params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local xml_string = @@ -192,7 +188,7 @@ end function FreeSwitchXml.sofia_profile(self, profile_name, parameters, gateways_xml) params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end if type(gateways_xml) == "string" then @@ -225,7 +221,7 @@ function FreeSwitchXml.gateway(self, gateway_name, parameters) local params_xml = {} if parameters then for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end end @@ -291,9 +287,9 @@ function FreeSwitchXml.conference(self, profiles_xml) end function FreeSwitchXml.conference_profile(self, profile_name, parameters) - params_xml = {} + local params_xml = {} for name, value in pairs(parameters) do - params_xml[#params_xml+1] = self:param(name, value) + params_xml[#params_xml+1] = self:nv_tag(name, value, 'param') end local xml_string = @@ -304,3 +300,27 @@ function FreeSwitchXml.conference_profile(self, profile_name, parameters) ]] return xml_string end + +function FreeSwitchXml.generic(self, arg) + local params_xml = arg.params_xml or {}; + local params_tag = arg.params_tag or 'settings'; + local parameter_tag = arg.parameter_tag or 'param'; + + if arg.parameters then + for name, value in pairs(arg.parameters) do + params_xml[#params_xml+1] = self:nv_tag(name, value, parameter_tag) + end + end + + local xml_string = +[[ +
+ +<]] .. tostring(params_tag) .. [[> +]] .. table.concat(params_xml, "\n") .. [[ + + + +
]] + return xml_string +end -- cgit v1.2.3