[iotcon] Adjustments to latest WIDL.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Thu, 18 Feb 2016 07:36:14 +0000 (08:36 +0100)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Thu, 18 Feb 2016 14:50:37 +0000 (23:50 +0900)
Change-Id: I80f7af6b5fb51ab06d99d465c959b47d36dc9eeb
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/iotcon/iotcon_api.js
src/iotcon/iotcon_instance.cc
src/iotcon/iotcon_instance.h

index 7bf894032bd64200cfc52374658227b99bbc88cf..450b6d5254678269a225cac55cbff1ae5aa90e8e 100644 (file)
@@ -340,23 +340,24 @@ Resource.prototype.notify = function() {
   }
 };
 
-Resource.prototype.addResourceType = function() {
+Resource.prototype.addResourceTypes = function() {
   var args = validator.validateMethod(arguments, [{
-    name: 'type',
-    type: types.STRING
+    name: 'types',
+    type: types.ARRAY,
+    values: types.STRING
   }]);
 
   var callArgs = {};
   callArgs.id = this[kIdKey];
-  callArgs.type = args.type;
+  callArgs.types = args.types;
 
-  var result = native.callSync('IotconResource_addResourceType', callArgs);
+  var result = native.callSync('IotconResource_addResourceTypes', callArgs);
 
   if (native.isFailure(result)) {
     throw native.getErrorObject(result);
   } else {
     var t = this.resourceTypes;
-    t.push(args.type);
+    t = t.concat(args.types);
     updateWithInternalData({ resourceTypes: t }, this);
   }
 };
@@ -597,10 +598,9 @@ function RemoteResource(data) {
         var result = native.callSync('IotconRemoteResource_getCachedRepresentation', callArgs);
         if (native.isSuccess(result)) {
           return createRepresentation(native.getResultObject(result));
+        } else {
+          return null;
         }
-        // TODO check what should be returned
-        console.log("returning empty Object");
-        return {};
       }.bind(this),
       set: function() {},
       enumerable: true
index 10250149ada723576719888646b25f532071fee8..6b8276ca186f3605f985dee25853e643f3460449 100644 (file)
@@ -79,7 +79,7 @@ const common::ListenerToken kRemoteResourceStateChangeListener
 const std::string kObserverIds = "observerIds";
 const std::string kQos = "qos";
 const std::string kChildId = "childId";
-const std::string kType = "type";
+const std::string kTypes = "types";
 const std::string kInterface = "iface";
 const std::string kResult = "result";
 const std::string kTimeout = "timeout";
@@ -98,7 +98,7 @@ IotconInstance::IotconInstance() {
 
   REGISTER_SYNC("IotconResource_getObserverIds", ResourceGetObserverIds);
   REGISTER_SYNC("IotconResource_notify", ResourceNotify);
-  REGISTER_SYNC("IotconResource_addResourceType", ResourceAddResourceType);
+  REGISTER_SYNC("IotconResource_addResourceTypes", ResourceAddResourceTypes);
   REGISTER_SYNC("IotconResource_addResourceInterface", ResourceAddResourceInterface);
   REGISTER_SYNC("IotconResource_addChildResource", ResourceAddChildResource);
   REGISTER_SYNC("IotconResource_removeChildResource", ResourceRemoveChildResource);
@@ -291,11 +291,11 @@ common::TizenResult IotconInstance::ResourceNotify(const picojson::object& args)
   return common::TizenSuccess();
 }
 
-common::TizenResult IotconInstance::ResourceAddResourceType(const picojson::object& args) {
+common::TizenResult IotconInstance::ResourceAddResourceTypes(const picojson::object& args) {
   ScopeLogger();
 
   CHECK_EXIST(args, kId);
-  CHECK_EXIST(args, kType);
+  CHECK_EXIST(args, kTypes);
 
   ResourceInfoPtr resource;
   auto result = IotconServerManager::GetInstance().GetResourceById(GetId(args), &resource);
@@ -303,9 +303,13 @@ common::TizenResult IotconInstance::ResourceAddResourceType(const picojson::obje
     LogAndReturnTizenError(result, ("GetResourceById() failed"));
   }
 
-  result = IotconUtils::ConvertIotconError(iotcon_resource_bind_type(resource->handle, IotconUtils::GetArg(args, kType).get<std::string>().c_str()));
-  if (!result) {
-    LogAndReturnTizenError(result, ("iotcon_resource_bind_type() failed"));
+  const auto& types = IotconUtils::GetArg(args, kTypes).get<picojson::array>();
+
+  for (const auto& type : types) {
+    result = IotconUtils::ConvertIotconError(iotcon_resource_bind_type(resource->handle, type.get<std::string>().c_str()));
+    if (!result) {
+      LogAndReturnTizenError(result, ("iotcon_resource_bind_type() failed"));
+    }
   }
 
   return common::TizenSuccess();
index 58d9327d1b4553f21496ef5f7c039bd3b8c3a674..528abdb9ebb8adfffa70d1d1d6219fea36f95a9e 100644 (file)
@@ -37,7 +37,7 @@ class IotconInstance : public common::TizenInstance {
 
   common::TizenResult ResourceGetObserverIds(const picojson::object& args);
   common::TizenResult ResourceNotify(const picojson::object& args);
-  common::TizenResult ResourceAddResourceType(const picojson::object& args);
+  common::TizenResult ResourceAddResourceTypes(const picojson::object& args);
   common::TizenResult ResourceAddResourceInterface(const picojson::object& args);
   common::TizenResult ResourceAddChildResource(const picojson::object& args);
   common::TizenResult ResourceRemoveChildResource(const picojson::object& args);