From: jaesick.shin Date: Tue, 23 Aug 2016 05:44:00 +0000 (+0900) Subject: Remove not required function. X-Git-Tag: 1.2.0+RC1~52^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ee61e2871763ec0644f1cd3daed1cc9017343e95;p=platform%2Fupstream%2Fiotivity.git Remove not required function. this patch included remove not required function in NSProviderMemoryCache. and refactoring code about related NSStorageDelete function. Change-Id: Iee2e6bbfb149a4cf3d1a0908974d0c752e54be0b Signed-off-by: jaesick.shin Reviewed-on: https://gerrit.iotivity.org/gerrit/10765 Tested-by: jenkins-iotivity Reviewed-by: Uze Choi --- diff --git a/service/notification/src/common/NSConstants.h b/service/notification/src/common/NSConstants.h index 8372d45..d05a5e5 100644 --- a/service/notification/src/common/NSConstants.h +++ b/service/notification/src/common/NSConstants.h @@ -263,6 +263,7 @@ typedef enum eCacheType NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME = 1002, NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID = 1003, NS_PROVIDER_CACHE_REGISTER_TOPIC = 1004, + NS_PROVIDER_CACHE_SUBSCRIBER_OBSERVE_ID = 1005, NS_CONSUMER_CACHE_PROVIDER = 2000, NS_CONSUMER_CACHE_MESSAGE = 2001, diff --git a/service/notification/src/provider/NSProviderMemoryCache.c b/service/notification/src/provider/NSProviderMemoryCache.c index 1f79fd5..f028fff 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.c +++ b/service/notification/src/provider/NSProviderMemoryCache.c @@ -268,6 +268,18 @@ NSResult NSStorageDestroy(NSCacheList * list) return NS_OK; } + +bool NSIsSameObId(NSCacheSubData * data, OCObservationId id) +{ + if (id == data->messageObId || id == data->syncObId || id == data->remote_messageObId || + id == data->remote_syncObId) + { + return true; + } + + return false; +} + bool NSProviderCompareIdCacheData(NSCacheType type, void * data, const char * id) { NS_LOG(DEBUG, "NSProviderCompareIdCacheData - IN"); @@ -294,6 +306,23 @@ bool NSProviderCompareIdCacheData(NSCacheType type, void * data, const char * id NS_LOG(DEBUG, "Message Data is Not Same"); return false; } + else if (type == NS_PROVIDER_CACHE_SUBSCRIBER_OBSERVE_ID) + { + NSCacheSubData * subData = (NSCacheSubData *) data; + + NS_LOG_V(DEBUG, "Data(subData) = [%s]", subData->id); + + OCObservationId currID = *id; + + if (NSIsSameObId(subData, currID)) + { + NS_LOG(DEBUG, "SubData is Same"); + return true; + } + + NS_LOG(DEBUG, "Message Data is Not Same"); + return false; + } else if (type == NS_PROVIDER_CACHE_REGISTER_TOPIC) { NSCacheTopicData * topicData = (NSCacheTopicData *) data; @@ -352,7 +381,7 @@ NSResult NSProviderDeleteCacheData(NSCacheType type, void * data) return NS_ERROR; } - if (type == NS_PROVIDER_CACHE_SUBSCRIBER) + if (type == NS_PROVIDER_CACHE_SUBSCRIBER || type == NS_PROVIDER_CACHE_SUBSCRIBER_OBSERVE_ID) { NSCacheSubData * subData = (NSCacheSubData *) data; @@ -379,83 +408,6 @@ NSResult NSProviderDeleteCacheData(NSCacheType type, void * data) return NS_OK; } -bool NSIsSameObId(NSCacheSubData * data, OCObservationId id) -{ - if (id == data->messageObId || id == data->syncObId || id == data->remote_messageObId || - id == data->remote_syncObId) - { - return true; - } - - return false; -} - -NSResult NSProviderDeleteSubDataFromObId(NSCacheList * list, OCObservationId id) -{ - if(!list || !list->head) - { - NS_LOG(INFO, "list is NULL"); - return NS_FAIL; - } - - pthread_mutex_lock(&NSCacheMutex); - NSCacheElement * prev = list->head; - NSCacheElement * del = list->head; - - NSCacheType type = list->cacheType; - - bool isDelete = true; - - while(isDelete) - { - NSCacheSubData * curr = (NSCacheSubData *)del->data; - - isDelete = false; - - if (NSIsSameObId(curr, id)) - { - if (del == list->head) // first object - { - if (del == list->tail) // first object (one object) - { - list->tail = del->next; - } - - list->head = del->next; - - NSProviderDeleteCacheData(type, del->data); - OICFree(del); - isDelete = true; - } - } - else - { - del = del->next; - while (del) - { - if (NSIsSameObId(curr, id)) - { - if (del == list->tail) // delete object same to last object - { - list->tail = prev; - } - - prev->next = del->next; - NSProviderDeleteCacheData(type, del->data); - OICFree(del); - isDelete = true; - break; - } - - prev = del; - del = del->next; - } - } - } - pthread_mutex_unlock(&NSCacheMutex); - return NS_OK; -} - NSResult NSStorageDelete(NSCacheList * list, const char * delId) { pthread_mutex_lock(&NSCacheMutex); diff --git a/service/notification/src/provider/NSProviderSubscription.c b/service/notification/src/provider/NSProviderSubscription.c index 29f2223..17a0f3b 100644 --- a/service/notification/src/provider/NSProviderSubscription.c +++ b/service/notification/src/provider/NSProviderSubscription.c @@ -229,7 +229,11 @@ void NSHandleUnsubscription(OCEntityHandlerRequest *entityHandlerRequest) { NS_LOG(DEBUG, "NSHandleUnsubscription - IN"); - NSProviderDeleteSubDataFromObId(consumerSubList, entityHandlerRequest->obsInfo.obsId); + consumerSubList->cacheType = NS_PROVIDER_CACHE_SUBSCRIBER_OBSERVE_ID; + + while(NSStorageDelete(consumerSubList, (unsigned char *) + &(entityHandlerRequest->obsInfo.obsId)) != NS_FAIL); + consumerSubList->cacheType = NS_PROVIDER_CACHE_SUBSCRIBER; NSFreeOCEntityHandlerRequest(entityHandlerRequest);