From: jaesick.shin Date: Tue, 23 Aug 2016 06:25:17 +0000 (+0900) Subject: Modify logic for related Topic. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4c03ba3d4474c3b4183954e4fcf80a4042cdc1aa;p=contrib%2Fiotivity.git Modify logic for related Topic. 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 Reviewed-on: https://gerrit.iotivity.org/gerrit/10773 Reviewed-by: Uze Choi Tested-by: Uze Choi --- diff --git a/service/notification/src/provider/NSProviderListener.c b/service/notification/src/provider/NSProviderListener.c index e186e7d..878c532 100644 --- a/service/notification/src/provider/NSProviderListener.c +++ b/service/notification/src/provider/NSProviderListener.c @@ -215,7 +215,12 @@ OCEntityHandlerResult NSEntityHandlerTopicCb(OCEntityHandlerFlag flag, (void)callback; - // Validate pointer + OCEntityHandlerResponse response; + response.numSendVendorSpecificHeaderOptions = 0; + memset(response.sendVendorSpecificHeaderOptions, 0, + sizeof response.sendVendorSpecificHeaderOptions); + memset(response.resourceUri, 0, sizeof response.resourceUri); + if (!entityHandlerRequest) { NS_LOG(ERROR, "Invalid request pointer"); @@ -257,6 +262,18 @@ OCEntityHandlerResult NSEntityHandlerTopicCb(OCEntityHandlerFlag flag, } } + response.requestHandle = entityHandlerRequest->requestHandle; + response.resourceHandle = entityHandlerRequest->resource; + response.persistentBufferFlag = 0; + response.ehResult = OC_EH_OK; + response.payload = (OCPayload *) NULL; + + if (OCDoResponse(&response) != OC_STACK_OK) + { + NS_LOG(ERROR, "Fail to AccessPolicy send response"); + return NS_ERROR; + } + NS_LOG(DEBUG, "NSEntityHandlerTopicCb - OUT"); return ehResult; } diff --git a/service/notification/src/provider/NSProviderTopic.c b/service/notification/src/provider/NSProviderTopic.c index a2a3b3f..d651bb9 100644 --- a/service/notification/src/provider/NSProviderTopic.c +++ b/service/notification/src/provider/NSProviderTopic.c @@ -301,6 +301,10 @@ NSResult NSPostConsumerTopics(OCEntityHandlerRequest * entityHandlerRequest) return NS_ERROR; } + consumerTopicList->cacheType = NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID; + while(NSStorageDelete(consumerTopicList, consumerId) != NS_FAIL); + consumerTopicList->cacheType = NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME; + OCRepPayload ** topicListPayload = NULL; OCRepPayloadValue * payloadValue = NULL; payloadValue = NSPayloadFindValue(payload, NS_ATTRIBUTE_TOPIC_LIST);