Current section

Files

Jump to
cwmp_ex lib generate du_state_change_complete.ex
Raw

lib/generate/du_state_change_complete.ex

defimpl CWMP.Protocol.Generate, for: CWMP.Protocol.Messages.DUStateChangeComplete do
import XmlBuilder
use CWMP.Protocol.GenerateHelpers
def generate(req) do
element("cwmp:DUStateChangeComplete", [
element(:CommandKey,req.commandkey) ] ++
[ generateOperationsList(req.results) ] )
end
defp generateOperationsList(operations) do
olist=for o <- operations, do: element(:OpResultStruct, [
element(:UUID, o.uuid),
element(:DeploymentUnitRef, o.deployment_unit_ref),
element(:Version, o.version),
element(:CurrentState, o.current_state),
element(:Resolved, boolValue(o.resolved)),
element(:ExecutionUnitRefList, o.execution_unit_ref_list),
element(:StartTime, timeString(o.start_time)),
element(:CompleteTime, timeString(o.complete_time)),
element(:Fault, [faultStruct(o.fault)])])
element(:Results, %{"SOAP-ENC:arrayType": "cwmp:OpResultStruct[#{length(olist)}]"}, olist)
end
end