struct CallbackData {
common::PostCallback fun;
+ bool was_called;
CallbackData(common::PostCallback f) {
fun = f;
+ was_called = false;
}
};
common::TizenResult ret = common::TizenSuccess();
switch (result) {
case IOTCON_ERROR_NONE:
+ // Mark that this callback was called at leas once (some resource was found)
+ data->was_called = true;
ret = IotconUtils::RemoteResourceToJson(resource, &v.get<picojson::object>());
break;
case IOTCON_ERROR_TIMEOUT:
LoggerD("IOTCON_TIMEOUT");
+ // if TIMEOUT was called after some resource was found then do not call errorCallback
+ if (data->was_called) {
+ return IOTCON_FUNC_STOP;
+ }
default:
ret = IotconUtils::ConvertIotconError(result);
}