Add macro about registered topic data.
authorjaesick.shin <jaesick.shin@samsung.com>
Thu, 20 Oct 2016 05:39:33 +0000 (14:39 +0900)
committerUze Choi <uzchoi@samsung.com>
Tue, 25 Oct 2016 04:33:06 +0000 (04:33 +0000)
This patch include,
It added a macro to delete the data that was registered topic.

Change-Id: Ie83b23b7276bb5aaf07388c0faba34b47bce7f16
Signed-off-by: jaesick.shin <jaesick.shin@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/13479
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
service/notification/src/provider/NSProviderMemoryCache.c

index bcc0bfb..490fa62 100644 (file)
 #include "NSProviderMemoryCache.h"\r
 #include <string.h>\r
 \r
+#define NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj) \\r
+    { \\r
+        if (it) \\r
+        { \\r
+            NS_LOG(DEBUG, "already registered for topic name"); \\r
+            OICFree(topicData->topicName); \\r
+            OICFree(topicData); \\r
+            OICFree(newObj); \\r
+            pthread_mutex_unlock(&NSCacheMutex); \\r
+            return NS_FAIL; \\r
+        } \\r
+    }\r
+\r
 NSCacheList * NSProviderStorageCreate()\r
 {\r
     pthread_mutex_lock(&NSCacheMutex);\r
@@ -201,15 +214,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj)
         NSCacheTopicData * topicData = (NSCacheTopicData *) newObj->data;\r
         NSCacheElement * it = NSProviderStorageRead(list, topicData->topicName);\r
 \r
-        if (it)\r
-        {\r
-            NS_LOG(DEBUG, "already registered for topic name");\r
-            OICFree(topicData->topicName);\r
-            OICFree(topicData);\r
-            OICFree(newObj);\r
-            pthread_mutex_unlock(&NSCacheMutex);\r
-            return NS_FAIL;\r
-        }\r
+        NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj);\r
     }\r
     else if(type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_NAME)\r
     {\r
@@ -218,15 +223,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj)
         NSCacheTopicSubData * topicData = (NSCacheTopicSubData *) newObj->data;\r
         NSCacheElement * it = NSProviderStorageRead(list, topicData->topicName);\r
 \r
-        if (it)\r
-        {\r
-            NS_LOG(DEBUG, "already registered for topic name");\r
-            OICFree(topicData->topicName);\r
-            OICFree(topicData);\r
-            OICFree(newObj);\r
-            pthread_mutex_unlock(&NSCacheMutex);\r
-            return NS_FAIL;\r
-        }\r
+        NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj);\r
     }\r
     else if(type == NS_PROVIDER_CACHE_CONSUMER_TOPIC_CID)\r
     {\r
@@ -235,15 +232,7 @@ NSResult NSProviderStorageWrite(NSCacheList * list, NSCacheElement * newObj)
         NSCacheTopicSubData * topicData = (NSCacheTopicSubData *) newObj->data;\r
         NSCacheElement * it = NSProviderStorageRead(list, topicData->id);\r
 \r
-        if (it)\r
-        {\r
-            NS_LOG(DEBUG, "already registered for topic name");\r
-            OICFree(topicData->topicName);\r
-            OICFree(topicData);\r
-            OICFree(newObj);\r
-            pthread_mutex_unlock(&NSCacheMutex);\r
-            return NS_FAIL;\r
-        }\r
+        NS_PROVIDER_DELETE_REGISTERED_TOPIC_DATA(it, topicData, newObj);\r
     }\r
 \r
     if (list->head == NULL)\r
@@ -278,7 +267,6 @@ NSResult NSProviderStorageDestroy(NSCacheList * list)
     return NS_OK;\r
 }\r
 \r
-\r
 bool NSIsSameObId(NSCacheSubData * data, OCObservationId id)\r
 {\r
     if (id == data->messageObId || id == data->syncObId || id == data->remote_messageObId ||\r