}\r
\r
bool currPolicy = NSGetPolicy();\r
+ NSAskAcceptanceToUser(entityHandlerRequest);\r
\r
if (currPolicy == NS_POLICY_PROVIDER)\r
{\r
NS_LOG(DEBUG, "NSGetSubscriptionAccepter == NS_ACCEPTER_PROVIDER");\r
- NSAskAcceptanceToUser(entityHandlerRequest);\r
}\r
else if (currPolicy == NS_POLICY_CONSUMER)\r
{\r
NS_LOG(DEBUG, "NSGetSubscriptionAccepter == NS_ACCEPTER_CONSUMER");\r
- NSSendConsumerSubResponse(entityHandlerRequest);\r
+ NSSendConsumerSubResponse(NSCopyOCEntityHandlerRequest(entityHandlerRequest));\r
}\r
}\r
else if (resourceType == NS_RESOURCE_SYNC)\r
\r
NSCacheSubData * subData = (NSCacheSubData*) element->data;\r
\r
- if (OCNotifyListOfObservers(rHandle, (OCObservationId*)&subData->messageObId, 1, payload, OC_HIGH_QOS)\r
- != OC_STACK_OK)\r
+ if (OCNotifyListOfObservers(rHandle, (OCObservationId*)&subData->messageObId, 1, payload,\r
+ OC_HIGH_QOS) != OC_STACK_OK)\r
{\r
NS_LOG(ERROR, "fail to send topic updation");\r
OCRepPayloadDestroy(payload);\r
return NS_ERROR;\r
-\r
}\r
\r
OCRepPayloadDestroy(payload);\r
payloadValue = NSPayloadFindValue(payload, NS_ATTRIBUTE_TOPIC_LIST);\r
size_t dimensionSize = calcDimTotal(payloadValue->arr.dimensions);\r
size_t dimensions[3] = {dimensionSize, 0, 0};\r
- OCRepPayloadGetPropObjectArray(payload, NS_ATTRIBUTE_TOPIC_LIST, & topicListPayload, dimensions);\r
+ OCRepPayloadGetPropObjectArray(payload, NS_ATTRIBUTE_TOPIC_LIST, &topicListPayload, dimensions);\r
\r
for(int i = 0; i <(int)dimensionSize; i++)\r
{\r
NSFreeOCEntityHandlerRequest((OCEntityHandlerRequest*) node->taskData);\r
break;\r
case TASK_SUBSCRIBE_TOPIC:\r
+ {\r
NS_LOG(DEBUG, "CASE TASK_SUBSCRIBE_TOPIC : ");\r
NSCacheElement * newObj = (NSCacheElement *) OICMalloc(sizeof(NSCacheElement));\r
newObj->data = node->taskData;\r
NSStorageWrite(consumerTopicList, newObj);\r
NSCacheTopicSubData * topicSubData = (NSCacheTopicSubData *) node->taskData;\r
NSSendTopicUpdationToConsumer(topicSubData->id);\r
+ }\r
break;\r
case TASK_UNSUBSCRIBE_TOPIC:\r
+ {\r
NS_LOG(DEBUG, "CASE TASK_SUBSCRIBE_TOPIC : ");\r
NSProviderDeleteConsumerTopic(consumerTopicList,\r
(NSCacheTopicSubData *) node->taskData);\r
- NS_LOG(DEBUG, "CASE TASK_SUBSCRIBE_TOPIC AFter: ");\r
+ NSCacheTopicSubData * topicSubData = (NSCacheTopicSubData *) node->taskData;\r
+ NSSendTopicUpdationToConsumer(topicSubData->id);\r
+ OICFree(topicSubData->topicName);\r
+ OICFree(topicSubData);\r
+ }\r
break;\r
case TASK_ADD_TOPIC:\r
{\r