From c02440b86821e4b3216dacfb76f2b53709a71407 Mon Sep 17 00:00:00 2001 From: "jk.pu" Date: Thu, 27 Oct 2016 13:33:26 +0900 Subject: [PATCH] [iotcon] fix some implementation issue. 1. fix RequestCallback is not called when client send get operation. 2. fix response send() issue(request id is not set, can't find proper response handler) Change-Id: If3cbaba6aa4ef941c83395b6440ec5addbbee3d4 Signed-off-by: jk.pu --- src/iotcon/iotcon_api.js | 24 +++++++++++------------- src/iotcon/iotcon_instance.cc | 6 +++--- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/iotcon/iotcon_api.js b/src/iotcon/iotcon_api.js index 4cd400b7..5d6fc473 100644 --- a/src/iotcon/iotcon_api.js +++ b/src/iotcon/iotcon_api.js @@ -19,7 +19,7 @@ var validator = xwalk.utils.validator; var types = validator.Types; var T = xwalk.utils.type; var kIdKey = Symbol(); -var converter = xwalk.converter; +var converter = xwalk.utils.converter; function createListener(name, c) { var listenerName = name; @@ -286,10 +286,8 @@ function createRepresentation(data) { return r; } -function Request(data) { - this[kIdKey] = data.id; - - delete data.id; +function Request(id, data) { + data.id = id; if (data.representation) { data.representation = createRepresentation(data.representation); @@ -459,34 +457,34 @@ Resource.prototype.removeChildResource = function() { var resourceRequestListener = createListener('ResourceRequestListener'); -var _setRequestListener = function(id, listener) { +var _setRequestListener = function(id, args_listener) { var callArgs = {}; callArgs.id = id; var listener = function(result) { - var request = new Request(result.data.request); + var request = new Request(result.data.id, result.data.request); switch (converter.toString(result.data.type, false)) { case RequestType.GET: - native.callIfPossible(listener.onget, request); + native.callIfPossible(args_listener.onget, request); break; case RequestType.PUT: - native.callIfPossible(listener.onput, request); + native.callIfPossible(args_listener.onput, request); break; case RequestType.POST: - native.callIfPossible(listener.onpost, request); + native.callIfPossible(args_listener.onpost, request); break; case RequestType.DELETE: - native.callIfPossible(listener.ondelete, request); + native.callIfPossible(args_listener.ondelete, request); break; } var observeType = converter.toString(result.data.observeType, false); var observerId = converter.toUnsignedLong(result.data.observerId, false); if (observeType !== ObserveType.NO_TYPE && observerId) { - native.callIfPossible(listener.onobserving(request, observeType, observerId)); + native.callIfPossible(args_listener.onobserving(request, observeType, observerId)); } }; @@ -551,7 +549,7 @@ function Response(request) { Response.prototype.send = function() { var callArgs = {}; - callArgs.id = this.request[kIdKey]; + callArgs.id = this.request.id; callArgs.result = this.result; callArgs.representation = this.representation; callArgs.options = this.options; diff --git a/src/iotcon/iotcon_instance.cc b/src/iotcon/iotcon_instance.cc index 46d618e3..7b069ccb 100644 --- a/src/iotcon/iotcon_instance.cc +++ b/src/iotcon/iotcon_instance.cc @@ -403,13 +403,13 @@ common::TizenResult IotconInstance::ResourceSetRequestListener(const picojson::o if (!resource->request_listener) { resource->request_listener = [this, id](const common::TizenResult&, const picojson::value& v) { - picojson::value response{picojson::object{}}; - auto& obj = response.get(); + picojson::value request{picojson::object{}}; + auto& obj = request.get(); obj.insert(std::make_pair(kId, picojson::value{static_cast(id)})); obj.insert(std::make_pair(kData, v)); - Post(kResourceRequestListenerToken, common::TizenSuccess{response}); + Post(kResourceRequestListenerToken, common::TizenSuccess{request}); }; } -- 2.34.1