From 850f0241e5a74308bd1f5509eeef8e1906994624 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Wed, 27 Mar 2013 10:43:12 +0300 Subject: [PATCH] Implemented factory reset --- tasks.coffee | 12 ++++++++++++ tr-069.coffee | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/tasks.coffee b/tasks.coffee index c0c58b6..a5afa9c 100644 --- a/tasks.coffee +++ b/tasks.coffee @@ -128,6 +128,18 @@ this.reboot = (task, methodResponse, callback) -> callback(null, STATUS_FINISHED) +this.factoryReset = (task, methodResponse, callback) -> + if methodResponse.faultcode? + task.fault = methodResponse + callback(null, STATUS_FAULT) + return + + if methodResponse.type isnt 'FactoryResetResponse' + callback(null, STATUS_STARTED, {methodRequest : {type : 'FactoryReset'}}) + else + callback(null, STATUS_FINISHED) + + this.download = (task, methodResponse, callback) -> if methodResponse.faultcode? task.fault = methodResponse diff --git a/tr-069.coffee b/tr-069.coffee index cb4267d..a50a33c 100644 --- a/tr-069.coffee +++ b/tr-069.coffee @@ -133,6 +133,15 @@ cpeRebootResponse = (xml) -> {} +cpeFactoryReset = (xml, methodRequest) -> + el = xml.node('cwmp:FactoryReset') + el.node('CommandKey').text(if methodRequest.commandKey then methodRequest.commandKey else '') + + +cpeFactoryResetResponse = (xml, methodRequest) -> + {} + + cpeDownload = (xml, methodRequest) -> el = xml.node('cwmp:Download') el.node('CommandKey').text(methodRequest.commandKey or '') @@ -200,6 +209,9 @@ exports.request = (httpRequest) -> when 'RebootResponse' cwmpRequest.methodResponse = cpeRebootResponse(methodElement) cwmpRequest.methodResponse.type = 'RebootResponse' + when 'FactoryResetResponse' + cwmpRequest.methodResponse = cpeFactoryResetResponse(methodElement) + cwmpRequest.methodResponse.type = 'FactoryResetResponse' when 'DownloadResponse' cwmpRequest.methodResponse = cpeDownloadResponse(methodElement) cwmpRequest.methodResponse.type = 'DownloadResponse' @@ -255,6 +267,8 @@ exports.response = (id, cwmpResponse, cookies = null) -> cpeSetParameterValues(body, cwmpResponse.methodRequest) when 'Reboot' cpeReboot(body, cwmpResponse.methodRequest) + when 'FactoryReset' + cpeFactoryReset(body, cwmpResponse.methodRequest) when 'Download' cpeDownload(body, cwmpResponse.methodRequest) else