Modify logic for related Topic.
authorjaesick.shin <jaesick.shin@samsung.com>
Tue, 23 Aug 2016 06:25:17 +0000 (15:25 +0900)
committerUze Choi <uzchoi@samsung.com>
Wed, 24 Aug 2016 06:42:07 +0000 (06:42 +0000)
This patch included
add OCDoReponse for NSEntityHandlerTopicCb.
add DeleteConsumerTopicList.
When the topic entityhandler OC_REST_POST is requested,
the function is called NSPostConsumerTopics.
At this time, delete a list of consumer who have a provider,
and make a new selection topiclist.

second patch included.
modify comment out.

Change-Id: Ib5eba3809dfc199bc2ab93008e32591da1312060
Signed-off-by: jaesick.shin <jaesick.shin@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/10773
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Tested-by: Uze Choi <uzchoi@samsung.com>
service/notification/src/provider/NSProviderListener.c
service/notification/src/provider/NSProviderTopic.c

index e186e7d..878c532 100644 (file)
@@ -215,7 +215,12 @@ OCEntityHandlerResult NSEntityHandlerTopicCb(OCEntityHandlerFlag flag,
 \r
     (void)callback;\r
 \r
-    // Validate pointer\r
+    OCEntityHandlerResponse response;\r
+    response.numSendVendorSpecificHeaderOptions = 0;\r
+    memset(response.sendVendorSpecificHeaderOptions, 0,\r
+            sizeof response.sendVendorSpecificHeaderOptions);\r
+    memset(response.resourceUri, 0, sizeof response.resourceUri);\r
+\r
     if (!entityHandlerRequest)\r
     {\r
         NS_LOG(ERROR, "Invalid request pointer");\r
@@ -257,6 +262,18 @@ OCEntityHandlerResult NSEntityHandlerTopicCb(OCEntityHandlerFlag flag,
         }\r
     }\r
 \r
+    response.requestHandle = entityHandlerRequest->requestHandle;\r
+    response.resourceHandle = entityHandlerRequest->resource;\r
+    response.persistentBufferFlag = 0;\r
+    response.ehResult = OC_EH_OK;\r
+    response.payload = (OCPayload *) NULL;\r
+\r
+    if (OCDoResponse(&response) != OC_STACK_OK)\r
+    {\r
+        NS_LOG(ERROR, "Fail to AccessPolicy send response");\r
+        return NS_ERROR;\r
+    }\r
+\r
     NS_LOG(DEBUG, "NSEntityHandlerTopicCb - OUT");\r
     return ehResult;\r
 }\r
index a2a3b3f..d651bb9 100644 (file)
@@ -301,6 +301,10 @@ NSResult NSPostConsumerTopics(OCEntityHandlerRequest * entityHandlerRequest)
         return NS_ERROR;\r
     }\r
 \r
+    consumerTopicList->cacheType = NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID;\r
+    while(NSStorageDelete(consumerTopicList, consumerId) != NS_FAIL);\r
+    consumerTopicList->cacheType = NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME;\r
+\r
     OCRepPayload ** topicListPayload = NULL;\r
     OCRepPayloadValue * payloadValue = NULL;\r
     payloadValue = NSPayloadFindValue(payload, NS_ATTRIBUTE_TOPIC_LIST);\r