[iotcon] fix some implementation issue. 55/94055/4
authorjk.pu <jk.pu@samsung.com>
Thu, 27 Oct 2016 04:33:26 +0000 (13:33 +0900)
committerJeongkyun Pu <jk.pu@samsung.com>
Mon, 31 Oct 2016 05:34:13 +0000 (22:34 -0700)
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 <jk.pu@samsung.com>
src/iotcon/iotcon_api.js
src/iotcon/iotcon_instance.cc

index 4cd400b..5d6fc47 100644 (file)
@@ -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;
index 46d618e..7b069cc 100644 (file)
@@ -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::object>();
+      picojson::value request{picojson::object{}};
+      auto& obj = request.get<picojson::object>();
 
       obj.insert(std::make_pair(kId, picojson::value{static_cast<double>(id)}));
       obj.insert(std::make_pair(kData, v));
 
-      Post(kResourceRequestListenerToken, common::TizenSuccess{response});
+      Post(kResourceRequestListenerToken, common::TizenSuccess{request});
     };
   }