From acb57d4a74ade38f2015a2fa46d95c05c9e0bab4 Mon Sep 17 00:00:00 2001 From: "jaesick.shin" Date: Thu, 18 Aug 2016 11:40:46 +0900 Subject: [PATCH] NSTopics Sturct name change into NSTopicLL This patch included, 1. remove comment out for related provider in SConscript. 2. change NSTopics Sturct to NSTopicLL. 3. bug fixes for related topic logic. Change-Id: I848b7cf2f85f4b23b8cbd51485bc6a01e4e04b4f Signed-off-by: jaesick.shin Reviewed-on: https://gerrit.iotivity.org/gerrit/10571 Reviewed-by: Uze Choi Tested-by: Uze Choi --- service/notification/SConscript | 18 +++++----- .../examples/linux/notificationprovider.c | 38 ++++++++++++---------- .../src/provider/NSProviderInterface.c | 8 ++--- .../src/provider/NSProviderMemoryCache.c | 16 ++++----- .../src/provider/NSProviderMemoryCache.h | 4 +-- .../notification/src/provider/NSProviderTopic.c | 8 ++--- 6 files changed, 48 insertions(+), 44 deletions(-) diff --git a/service/notification/SConscript b/service/notification/SConscript index 7b3b447..2257be0 100755 --- a/service/notification/SConscript +++ b/service/notification/SConscript @@ -88,24 +88,24 @@ notification_provider_src = [ notification_consumer_src = [ env.Glob('src/consumer/*.c'), env.Glob('src/common/*.c')] -#providersdk = notification_env.SharedLibrary('notification_provider', notification_provider_src) -#notification_env.InstallTarget(providersdk, 'libnotification_provider') -#notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider') +providersdk = notification_env.SharedLibrary('notification_provider', notification_provider_src) +notification_env.InstallTarget(providersdk, 'libnotification_provider') +notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider') consumersdk = notification_env.SharedLibrary('notification_consumer', notification_consumer_src) notification_env.InstallTarget(consumersdk, 'libnotification_consumer') notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer') -#providersdk = notification_env.StaticLibrary('notification_provider', notification_provider_src) -#notification_env.InstallTarget(providersdk, 'libnotification_provider') -#notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider') +providersdk = notification_env.StaticLibrary('notification_provider', notification_provider_src) +notification_env.InstallTarget(providersdk, 'libnotification_provider') +notification_env.UserInstallTargetLib(providersdk, 'libnotification_provider') consumersdk = notification_env.StaticLibrary('notification_consumer', notification_consumer_src) notification_env.InstallTarget(consumersdk, 'libnotification_consumer') notification_env.UserInstallTargetLib(consumersdk, 'libnotification_consumer') -#notification_env.UserInstallTargetHeader('include/NSProviderInterface.h',\ -# 'service/notification', 'NSProviderInterface.h') +notification_env.UserInstallTargetHeader('include/NSProviderInterface.h',\ + 'service/notification', 'NSProviderInterface.h') notification_env.UserInstallTargetHeader('include/NSConsumerInterface.h',\ 'service/notification', 'NSConsumerInterface.h') @@ -114,7 +114,7 @@ notification_env.UserInstallTargetHeader('include/NSConsumerInterface.h',\ # SConscript('unittest/SConscript') # Go to build sample apps -#SConscript('examples/SConscript') +SConscript('examples/SConscript') # Go to build jni #if target_os == 'android': diff --git a/service/notification/examples/linux/notificationprovider.c b/service/notification/examples/linux/notificationprovider.c index 00487ce..e300564 100644 --- a/service/notification/examples/linux/notificationprovider.c +++ b/service/notification/examples/linux/notificationprovider.c @@ -36,7 +36,7 @@ // Input the following values to publish resource to cloud char REMOTE_SERVER_ADDRESS[50]; char REMOTE_SERVER_SESSION[50]; -char mainConsumer[37] = '\0'; +char mainConsumer[37] = {'\0',}; extern char *strdup(const char *s); @@ -119,7 +119,7 @@ FILE* server_fopen(const char *path, const char *mode) return fopen("oic_ns_provider_db.dat", mode); } -void printTopics(NSTopics * topics) +void printTopics(NSTopicLL * topics) { if(!topics) { @@ -127,7 +127,7 @@ void printTopics(NSTopics * topics) return; } - NSTopics * iter = topics; + NSTopicLL * iter = topics; while(iter) { @@ -136,7 +136,7 @@ void printTopics(NSTopics * topics) } } -void removeTopics(NSTopics * topics) +void removeTopics(NSTopicLL * topics) { if(!topics) { @@ -144,11 +144,11 @@ void removeTopics(NSTopics * topics) return; } - NSTopics * iter = topics; + NSTopicLL * iter = topics; while(iter) { - NSTopics * del = iter; + NSTopicLL * del = iter; if(del->topicName) { OICFree(del->topicName); @@ -278,29 +278,33 @@ int main() case 7: printf("NSProviderSelectTopic\n"); - NSProviderSelectTopic("OCF_TOPIC1"); - NSProviderSelectTopic("OCF_TOPIC2"); - NSProviderSelectTopic("OCF_TOPIC3"); - NSProviderSelectTopic("OCF_TOPIC4"); + NSProviderSelectTopic(mainConsumer, "OCF_TOPIC1"); + NSProviderSelectTopic(mainConsumer, "OCF_TOPIC2"); + NSProviderSelectTopic(mainConsumer, "OCF_TOPIC3"); + NSProviderSelectTopic(mainConsumer, "OCF_TOPIC4"); break; case 8: printf("NSProviderUnSelectTopic\n"); - NSProviderUnSelectTopic("OCF_TOPIC1"); + NSProviderUnselectTopic(mainConsumer, "OCF_TOPIC1"); break; case 9: printf("NSProviderGetConsumerTopics\n"); - NSTopics * topics = NSProviderGetConsumerTopics(mainConsumer); - printTopics(topics); - removeTopics(topics); + { + NSTopicLL * topics = NSProviderGetConsumerTopics(mainConsumer); + printTopics(topics); + removeTopics(topics); + } break; case 10: printf("NSProviderGetConsumerTopics\n"); - NSTopics * topics = NSProviderGetTopics(); - printTopics(topics); - removeTopics(topics); + { + NSTopicLL * topics = NSProviderGetTopics(); + printTopics(topics); + removeTopics(topics); + } break; case 11: diff --git a/service/notification/src/provider/NSProviderInterface.c b/service/notification/src/provider/NSProviderInterface.c index fe47040..e969238 100644 --- a/service/notification/src/provider/NSProviderInterface.c +++ b/service/notification/src/provider/NSProviderInterface.c @@ -240,7 +240,7 @@ NSMessage * NSCreateMessage() return msg; } -NSTopics * NSProviderGetConsumerTopics(char *consumerId) +NSTopicLL * NSProviderGetConsumerTopics(char *consumerId) { NS_LOG(DEBUG, "NSProviderGetConsumerTopics - IN"); pthread_mutex_lock(&nsInitMutex); @@ -252,18 +252,18 @@ NSTopics * NSProviderGetConsumerTopics(char *consumerId) return NS_FAIL; } - NSTopics * topics = NSProviderGetConsumerTopicsCacheData(consumerTopicList, consumerId); + NSTopicLL * topics = NSProviderGetConsumerTopicsCacheData(consumerTopicList, consumerId); pthread_mutex_unlock(&nsInitMutex); return topics; } -NSTopics * NSProviderGetTopics() +NSTopicLL * NSProviderGetTopics() { NS_LOG(DEBUG, "NSProviderGetTopics - IN"); pthread_mutex_lock(&nsInitMutex); - NSTopics * topics = NSProviderGetTopicsCacheData(registeredTopicList); + NSTopicLL * topics = NSProviderGetTopicsCacheData(registeredTopicList); pthread_mutex_unlock(&nsInitMutex); NS_LOG(DEBUG, "NSProviderGetTopics - OUT"); diff --git a/service/notification/src/provider/NSProviderMemoryCache.c b/service/notification/src/provider/NSProviderMemoryCache.c index 0771ec4..2f1df89 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.c +++ b/service/notification/src/provider/NSProviderMemoryCache.c @@ -505,7 +505,7 @@ NSResult NSStorageDelete(NSCacheList * list, const char * delId) return NS_FAIL; } -NSTopics * NSProviderGetTopicsCacheData(NSCacheList * regTopicList) +NSTopicLL * NSProviderGetTopicsCacheData(NSCacheList * regTopicList) { NS_LOG(DEBUG, "NSProviderGetTopicsCache - IN"); pthread_mutex_lock(&NSCacheMutex); @@ -518,15 +518,15 @@ NSTopics * NSProviderGetTopicsCacheData(NSCacheList * regTopicList) return NULL; } - NSTopics * iterTopic = NULL; - NSTopics * newTopic = NULL; - NSTopics * topics = NULL; + NSTopicLL * iterTopic = NULL; + NSTopicLL * newTopic = NULL; + NSTopicLL * topics = NULL; while (iter) { NSCacheTopicData * curr = (NSCacheTopicData *) iter->data; - newTopic = (NSTopics *) OICMalloc(sizeof(NSTopics)); + newTopic = (NSTopicLL *) OICMalloc(sizeof(NSTopicLL)); newTopic->state = curr->state; newTopic->next = NULL; newTopic->topicName = OICStrdup(curr->topicName); @@ -550,12 +550,12 @@ NSTopics * NSProviderGetTopicsCacheData(NSCacheList * regTopicList) return topics; } -NSTopics * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char *consumerId) +NSTopicLL * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char *consumerId) { NS_LOG(DEBUG, "NSProviderGetConsumerTopics - IN"); pthread_mutex_lock(&NSCacheMutex); - NSTopics * topics = NSProviderGetTopics(); + NSTopicLL * topics = NSProviderGetTopics(); if(!topics) { @@ -572,7 +572,7 @@ NSTopics * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char if(curr && strcmp(curr->id, consumerId) == 0) { - NSTopics * topicIter = topics; + NSTopicLL * topicIter = topics; while(topicIter) { if(strcmp(topicIter->topicName, curr->topicName) == 0) diff --git a/service/notification/src/provider/NSProviderMemoryCache.h b/service/notification/src/provider/NSProviderMemoryCache.h index f305160..a513fb4 100644 --- a/service/notification/src/provider/NSProviderMemoryCache.h +++ b/service/notification/src/provider/NSProviderMemoryCache.h @@ -42,9 +42,9 @@ NSResult NSCacheUpdateSubScriptionState(NSCacheList *, char *, bool); NSResult NSProviderDeleteSubDataFromObId(NSCacheList * list, OCObservationId id); -NSTopics * NSProviderGetTopicsCacheData(NSCacheList * regTopicList); +NSTopicLL * NSProviderGetTopicsCacheData(NSCacheList * regTopicList); -NSTopics * NSProviderGetConsumerTopicsCacheData(NSCacheList * conTopicList, char *consumerId); +NSTopicLL * NSProviderGetConsumerTopicsCacheData(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 ddae169..e54a97b 100644 --- a/service/notification/src/provider/NSProviderTopic.c +++ b/service/notification/src/provider/NSProviderTopic.c @@ -195,7 +195,7 @@ NSResult NSSendTopicList(OCEntityHandlerRequest * entityHandlerRequest) NS_LOG(DEBUG, "NSSendTopicList - IN"); char * id = NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_CONSUMER_ID); - NSTopics * topics = NULL; + NSTopicLL * topics = NULL; NSCacheElement * currList = NULL; if(!id) @@ -241,7 +241,7 @@ NSResult NSSendTopicList(OCEntityHandlerRequest * entityHandlerRequest) size_t dimensions[3] = {dimensionSize, 0, 0}; for (int i = 0; i < (int)dimensionSize; i++) { - NSTopics * topic = (NSTopics *) iter->data; + NSTopicLL * topic = (NSTopicLL *) iter->data; payloadTopicArray[i] = OCRepPayloadCreate(); OCRepPayloadSetPropString(payloadTopicArray[i], NS_ATTRIBUTE_TOPIC_NAME, topic->topicName); @@ -315,11 +315,11 @@ NSResult NSPostConsumerTopics(OCEntityHandlerRequest * entityHandlerRequest) NSCacheTopicSubData * topicSubData = (NSCacheTopicSubData *) OICMalloc(sizeof(NSCacheTopicSubData)); - OICStrcpy(topicSubData->id, consumerId, NS_UUID_STRING_SIZE); + OICStrcpy(topicSubData->id, NS_UUID_STRING_SIZE, consumerId); topicSubData->topicName = OICStrdup(topicName); NSCacheElement * newObj = (NSCacheElement *) OICMalloc(sizeof(NSCacheElement)); - newObj->data = topicSubData; + newObj->data = (NSCacheData *) topicSubData; newObj->next = NULL; NSStorageWrite(consumerTopicList, newObj); } -- 2.7.4