Current section
Files
Jump to
Current section
Files
lib/generate/get_options_response.ex
defimpl CWMP.Protocol.Generate, for: CWMP.Protocol.Messages.GetOptionsResponse do
import XmlBuilder
use CWMP.Protocol.GenerateHelpers
def generate(req) do
olist = generateOptions(req.optionlist)
element("cwmp:GetOptionsResponse", [
element(:OptionList, %{"SOAP-ENC:arrayType": "cwmp:OptionStruct[#{length(olist)}]"}, olist) ])
end
defp generateOptions(optionlist) do
for o <- optionlist, do: element(:OptionStruct, [
element(:OptionName, o.option_name),
element(:VoucherSN, integerValue(o.voucher_sn, fn(x) -> x > 0 end)),
element(:State, integerValue(o.state, fn(x) -> x in 0..2 end)),
element(:Mode, integerValue(o.state, fn(x) -> x > 0 end)),
element(:StartDate, timeString(o.start_date)),
element(:ExpirationDate, timeString(o.expiration_date)),
element(:IsTransferable, boolValue(o.is_transferable))])
end
end