}
};
-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);
}
};
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
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";
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);
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);
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();
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);