From: jaesick.shin Date: Fri, 19 Aug 2016 05:35:24 +0000 (+0900) Subject: Modify logic for NSProviderGetConsumerTopicsCacheData Function. X-Git-Tag: 1.2.0+RC1~52^2~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3f7fd31072df6b7d2c70fd7ea300a9155f944bc;p=platform%2Fupstream%2Fiotivity.git Modify logic for NSProviderGetConsumerTopicsCacheData Function. This Function is direct used The User Interface function. Changed to use a cache memory function. Change-Id: I567e644a3890f78bb25495b2ab55d46be9f7912f Signed-off-by: jaesick.shin Reviewed-on: https://gerrit.iotivity.org/gerrit/10653 Reviewed-by: Chihyun Cho Tested-by: jenkins-iotivity Reviewed-by: Uze Choi --- diff --git a/service/notification/src/provider/NSProviderInterface.c b/service/notification/src/provider/NSProviderInterface.c index cec5178..cd335d5 100644 --- a/service/notification/src/provider/NSProviderInterface.c +++ b/service/notification/src/provider/NSProviderInterface.c @@ -252,7 +252,8 @@ NSTopicLL * NSProviderGetConsumerTopics(char *consumerId) return NS_FAIL; } - NSTopicLL * topics = NSProviderGetConsumerTopicsCacheData(consumerTopicList, consumerId); + NSTopicLL * topics = NSProviderGetConsumerTopicsCacheData(registeredTopicList, + consumerTopicList, consumerId); pthread_mutex_unlock(&nsInitMutex); return topics; diff --git a/service/notification/src/provider/NSProviderMemoryCache.c b/service/notification/src/provider/NSProviderMemoryCache.c index a28aca8..1f79fd5 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.c +++ b/service/notification/src/provider/NSProviderMemoryCache.c @@ -347,9 +347,9 @@ bool NSProviderCompareIdCacheData(NSCacheType type, void * data, const char * id NSResult NSProviderDeleteCacheData(NSCacheType type, void * data) { - if (data == NULL) + if (!data) { - return NS_OK; + return NS_ERROR; } if (type == NS_PROVIDER_CACHE_SUBSCRIBER) @@ -358,7 +358,6 @@ NSResult NSProviderDeleteCacheData(NSCacheType type, void * data) (subData->id)[0] = '\0'; OICFree(subData); - return NS_OK; } else if(type == NS_PROVIDER_CACHE_REGISTER_TOPIC) @@ -369,9 +368,6 @@ NSResult NSProviderDeleteCacheData(NSCacheType type, void * data) (int)topicData->state); OICFree(topicData->topicName); - - NS_LOG_V(DEBUG, "topicData->topicName = %s, topicData->state = %d", "aaa", - (int)3); } else if(type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME || type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID) @@ -560,12 +556,13 @@ NSTopicLL * NSProviderGetTopicsCacheData(NSCacheList * regTopicList) return topics; } -NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char *consumerId) +NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * regTopicList, + NSCacheList * conTopicList, char *consumerId) { - NS_LOG(DEBUG, "NSProviderGetConsumerTopics - IN"); + NS_LOG(DEBUG, "NSProviderGetConsumerTopicsCacheData - IN"); pthread_mutex_lock(&NSCacheMutex); - NSTopicLL * topics = NSProviderGetTopics(); + NSTopicLL * topics = NSProviderGetTopicsCacheData(regTopicList); if(!topics) { @@ -580,6 +577,9 @@ NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, cha { NSCacheTopicSubData * curr = (NSCacheTopicSubData *)iter->data; + NS_LOG_V(DEBUG, "curr->id = %s", curr->id); + NS_LOG_V(DEBUG, "curr->topicName = %s", curr->topicName); + if(curr && strcmp(curr->id, consumerId) == 0) { NSTopicLL * topicIter = topics; diff --git a/service/notification/src/provider/NSProviderMemoryCache.h b/service/notification/src/provider/NSProviderMemoryCache.h index 702c63a..830d50f 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.h +++ b/service/notification/src/provider/NSProviderMemoryCache.h @@ -44,7 +44,8 @@ NSResult NSProviderDeleteSubDataFromObId(NSCacheList * list, OCObservationId id) NSTopicLL * NSProviderGetTopicsCacheData(NSCacheList * regTopicList); -NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char *consumerId); +NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * regTopicList, + NSCacheList * conTopicList, char *consumerId); size_t NSProviderGetListSize(NSCacheElement * firstElement); diff --git a/service/notification/src/provider/NSProviderTopic.c b/service/notification/src/provider/NSProviderTopic.c index 947a15f..9ffca69 100644 --- a/service/notification/src/provider/NSProviderTopic.c +++ b/service/notification/src/provider/NSProviderTopic.c @@ -207,7 +207,7 @@ NSResult NSSendTopicList(OCEntityHandlerRequest * entityHandlerRequest) else { NS_LOG(DEBUG, "Send subscribed topic list to consumer"); - topics = NSProviderGetConsumerTopicsCacheData(consumerTopicList, id); + topics = NSProviderGetConsumerTopicsCacheData(registeredTopicList, consumerTopicList, id); currList = consumerTopicList->head; }