if (appcontrol_result == IOTCON_ERROR_NONE) {
payload.set(NULL, CONV_JSON_APP_CONTROL_RESULT, resultStr.c_str());
}
- result.set(NULL, CONV_JSON_DESCRIPTION, cb_info.requestObj->getDescription());
+ description = cb_info.requestObj->getDescription();
+ result.set(NULL, CONV_JSON_DESCRIPTION, description);
result.set(NULL, CONV_JSON_PAYLOAD, payload);
cb_info.requestObj->publish(CONV_ERROR_NONE, result, 0, NULL);
payload.set(NULL, CONV_JSON_APP_CONTROL_REQUEST, appctl_request_char);
}
- result.set(NULL, CONV_JSON_DESCRIPTION, cb_info.requestObj->getDescription());
+ description = cb_info.requestObj->getDescription();
+ result.set(NULL, CONV_JSON_DESCRIPTION, description);
result.set(NULL, CONV_JSON_PAYLOAD, payload);
cb_info.requestObj->publish(CONV_ERROR_INVALID_OPERATION, result, 0, NULL);
switch (requestObj->getType()) {
case REQ_SUBSCRIBE:
if (svcInfo->registeredRequest != NULL) {
+ for (std::map<int, response_cb_info_s>::iterator it = response_cb_map.begin(); it != response_cb_map.end(); ++it) {
+ if (((response_cb_info_s)it->second).requestObj == svcInfo->registeredRequest) {
+ response_cb_info_s cbInfo;
+ cbInfo.req_id = ((response_cb_info_s)it->second).req_id;
+ cbInfo.requestObj = requestObj;
+
+ it->second = cbInfo;
+ }
+ }
+
delete svcInfo->registeredRequest;
}
svcInfo->registeredRequest = requestObj;
_D("subscribe requested");
break;
case REQ_UNSUBSCRIBE:
+ for (std::map<int, response_cb_info_s>::iterator it = response_cb_map.begin(); it != response_cb_map.end(); ++it) {
+ if (((response_cb_info_s)it->second).requestObj == svcInfo->registeredRequest) {
+ response_cb_info_s cbInfo;
+ cbInfo.req_id = ((response_cb_info_s)it->second).req_id;
+ cbInfo.requestObj = NULL;
+
+ it->second = cbInfo;
+ }
+ }
+
+ delete svcInfo->registeredRequest;
svcInfo->registeredRequest = NULL;
requestObj->reply(CONV_ERROR_NONE);
delete requestObj;