#include <string.h>
#include "oicgroup.h"
+#if defined (__TIZENRT__)
+#include <apps/netutils/cJSON.h>
+#else
#include "cJSON.h"
+#endif
#include "cbor.h"
#include "ocpayload.h"
#include "oic_malloc.h"
OCFREE(desc)
OCFREE(capa)
OCFREE(action)
+ OCFREE((*set)->actionsetName)
OCFREE(*set)
OCFREE(key)
OCFREE(value)
goto exit;
}
- actionTypeStr = (char *)malloc(1024);
+ actionTypeStr = (char *)OICMalloc(1024);
if(actionTypeStr != NULL)
{
sprintf(actionTypeStr, "%ld %u", actionset->timesteps, actionset->type);
remaining -= strlen(actionTypeStr);
strncat(temp, ACTION_DELIMITER, strlen(ACTION_DELIMITER));
remaining -= strlen(ACTION_DELIMITER);
- free(actionTypeStr);
+ OICFree(actionTypeStr);
}
else
{
- free(actionTypeStr);
+ OICFree(actionTypeStr);
res = OC_STACK_ERROR;
goto exit;
}
}
// Format the response. Note this requires some info about the request
- response.requestHandle = info->ehRequest;
+ response.requestHandle = info->ehRequest->requestId;
response.resourceHandle = info->collResource;
response.payload = clientResponse->payload;
response.numSendVendorSpecificHeaderOptions = 0;
stackRet = OC_STACK_ERROR;
}
}
+ OCRepPayloadDestroy(payload);
}
else if (method == OC_REST_POST)
{
else
{
OIC_LOG(INFO, TAG, "Group Action[POST].");
+ OCServerRequest *request =
+ GetServerRequestUsingHandle(ehRequest->requestHandle);
+ if (NULL == request)
+ {
+ stackRet = OC_STACK_ERROR;
+ goto exit;
+ }
+
if (actionset->type == NONE)
{
OIC_LOG_V(INFO, TAG, "Execute ActionSet : %s",
unsigned int num = GetNumOfTargetResource(
actionset->head);
- ((OCServerRequest *) ehRequest->requestHandle)->ehResponseHandler =
- HandleAggregateResponse;
- ((OCServerRequest *) ehRequest->requestHandle)->numResponses =
- num + 1;
+ request->ehResponseHandler = HandleAggregateResponse;
+ request->numResponses = num + 1;
+
+ DoAction(resource, actionset, request);
- DoAction(resource, actionset,
- (OCServerRequest*) ehRequest->requestHandle);
stackRet = OC_STACK_OK;
}
else
MUTEX_LOCK(&g_scheduledResourceLock);
schedule->resource = resource;
schedule->actionset = actionset;
- schedule->ehRequest =
- (OCServerRequest*) ehRequest->requestHandle;
+ schedule->ehRequest = request;
+
MUTEX_UNLOCK(&g_scheduledResourceLock);
if (delay > 0)
{
stackRet = OC_STACK_ERROR;
}
}
+ OCRepPayloadDestroy(payload);
}
exit: