[Iotcon] fix for iotcon, pass information about representation 27/130827/1
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 24 May 2017 06:14:00 +0000 (08:14 +0200)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 24 May 2017 06:14:00 +0000 (08:14 +0200)
[verification] Code compiles without error
               Passrate 1 run 1 block, second run 100%

Change-Id: I2cfc09dd6244a2664dc901ba6ecc3bd151574f60
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
src/iotcon/iotcon_api.js
src/iotcon/iotcon_server_manager.cc
src/iotcon/iotcon_server_manager.h

index 9290d32246374f0f6bf285c2179500feccc6b813..bd3f32db077fe99fc20aabff70479e3992408f9f 100644 (file)
@@ -464,7 +464,11 @@ var _setRequestListener = function(id, args_listener) {
   callArgs.id = id;
 
   var listener = function(result) {
+    if(!result.data.request.representation && result.data.uriPath) {
+      result.data.request.representation = new tizen.Representation(result.data.uriPath);
+    }
     var request = new Request(result.data.id, result.data.request);
+
     switch (converter.toString(result.data.type, false)) {
       case RequestType.GET:
         native.callIfPossible(args_listener.onget, request);
index be41a71aec5f299fb3f45ca89e2b7bcf1b5010e2..107343a4c6355be93371c213a8aa786a25160592 100644 (file)
@@ -114,7 +114,11 @@ void IotconServerManager::RequestHandler(iotcon_resource_h resource,
     }
 
     obj.insert(std::make_pair(kRequest, request_val));
-
+    std::map<iotcon_resource_h, std::string>::iterator it;
+    it = that->uri_map_.find(resource);
+    if (it != that->uri_map_.end()) {
+      obj.insert(std::make_pair(kUriPath, picojson::value(it->second.c_str())));
+    }
     // create response
     iotcon_response_h response = nullptr;
     result = IotconUtils::ConvertIotconError(iotcon_response_create(request, &response));
@@ -177,6 +181,7 @@ TizenResult IotconServerManager::CreateResource(const std::string& uri_path,
   // storing ResourceInfo into map
   res_pointer->id = GetNextId();
   resource_map_.insert(std::make_pair(res_pointer->id, res_pointer));
+  uri_map_.insert(std::make_pair(res_pointer->handle, uri_path));
   return TizenSuccess();
 }
 
@@ -214,7 +219,7 @@ common::TizenResult IotconServerManager::DestroyResource(long long id) {
   }
 
   resource_map_.erase(id);
-
+  uri_map_.erase(resource->handle);
   return TizenSuccess();
 }
 
index 7b9d347c7636b63d3556d6021ce1f319116e0f25..f800e0ab9f083c9b3ae188817dcd4773eb4cbbdb 100644 (file)
@@ -56,6 +56,7 @@ class IotconServerManager {
                              iotcon_request_h request, void *user_data);
 
   ResourceInfoMap resource_map_;
+  std::map<iotcon_resource_h, std::string> uri_map_;
 };
 
 } // namespace iotcon