From 2284a666e882a23cbfce4dde5095cd921590be84 Mon Sep 17 00:00:00 2001 From: "jaesick.shin" Date: Thu, 20 Oct 2016 14:39:33 +0900 Subject: [PATCH] Add macro about registered topic data. This patch include, It added a macro to delete the data that was registered topic. Change-Id: Ie83b23b7276bb5aaf07388c0faba34b47bce7f16 Signed-off-by: jaesick.shin Reviewed-on: https://gerrit.iotivity.org/gerrit/13479 Tested-by: jenkins-iotivity Reviewed-by: Uze Choi --- .../src/provider/NSProviderMemoryCache.c | 44 ++++++++-------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/service/notification/src/provider/NSProviderMemoryCache.c b/service/notification/src/provider/NSProviderMemoryCache.c index bcc0bfb..490fa62 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.c +++ b/service/notification/src/provider/NSProviderMemoryCache.c @@ -21,6 +21,19 @@ #include "NSProviderMemoryCache.h" #include +#define NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj) \ + { \ + if (it) \ + { \ + NS_LOG(DEBUG, "already registered for topic name"); \ + OICFree(topicData->topicName); \ + OICFree(topicData); \ + OICFree(newObj); \ + pthread_mutex_unlock(&NSCacheMutex); \ + return NS_FAIL; \ + } \ + } + NSCacheList * NSProviderStorageCreate() { pthread_mutex_lock(&NSCacheMutex); @@ -201,15 +214,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj) NSCacheTopicData * topicData = (NSCacheTopicData *) newObj->data; NSCacheElement * it = NSProviderStorageRead(list, topicData->topicName); - if (it) - { - NS_LOG(DEBUG, "already registered for topic name"); - OICFree(topicData->topicName); - OICFree(topicData); - OICFree(newObj); - pthread_mutex_unlock(&NSCacheMutex); - return NS_FAIL; - } + NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj); } else if(type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME) { @@ -218,15 +223,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj) NSCacheTopicSubData * topicData = (NSCacheTopicSubData *) newObj->data; NSCacheElement * it = NSProviderStorageRead(list, topicData->topicName); - if (it) - { - NS_LOG(DEBUG, "already registered for topic name"); - OICFree(topicData->topicName); - OICFree(topicData); - OICFree(newObj); - pthread_mutex_unlock(&NSCacheMutex); - return NS_FAIL; - } + NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj); } else if(type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID) { @@ -235,15 +232,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj) NSCacheTopicSubData * topicData = (NSCacheTopicSubData *) newObj->data; NSCacheElement * it = NSProviderStorageRead(list, topicData->id); - if (it) - { - NS_LOG(DEBUG, "already registered for topic name"); - OICFree(topicData->topicName); - OICFree(topicData); - OICFree(newObj); - pthread_mutex_unlock(&NSCacheMutex); - return NS_FAIL; - } + NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj); } if (list->head == NULL) @@ -278,7 +267,6 @@ NSResult NSProviderStorageDestroy(NSCacheList * list) return NS_OK; } - bool NSIsSameObId(NSCacheSubData * data, OCObservationId id) { if (id == data->messageObId || id == data->syncObId || id == data->remote_messageObId || -- 2.7.4